MicroPython – Esempi nodi con DHT11, Relé ed MQTT

In una serie di articoli visti in precedenza su Mqtt, Beaglebone ed ESP8266

Mqtt con Beaglebone ed ESP8266 – Lista Articoli

abbiamo creato l’infrastruttura per la gestione dei nodi esp8266.

In questo articolo gestiamo i due nodi esp8266 invece che non Nodemcu e Lua con MicroPython.

Il resto della infrastruttura rimane identica; sul Beaglebone vi è il mqtt Mosquitto e Freeboard per la gestione dei topic mqtt, visualizzazione ed interazione.

Per gli esempi del nodo ESP8266 con relé e sensore DHT11 occorre caricare le librerie MicroPython umqtt, disponibili sul sito

umqtt simple

Negli esempi che seguono si utlizza solo la umqtt simple; nel codice sono stati inseriti vari delay per permettere alla scheda di gestire i messaggi e non incorrere in errori; è stato, inoltre, impostato che nel caso il server mqtt non risponda di riavviare la scheda.

Di seguito il codice utilizzato per gli esempi.

Nodo con sensore DHT11

  • boot.py: codice eseguito all’avvio

  • umqtt/simple.py: libreria mqtt

  • dht11.py: modulo per la lettura della temperatura ed umidità sul GPIO2.

  • main.py: codice eseguito dopo il boot

  •  client_mqtt.py: Modulo principale per la gestione del nodo

  • riavvia.py: codice di servizio per riavviare il modulo da uPyCraft

Nodo con relé

  • boot.py: codice eseguito all’avvio

  • umqtt/simple.py: libreria mqtt

  • main.py: codice eseguito dopo il boot
  •  client_mqtt.py: Modulo principale per la gestione del nodo

  • riavvia.py: codice di servizio per riavviare il modulo da uPyCraft

Di seguito il filesystem su ESP8266 per l’esempio del relé

ESPFilesystemAccedendo a Freeboard si hanno le stesse informazioni ottenute con Nodemcu e LUA

FreeboardMicroPython

Di seguito le schermate della gestione da Smartphone con MQTT Dashboard, con la possibilità di controllare lo stato del relè, leggere i parametri del sensore e far ripartire o mettere in sleep i due nodi

MqttPublish

MqttSubscribe

Questi sono i collegamenti per scaricare i due esempi

Esempio sensore dht11

Esempio relé

Nel prossimo articolo compileremo il firmware MicroPython per ESP8266

MicroPython – Compilazione MicroPython per ESP8266