Lição 5: Sistema Inteligente de Monitoramento de Estufa com IoT

Procurando um projeto educacional de IoT que vá além do básico do micro:bit? O projeto UNIHIKER K10 Smart Greenhouse é o próximo passo perfeito para alunos do 7º ao 12º ano. Combinando integração de sensores, comunicação MQTT e controle via web, este projeto prático reúne conceitos essenciais de STEM - IoT, IA e ciência ambiental - em uma única experiência de aprendizagem envolvente. Totalmente alinhado com padrões globais de computação como CSTA K-12, UK KS3 e EU DigComp 2.2, este projeto capacita os estudantes a construir um sistema real de agricultura inteligente utilizando ferramentas modernas de edge computing.

 

 

Objetivos

1. Coletar dados de terminais inteligentes e transmiti-los para a plataforma SIoT.

2. Permitir o monitoramento e controle remoto de dados através de múltiplos dispositivos móveis.

 

 

Conhecimentos Fundamentais

1. Aprender a construir sistemas IoT.

2. Projetar funções de feedback interativas para sistemas.

3. Dominar a implementação de controle remoto em IoT.

4. Compreender plataformas de visualização de dados IoT.

 

Lista de Materiais

Hardware:

 

 

HARDWARE LIST
2 UNIHIKER K10
2 Cabo USB-C
1 Servomotor
1 Sensor de Umidade do Solo
1 Cabo PH2.0-3P NFC

 

Software:

Software de Programação Gráfica Mind+ (Versão mínima requerida: V1.8.1 RC1.0)

 

 

Uso Básico do Software Mind+

1. Abra o Mind+ e alterne para o modo offline.

 

 

2. Carregar o UNIHIKER K10

Com base nas etapas anteriores, clique em "Extensão", localize o módulo "UNIHIKER K10" em "Placa" e clique para adicioná-lo. Após clicar em "Voltar", você encontrará o UNIHIKER K10 na "Área de Comandos", completando assim o carregamento do dispositivo

 

 

3. Conectar o UNIHIKER K10

Primeiramente, é necessário utilizar um cabo USB para conectar o UNIHIKER K10 ao computador.

 

 

Em seguida, após clicar em "Conectar Dispositivo", selecione "COM-UNIHIKER K10" para estabelecer a conexão.

 

 

Observação: O nome do dispositivo pode variar entre diferentes unidades UNIHIKER K10, mas todos terminam com K10.

No Windows 10/11, o UNIHIKER K10 não requer instalação de drivers. Entretanto, para o Windows 7, é necessária a instalação manual do driver: https://www.unihiker.com/wiki/K10/faq/#high-frequency-problem

 

Prática Hands-on

Vamos começar as tarefas da lição de hoje! Iniciaremos aprendendo a ler temperatura e umidade usando o UNIHIKER K10 e, gradualmente, avançaremos para projetar um sistema inteligente de estufa nele.

 

Tarefa 1: Coleta e Transmissão de Dados

Nesta tarefa, usaremos o UNIHIKER K10 para coletar dados, incluindo temperatura, umidade, umidade do solo e intensidade luminosa ambiente, e transmitir esses dados para a plataforma SIoT.

 

Tarefa 2: Monitoramento e Controle Remoto

Nesta tarefa, permitiremos que múltiplos dispositivos móveis atuem como terminais remotos para monitorar dados e controlar remotamente o acionamento da cobertura da estufa no terminal inteligente.

 

Tarefa 3: Design do Painel de Visualização de Dados IoT

Nesta tarefa, focaremos no design de um painel de visualização de dados, permitindo atualizações em tempo real dos dados da plataforma SIoT na tela, juntamente com um aprimoramento adequado da interface.

 

Tarefa 1: Coleta e Transmissão de Dados

Nesta tarefa, utilizaremos a placa UNIHIKER K10 como terminal inteligente para uma estufa, coletando dados relevantes como temperatura, umidade, intensidade luminosa e umidade do solo. Os três primeiros parâmetros podem ser lidos diretamente pelos sensores integrados da placa K10, enquanto a umidade do solo requer um sensor externo conectado à placa.

 

