Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Termômetro IoT usando Python

Componentes e suprimentos

MikroE Flip &Click
× 1
Arduino Due
× 1
Partícula Photon
× 1
NodeMCU ESP8266 Breakout Board
× 1
SparkFun Photon RedBoard
× 1
MikroE Temp &Hum Click
× 1
MikroE WiFi Plus Click
× 1
Espressif Wemos D1 Mini
× 1
Arduino Zero
× 1

Aplicativos e serviços online

Zerynth Studio

Sobre este projeto







O aplicativo Zerynth


Zerynth App é um aplicativo móvel para Android e iOS que permite a prototipagem rápida de interfaces gráficas para seus projetos IoT .

Com o aplicativo Zerynth você pode transformar qualquer celular no controlador e exibir para objetos inteligentes e sistemas IoT ! Em particular, você pode gerenciar e controlar os dispositivos conectados programados com Zerynth, permitindo um canal de comunicação bidirecional entre eles e seu celular.

Neste tutorial, veremos como desenvolver um termômetro de IoT simples, mas poderoso , usando um microcontrolador de placa única alimentado por Zerynth e o aplicativo Zerynth como display remoto.





Materiais necessários


Em primeiro lugar, você precisa de uma placa. Você pode selecionar um dos dispositivos microcontroladores de 32 bits suportados pelo Zerynth. Escolhemos o Flip &Click da Mikroelektronika, que compartilha muitos dos mesmos atributos das plataformas populares Arduino, incluindo o AT91SAM3X8E de 32 bits da Microchip, o núcleo do Arduino Due.

Para medir a temperatura, escolhemos o Temp &Hum Click, que possui um sensor HTS221 de temperatura e umidade relativa.

Para conectar a placa à internet escolhemos o WiFi PLUS Click, que possui MRF24WB0MA - 2,4 GHz, IEEE std. 802.11 - módulo compatível da Microchip , bem como controlador complementar MCW1001 com pilha TCP / IP on-board e gerenciador de conexão 802.11.

Por último, mas não menos importante, você precisa de:
  • Zerynth Studio , nosso poderoso IDE para programação embarcada em Python que habilita a IoT. Você pode baixá-lo aqui.
  • Zerynth App . Você pode baixá-lo aqui.





Montagem de seu termômetro IoT


Flip &Click é o primo de dois lados do Arduino. De um lado, é um Arduino. Mas, por outro lado, você encontrará quatro soquetes mikroBUS abertos para o que a empresa chama de "painéis clicáveis". Essencialmente, esses são módulos complementares que se assemelham aos escudos do Arduino, mas reduzidos para que você possa colocar alguns ao mesmo tempo no flip e clique sem nenhum problema. Basta adicionar os cliques Temp &Hum e Wifi Plus à placa, respectivamente no slot A e B.





Como programar o termômetro IoT usando Python





Clone o exemplo


Depois de instalar o Zerynth Studio e criar um usuário Zerynth, você pode clonar o exemplo “ Zerynth App Oscilloscope “. Dê uma olhada aqui para aprender como clonar um exemplo.

Vamos dar uma olhada no código original no arquivo “ main.py ”:Aqui é onde você desenvolve a lógica de seu Python roteiro. Começaremos com o código original e depois editaremos o script para desenvolver nosso projeto específico.
  ##################################################### ################################################ Termômetro IoT ############ ############################################################### ############# De wireless import wifi # este exemplo é baseado em Particle Photon # mude a seguinte linha para usar um driver wifi diferente de broadcom.bcm43362 import bcm43362 as wifi_driverimport streamsimport adc # Importe a biblioteca Zerynth APP do zerynthapp import zerynthapp streams.serial () sleep (1000) print ("STARTING ...") try:# O UID do dispositivo e o TOKEN podem ser criados no painel ADM zapp =zerynthapp.ZerynthApp ("DEVICE UID "," DEVICE TOKEN ", log =True) # conectar à rede wi-fi (Defina seu SSID e senha abaixo) wifi_driver.auto_init () para i no intervalo (0,5):try:wifi.link (" SSID " , wifi.WIFI_WPA2, "PASSWORD") interromper exceto Exceção como e:print ("Não é possível vincular", e) else:print ("Impossível vincular!") while True:sleep (1000) # Inicie a instância do aplicativo Zerynth! # Lembre-se de criar um modelo com os arquivos na pasta "template" que você acabou de clonar # carregue-o no ADM e associe-o ao dispositivo conectado zapp.run () # Leia o ADC e envie valores para o ADM enquanto True:sleep ( 1000) x =(adc.read (A4) * 100) // 4096 zapp.event ({"data":x}) se x> 95:# enviar notificação móvel # (há um limite de uma notificação por minuto por dispositivo na caixa de areia ADM) zapp.notify ("ALARM!", "O valor é maior que 95!") exceto Exceção como e:print (e)  

