IoT-nodeMCU(I)

A anem a coneixer millor el xip ESP8266, fabricat per Espressif. Es tracta d'un SoC (System on a Chip), amb connectivitat Wifi, CPU RISC de 32-bit Tensilica Xtensa LX106 amb rellotge de 80 MHz, RAM d'instruccions de 64 KB, RAM de dades de 96 KB, capacitat de memòria externa flash QSPI - 512 KB a 4 MB (pot soportar fins 16 MB), que després de la seva sortida al mercat a revolucionat el món de la IoT. Per utilitzar aquest xip hi ha moltes plataformes entre les quals triar. Una de les més populars és la nodeMCU, que podem veure en aquesta imatge:

Hi ha d'altres també molt utilitzades com les Wemos D1 mini pro, Wemos D1, Adafruit Feather HUZZAH ESP8266, SparkFun ESP8266 Thing i la llista podria ser més extensa.

Nosaltres treballarem amb la nodeMCU. L'ecosistema és un dels següents:

Disposa de les següents 8 entrades/sortides disponibles: GPIO0, GPIO2, GPIO4, GPIO5, GPIO12, GPIO13, GPIO14 i GPIO15. La GPIO1 (TX) i la GPIO3 (RX) les utilitza el port sèrie. Tot i que pot semblar que les GPIO9 i GPIO10 estan accessibles, la majoria de vegades no es poden utilitzar. Com a molt una d'elles pot funcionar, i no sempre és la mateixa. L'experiència demostra que abans d'emprar-les cal estar segur que això no provocarà resets repetitius

Aquí tenim el pinout:

Si volem mesurar temperatura amb més precisió, ho hem de fer amb sensors digitals com el DS18B20, el DHT22 o el DHT11 entre altres. En aquesta pràctica els utilitzarem els tres.

Connectarem el sensor DS18B20 o DHT22 o DHT11 al GPIO10. Dels tres sensors, el DS18B20 funciona millor que el DHT22 i aquest millor que el DHT11.

EXERCICI 1 Provem aquest sketch de mesura de temperatures amb un DHTXX. Primer instal·lem la llibreria a ma. I ara provem això:

EXERCICI 2 Ara veiem com visualitzar els valors de temperatura i humitat a l'app mitjançant el widget text i el següent sketch:

EXERCICI 3 En aquest exercici utilitzarem el sensor DS18B20 per mesurar la temperatura. Instal·larem amb el Gestor de llibreries les següents llibreries:

  • DallasTemperature.
  • OneWire.

Ara proveu el següent sketck:

Un cop arribats aquí podem seguir amb la IoT-nodeMCU(II).