1. Configuração de Hardware

Verifique se a UNIHIKER K10 está conectada ao computador via cabo USB. 

 

2. Preparação do Software

Certifique-se de que o Mind+ está aberto, com o código pré-definido exibido no modo gráfico Python, e que a UNIHIKER K10 foi carregada com sucesso. Agora você pode começar a escrever o programa do projeto.

 

3. Programação

PASSO 1: Leitura dos Dados da Estufa

A placa UNIHIKER K10 possui sensores integrados de temperatura, umidade e luz ambiente. Para coletar dados de temperatura (°C), umidade (%UR) e intensidade luminosa, utilize os respectivos comandos de sensores integrados:

Na placa UNIHIKER K10, com sensores internos de temperatura/umidade e luz ambiente, a leitura desses parâmetros não requer sensores adicionais. Basta usar os comandos "ler temperatura", "ler umidade" e "ler luz" na seção Onboard Sensors para obter os dados correspondentes, conforme ilustrado abaixo.

 

 

Para ler a umidade do solo, precisamos conectar um sensor externo de umidade do solo no pino P1, conforme ilustrado abaixo.

 

 

Em seguida, precisamos ler o valor da umidade do solo. O sensor de umidade do solo fornece um sinal analógico que varia entre 0 e 4095, enquanto no cotidiano a umidade é normalmente apresentada em porcentagem. Portanto, precisamos usar a função de mapeamento para processar esse valor, exibindo a umidade do solo em uma escala de 0 a 100.

Devemos utilizar o comando "mapear () de [0, 4096] para [0, 10000]", arredondar o resultado do mapeamento e então dividir por 100 para obter o valor entre [0,100]. Os comandos de programação relevantes são os seguintes.

 

 

Observação: Após coletar os dados, crie variáveis correspondentes para armazenar os valores. Utilize comandos como os mostrados no diagrama para implementar esta etapa.

 

 

Por fim, para exibir os dados da estufa em nosso terminal inteligente, primeiro carregamos a imagem de fundo e depois apresentamos os dados das variáveis correspondentes. Os comandos específicos para esta operação são mostrados na figura a seguir.

 

 

Passo 2: Conexão de Rede

Para habilitar a transmissão de dados, primeiro precisamos estabelecer uma conexão de rede. Utilize seu computador como servidor para configurar o sistema IoT, garantindo que todos os dispositivos estejam na mesma rede. Isso nos permite enviar e assinar mensagens usando o protocolo MQTT.

 

 

Observação: Para mais informações sobre o protocolo MQTT e componentes IoT, consulte o Centro de Conhecimentos.

 

Adicione os módulos de comunicação MQTT e Wi-Fi da biblioteca de extensões. Consulte o diagrama para os comando

 

 

Precisamos configurar a conexão Wi-Fi para o terminal UNIHIKER K10 utilizando o comando "Wi-Fi conectar à conta:() senha:()". Certifique-se de que a rede Wi-Fi conectada ao K10 seja a mesma utilizada pelo seu computador. Os comandos de exemplo são mostrados abaixo:

 

 

Em nosso computador, precisamos baixar a versão Windows do SIoT_V2, extrair os arquivos e executar o arquivo start_SIoT.bat para iniciar o SIoT. Após o início, uma janela preta será exibida para inicialização do servidor.

 

 

Observação: Para detalhes sobre o download do SIoT_V2, consulte: https://drive.google.com/file/d/1qVhyUmvdmpD2AYl-2Cijl-2xeJgduJLL/view?usp=drive_link

 

Após iniciar o SIoT.bat no computador, inicialize os parâmetros para MQTT: defina o endereço IP como o IP local do computador, o nome de usuário como SIoT e a senha como dfrobot. Uma vez conectado, limpe o conteúdo na tela do UNIHIKER K10. Crie uma função chamada "Conexão de Rede" para lidar com a conexão Wi-Fi e inicialização do MQTT. Consulte os comandos detalhados mostrados na imagem abaixo.

 

 

