Nesta atividade, os alunos deverão desenvolver um sistema completo que simula um ambiente de automação industrial, utilizando a linguagem Python para toda a lógica do sistema e o MySQL Workbench 8.0 para a criação e gerenciamento do banco de dados.
O sistema será responsável por monitorar máquinas, sensores e leituras de temperatura, armazenando informações e classificando automaticamente situações de risco.
Atualmente:
- Os dados são anotados manualmente
- Não há histórico estruturado
- Não existe análise de qualidade
A empresa quer um sistema que:
- Registre dados automaticamente
- Armazene em banco de dados
- Gere histórico
- Permita análise simples
Desenvolver um sistema capaz de:
- Cadastrar máquinas, sensores e operadores
- Registrar leituras de sensores (simulação)
- Armazenar dados em banco relacional (MySQL)
- Salvar dados complementares em JSON
- Gerar alertas automáticos com base nas leituras
- Organizar e estruturar informações como um sistema real
- 🐍 Python (toda lógica do sistema)
- 🗄️ MySQL Workbench 8.0 (banco de dados)
- 📁 JSON (armazenamento complementar)
- 🌐 GitHub (versionamento e entrega)
Todos os grupos deverão criar exatamente 6 tabelas, conforme definido abaixo:
- maquinas
- sensores
- operadores
- leituras
- alertas
- manutencoes
- sensores → relacionados a maquinas
- leituras → relacionadas a sensores
- alertas → relacionados a leituras
- manutencoes → relacionadas a maquinas e operadores
- Todas as tabelas devem possuir PRIMARY KEY
- Deve haver uso de FOREIGN KEY
- O banco deve funcionar sem erros
O sistema deverá possuir um menu interativo em Python contendo no mínimo:
- Cadastrar máquinas
- Cadastrar sensores
- Cadastrar operadores
- Registrar leituras de sensores (valores simulados)
- Armazenar data e hora automaticamente
- Salvar dados no banco MySQL
- Salvar dados em arquivo JSON
- Listar máquinas
- Listar sensores
- Listar leituras
O sistema deve classificar automaticamente:
- Até 70°C → NORMAL
- 71°C a 90°C → ALERTA
- Acima de 90°C → CRÍTICO
Deve registrar essas informações na tabela alertas
O sistema deve seguir o fluxo:
Entrada → Processamento → Armazenamento → Saída
Os alunos devem demonstrar entendimento desse fluxo na documentação.
Cada grupo deverá entregar um documento contendo:
- Contexto do projeto
- O que o sistema resolve
- Quantidade de tabelas: 6 (obrigatório)
- Nome e função de cada tabela
- Relacionamentos
- Explicação do fluxo
- Explicação das principais funções
- Prints do sistema
- Prints do banco
- Cada um do grupo deve criar um repositório no GitHub
- Subir todos os arquivos do projeto
/Projeto-Automacao
│── /codigo
│── /banco
│── /dados_json
│── /documentacao
│── README.md
- Link do repositório
- Repositório deve estar acessível
- A atividade será realizada em grupo
- Todos devem participar do desenvolvimento
- Todos os integrantes devem entregar individualmente
| Critério | Pontos |
|---|---|
| Funcionamento do sistema | 2 |
| Banco de dados (6 tabelas) | 2 |
| Relacionamentos corretos | 2 |
| Integração Python + MySQL | 1 |
| Uso de JSON | 1 |
| Documentação | 1 |
| Organização do projeto | 1 |
- Não utilizar Python como base do sistema
- Banco com menos ou mais de 6 tabelas
- Falta de relacionamento entre tabelas
- Não utilizar MySQL
- Não entregar no GitHub
- Falta de documentação