Neste exemplo simples, um osciloscópio gráfico é visualizado pelo Zerynth App com dados vindos da placa conectada. Os dados são adquiridos de um sensor analógico pelo pino A4 “analógico”.





Importe o driver de wi-fi certo e as bibliotecas de sensores


Como você pode ver nos comentários, este exemplo é baseado na placa Particle Photon e seu driver wi-fi. Como queremos usar o WiFi Plus Click, temos que alterar as seguintes linhas:
  from broadcom.bcm43362 import bcm43362 as wifi_driver  

dentro
  from microchip.mcw1001a import mcw1001a as wifi_driver  

e
  wifi_driver.auto_init ()  

dentro
  wifi_driver.init (SERIAL2, D24) # slot B  

Então, queremos usar o sensor de temperatura do Temp &Hum Click. Portanto, temos que adicionar as seguintes linhas para importar a biblioteca e configurar o sensor, como você pode ler na documentação:
  # Importar a biblioteca HTS221 de stm.hts221 import hts221 temp_hum =hts221.HTS221 (I2C0, D21) # slot A  

Para ler o sensor, basta escrever a seguinte linha, onde for necessário:
  tmp, hum =temp_hum.get_temp_humidity () # Leia tmp e hum  





Configure o nome SSID e a SENHA


Claro, você também deve editar o nome SSID e a SENHA da rede wi-fi que deseja conectar à placa, editando esta linha:
  wifi.link ("SSID", wifi.WIFI_WPA2, "PASSWORD")  





Crie e configure um dispositivo conectado


Agora temos que criar um “dispositivo conectado” e vincular a instância “zerynthapp” a ele. Abaixo você pode ver algumas capturas de tela com as etapas necessárias. Dê uma olhada neste documento para mais detalhes técnicos.

As credenciais do dispositivo ( UID e TOKEN ) pode ser copiado e colado diretamente do Zerynth Studio (painel ADM). “IP” é o endereço IP do Zerynth ADM. Este argumento é usado quando o driver de rede não oferece suporte à resolução de nome de host, como neste caso.





Crie, carregue e defina o modelo


Por meio do aplicativo Zerynth, você pode executar lindas interfaces gráficas de usuário responsivas usando HTML , CSS e JavaScript . Não há necessidade de código Android ou iOS!

A interface gráfica de cada dispositivo é hospedada no sandbox Zerynth ADM e consiste em um conjunto de HTML5, Javascript, CSS e arquivos de imagem que são carregados e exibidos no aplicativo. Adicionar ao modelo a Biblioteca Javascript ADM permite que o aplicativo interaja com o dispositivo conectado, tanto para receber quanto para enviar mensagens.

Os modelos podem ser adicionados clicando no respectivo ícone “mais”.

Em seguida, carregue o modelo da pasta dedicada. Observe que o arquivo onde o modelo é definido é denominado “ index.html ”E você pode editá-lo como quiser. Nesse caso, você pode deixar como está.