Após a conexão MQTT ser estabelecida com sucesso, acesse 192.168.0.159:8080 em um navegador web no seu computador. Insira o nome de usuário SIoT e senha dfrobot para fazer login na plataforma IoT SIoT.

 

 

Passo 3: Criar Tópicos e Transferir Dados

Após acessar a plataforma SIoT, clique em "Tópico" para criar quatro tópicos: "Temperatura", "Umidade", "Intensidade Luminosa Ambiente" e "Umidade do Solo". Consulte as operações mostradas na imagem abaixo.

 

 

Em seguida, utilize o comando "MQTT enviar mensagem para a plataforma de nuvem e salvar no banco de dados" para transmitir os dados da estufa para os tópicos correspondentes. Ao inserir os tópicos, clique duas vezes para copiá-los diretamente do navegador e evitar erros de digitação.

 

 

O código completo para o módulo de coleta e transmissão de dados é mostrado abaixo.

 

 

4. Executar o Programa

Passo 1: Verifique se o UNIHIKER K10 está conectado ao Mind+ e confirme que o endereço IP está sendo exibido na seção "Menu".

 

 

Passo 2: Clique no botão "Enviar" localizado no canto superior direito da interface.

 

 

PASSO 3: Após executar o programa, os parâmetros relevantes serão exibidos na tela do UNIHIKER K10. Ao mesmo tempo, na plataforma SIoT, será possível ver que os dados estão sendo transmitidos continuamente.

 

Tarefa 2: Monitoramento e Controle Remoto

1. Adicionar uma Cobertura Retrátil

Uma cobertura retrátil é comumente utilizada em estufas para proteção das plantas. Para simular esse mecanismo, conectamos um servo motor ao pino P0, conforme ilustrado na figura abaixo.

 

 

O servo motor possui rotação entre 0° e 180°. Quando a cobertura está aberta, o ângulo do servo motor é 90°; quando fechada, o ângulo é 0°.

 

2. Programação

Passo 1: Adicionar Comandos de Recebimento Primeiro, adicione os tópicos "Interruptor da Cobertura" e "Ângulo da Cobertura" na plataforma SIoT. Em seguida, envie mensagens específicas a partir do terminal móvel. Se o terminal inteligente estiver inscrito nesses tópicos, ele receberá as mensagens e responderá de acordo.

 

 

Utilize o comando "Assinar tópico MQTT" e copie/cole os tópicos correspondentes para assinar dois tópicos. A operação é mostrada abaixo:

 

 

Em seguida, use o comando "Quando receber no tópico" para permitir que o terminal inteligente aceite mensagens dos tópicos da plataforma SIoT e defina a ação correspondente do servo motor com base na mensagem. As operações são as seguintes:

 

 

Observação: Adicione aspas duplas após o texto de condição para mensagens MQTT. Além disso, as mensagens MQTT são strings, enquanto os comandos do servo motor requerem inteiros. Portanto, a mensagem MQTT precisa ser convertida para o tipo inteiro.

 

Isso conclui a programação para recebimento de comandos. Os comandos completos do programa para o terminal inteligente de estufa são mostrados abaixo:

 

 

Passo 2: Utilizar Dispositivos Móveis para Monitoramento e Controle Remoto

Você pode usar um computador, telefone ou outros dispositivos móveis para visualizar e controlar remotamente os dados da estufa. Certifique-se de que todos os dispositivos estejam na mesma rede.

Em seguida, acesse a porta 8080 do computador que executa o serviço SIoT. Por exemplo, se o endereço IP do computador for 192.168.31.147, insira 192.168.31.147:8080 no navegador do dispositivo móvel. Utilize o nome de usuário SIoT e senha dfrobot para fazer login.

 

 

Após o login, você pode clicar em "Detalhes" para visualizar os dados dos sensores correspondentes ou enviar comandos para controlar o terminal. A demonstração é mostrada abaixo:

 

 

Isso conclui o processo de uso de um computador para visualização remota de dados e controle do terminal inteligente. Os mesmos passos se aplicam a telefones, tablets ou outros dispositivos móveis.

 

Passo 3: Utilizar outro UNIHIKER K10 como terminal móvel

Além de usar dispositivos móveis como smartphones e computadores para monitorar e controlar o sistema remotamente, também podemos utilizar outro UNIHIKER K10 como terminal móvel para esse propósito.

 

Passo 1: Devemos estabelecer a conexão de rede. As configurações de conexão Wi-Fi e MQTT são idênticas às operações demonstradas na seção do terminal inteligente. É crucial observar que o endereço IP deve corresponder ao do computador que hospeda o serviço SIoT. Após a conexão ser estabelecida, precisamos assinar os tópicos "Temperatura", "Umidade", "Interruptor da Cobertura", "Ângulo da Cobertura" e "Umidade do Solo". Os comandos de programação relacionados são exibidos a seguir.

 

 

Passo 2: Precisamos receber mensagens dos diferentes tópicos e atribuí-las às variáveis correspondentes. O código do programa relacionado é mostrado abaixo.

 

 

Passo 3: Devemos exibir os dados da estufa em tempo real e apresentar imagens diferentes conforme o estado da cobertura retrátil. As configurações do programa relacionadas são mostradas abaixo.

 

 

Por último, configure as condições de controle. Usamos o botão A do UNIHIKER K10 para controlar a abertura e o fechamento do toldo. Quando o botão A é pressionado, se o toldo estiver fechado, ele muda para a posição aberta, com um ângulo de 30°; se estiver aberto, ele muda para a posição fechada, com um ângulo de 0°. As instruções do programa relacionadas são mostradas na figura abaixo:

 

 

O código completo para o terminal móvel é apresentado abaixo.
 

 

3. Executar o Programa

PASSO 1: Conecte o UNIHIKER K10

PASSO 2: Clique no botão "Enviar" no canto superior direito da interface.

PASSO 3: Na interface do UNIHIKER K10 do terminal móvel, você poderá visualizar os dados da estufa em tempo real. Adicionalmente, ao pressionar o botão A, o estado da cobertura retrátil será alterado, e o terminal inteligente responderá de acordo com os comandos.

 

 

Tarefa 3: Projeto de Painel de Visualização de Dados IoT

A partir da versão 1.8.0, o Mind+ inclui um painel de visualização de dados que exibe informações IoT de forma intuitiva (atualmente compatível apenas com SIoT V2).

 

 

1. Conexão Completa

PASSO 1: Abrir o Painel de Visualização Clique no botão "Abrir Painel de Visualização" no canto superior esquerdo do Mind+ para acessar o painel, conforme ilustrado abaixo.

 

 

PASSO 2: Criar um Novo Projeto

No painel de visualização, clique em "Criar Novo Projeto", insira um nome e confirme para gerar o projeto de visualização.

 

 

PASSO 3: Conectar à Rede

Após criar o projeto, configure a fonte de dados e preencha o endereço do servidor para completar a conexão.

 

 

O painel de visualização é composto por múltiplas áreas, conforme demonstrado na imagem abaixo.

 

 

2. Design de Interface

 

 

A seguir, explicaremos como utilizar cada componente.

 

PASSO 1: Texto do Título

Na seção de componentes decorativos, localize o componente de texto, adicione-o e altere as propriedades relevantes na coluna direita para personalizar o título, conforme ilustrado abaixo.

 

 

PASSO 2: Exibição de Dados

Na seção de componentes de exibição, encontre o componente de texto com imagem, utilizado para mostrar os dados atuais dos sensores. É necessário vincular este componente ao tópico SIoT correspondente. Adicionalmente, você pode configurar o título, descrição do componente e imagem do componente, como demonstrado abaixo.

 

 

PASSO 3: Gráficos

Adicione o "Componente de Gráfico" para exibir dados históricos dos sensores e analisar padrões. Este componente também deve ser vinculado a um tópico SIoT, conforme demonstrado abaixo.

 

 

PASSO 4: Interruptores

Adicione os componentes "Interruptor" e "Interruptor Personalizado". Ambos os tipos de interruptores podem receber e enviar mensagens de tópicos.

No painel de visualização, configuramos dois tipos de interruptores para a cobertura retrátil: o componente de interruptor personalizado e o componente de interruptor padrão.