Depois de algumas edições, o código deve ficar assim:
  ##################################################### ################################################ Termômetro IoT ############ ############################################################### ########################### Importar wireless import wififrom microchip.mcw1001a import mcw1001a as wifi_driverimport streamsimport adc streams.serial () # Importar a biblioteca APP Zerynthde zerynthapp import zerynthapp # Importar o HTS221 libraryfrom stm.hts221 import hts221 temp_hum =hts221.HTS221 (I2C0, D21) # slot A sleep (1000) print ("STARTING ...") try:# Device UID e TOKEN podem ser criados no painel ADM zapp =zerynthapp. ZerynthApp ("DEVICE UID", "DEVICE TOKEN", ip ="178.22.65.123", log =True) # conecte-se à rede wi-fi (defina seu SSID e senha abaixo) wifi_driver.init (SERIAL2, D24) # slot B para i no intervalo (0,5):try:wifi.link ("SSID", wifi.WIFI_WPA2, "PASSWORD") break exceto Exceção como e:print ("Não é possível vincular", e) else:print ("Impossível para ligar! ") while True:sleep (1000) # Inicie a instância do aplicativo Zerynth! # Lembre-se de criar um modelo com os arquivos na pasta "template" que você acabou de clonar # carregue-o no ADM e associe-o ao dispositivo conectado zapp.run () # Leia o sensor e envie valores para o ADM enquanto True:sleep (1000) tmp, hum =temp_hum.get_temp_humidity () # Leia tmp e hum print ("Temp é:", tmp, "Umidade é:", hum) try:zapp.event ({"data":tmp}) exceto Exceção como e:print (e) se tmp>
 30:# enviar notificação móvel # (há um limite de uma notificação por minuto por dispositivo na caixa de proteção ADM) try:zapp.notify ("ALARM!", "Alta temperatura! ") Exceto Exceção como e:print (e) exceto Exceção como e:print (e)  

Lembre-se de que “DEVICE UID”, “DEVICE TOKEN”, “SSID” e “PASSWORD” devem ser editados para se ajustarem aos seus próprios parâmetros.

Neste ponto, você pode fazer o uplink do script em seu dispositivo.





Como ver o painel do termômetro IoT no aplicativo Zerynth


Como você pode ler neste breve tutorial, você só precisa abrir o aplicativo Zerynth, fazer o login e selecionar o dispositivo específico para ver o painel do seu termômetro IoT. Por último, Zerynth App também pode receber notificações push dos dispositivos conectados. Neste caso, uma notificação aparecerá quando a temperatura for maior que o limite!

Se você tiver alguma dúvida, não hesite em abrir uma discussão no fórum da comunidade Zerynth.

Divirta-se!

Código

  • Termômetro IoT
Termômetro IoT Python
 ######################################################### ############ Osciloscópio Zerynth App ##################################################### ############################################################### ######################### De wireless import wififrom microchip.mcw1001a import mcw1001a as wifi_driverimport streamsimport adc streams.serial () # Importe a biblioteca Zerynth APP de zerynthapp import zerynthapp # Importe a biblioteca HTS221 de stm .hts221 import hts221 temp_hum =hts221.HTS221 (I2C0, D21) # slot A sleep (1000) print ("STARTING ...") try:# Device UID e TOKEN podem ser criados no painel ADM zapp =zerynthapp.ZerynthApp ( "DEVICE UID", "DEVICE TOKEN", ip ="178.22.65.123", log =True) # conecte-se à rede wi-fi (defina seu SSID e senha abaixo) wifi_driver.init (SERIAL2, D24) # slot B para i in range (0,5):try:wifi.link ("SSID", wifi.WIFI_WPA2, "PASSWORD") break exceto Exceção como e:print ("Não é possível vincular", e) else:print ("Impossível vincular ! ") While True:sleep (1000) # Inicie a instância do aplicativo Zerynth! # Lembre-se de criar um modelo com os arquivos na pasta "template" que você acabou de clonar # carregue-o no ADM e associe-o ao dispositivo conectado zapp.run () # Leia o sensor e envie valores para o ADM enquanto True:sleep (1000) tmp, hum =temp_hum.get_temp_humidity () # Leia tmp e hum print ("Temp é:", tmp, "Umidade é:", hum) try:zapp.event ({"data":tmp}) exceto Exceção como e:print (e) se tmp>
 30:# enviar notificação móvel # (há um limite de uma notificação por minuto por dispositivo na caixa de proteção ADM) try:zapp.notify ("ALARM!", "Alta temperatura! ") Exceto Exceção como e:print (e) exceto Exceção como e:print (e) 

Esquemas


Processo de manufatura

  1. Termômetro
  2. Biblioteca Python do sensor de temperatura TMP006 usando Raspberry pi,
  3. Sensor de temperatura Python e Raspberry Pi
  4. Usando o PSoC 6 Pioneer Board com o Pioneer IoT Add-on Shield
  5. Como a IoT está perturbando o mundo ao nosso redor
  6. Como instalar o Python no Windows [Pycharm IDE]
  7. Python Renomear Arquivo e Diretório usando os.rename()
  8. Login no Facebook usando Python:Exemplo de login no FB
  9. Python Average:Como encontrar a AVERAGE de uma lista em Python
  10. Python - Enviando e-mail usando SMTP