O interruptor personalizado pode ser vinculado a um tópico e ter imagens configuradas. Quando a imagem é clicada, o estado da imagem será alternado e uma mensagem correspondente será enviada. O interruptor padrão também pode ser vinculado a um tópico e, quando pressionado, o estilo será alterado e uma mensagem será enviada ao tópico associado.

 

 

A seguir, um exemplo de como utilizar o componente de interruptor personalizado:

 

 

As configurações do componente interruptor podem ser consultadas nas configurações do interruptor personalizado.

 

PASSO 5: Controle Deslizante

Na seção de componentes básicos, localize o controle deslizante. Você pode definir o título, valor mínimo, valor máximo e tamanho do incremento, além de vinculá-lo ao tópico relevante. Isso enviará dados para o tópico correspondente e o terminal inteligente responderá de acordo.

 

 

Agora você pode utilizar os componentes que aprendeu para projetar seu próprio painel inteligente de estufa!

 

 

Centro de Conhecimento

1. Componentes IoT

A Internet das Coisas (IoT) é uma rede que conecta todos os objetos por meio de sensores e dispositivos de informação, permitindo reconhecimento inteligente, posicionamento, rastreamento, monitoramento e gerenciamento. Os componentes de um sistema IoT são mostrados abaixo:

 

 

Terminal Inteligente

Em um sistema IoT, dispositivos inteligentes que conectam sensores externos ou atuadores são chamados de terminais inteligentes, como o UNIHIKER K10 ou Arduino. Esses dispositivos são usados para capturar dados de sensores ou fornecer feedback a atuadores. Nesta lição, utilizamos o UNIHIKER K10 como terminal inteligente para a estufa.

 

 

Servidor

O servidor é um computador que fornece serviços de processamento e gerencia recursos computacionais, incluindo hardware e software. Geralmente, os servidores possuem capacidade para responder a solicitações de serviço, executar serviços e garantir sua segurança.

Nesta lição, utilizamos a plataforma SIoT no computador local como nosso servidor.

 

 

Plataforma IoT

A plataforma IoT recebe dados e controla dispositivos no sistema IoT. Nesta lição, utilizamos a plataforma SIoT para receber e enviar dados.

 

 

Terminal Móvel

Em um sistema IoT, o terminal móvel refere-se a dispositivos usados para acessar remotamente a plataforma IoT. Esses terminais permitem que os usuários visualizem dados IoT ou enviem comandos de controle. Nesta lição, além de utilizar o UNIHIKER K10 como terminal móvel, smartphones e computadores também podem ser usados.

 

2. Protocolo de Comunicação MQTT

Atualmente, o protocolo de comunicação mais utilizado é o MQTT. O MQTT é um protocolo de publicação/assinatura de mensagens baseado no modelo cliente-servidor.

O servidor é geralmente chamado de "Broker", e os clientes podem ser publicadores ou assinantes. O lado de controle (publicador) e o lado controlado (assinante) não se comunicam diretamente. Em vez disso, eles se comunicam por meio do broker, e desde que publiquem ou assinem o mesmo tópico (TopicID), podem trocar informações.

 

 

Nesta estufa inteligente, utilizamos um UNIHIKER K10 como terminal inteligente para coletar dados da estufa e enviá-los ao servidor. Outro UNIHIKER K10 atua como terminal móvel, assinando tópicos para receber os dados. Caso não disponha de dois UNIHIKER K10s, você também pode utilizar um computador ou dispositivo móvel para implementar essa funcionalidade.

 

 

Pronto para cultivar habilidades em IoT? O projeto de estufa inteligente com UNIHIKER K10 é apenas o início - imagine programar sistemas de irrigação que respondem às condições climáticas, monitoramento de cultivos com IA, ou até mesmo controle automatizado de pragas.

 

[Get UNIHIKER K10 here]

 

Deseja continuar aprendendo? Prossiga sua jornada de aprendizado com nossas outras lições:

icon Imagem.zip 100KB Download(1)
icon program.zip 593KB Download(1)
License
All Rights
Reserved
licensBg
0