vineri, 18 decembrie 2015

Prezentare si stocare date pe pagina ThingSpeak (2) - folosind placa NodeMcu

   In articolul precedent am folosit o placa de dezvoltare Arduino Mega impreuna cu o placa de retea Ëthernet shield", care transmite date catre un site dedicat, avand canalul https://thingspeak.com/channels/72307.
   Acum o sa pun o placa NodeMcu v0.9 programata cu Arduino IDE, cum am prezentat in articolul http://nicuflorica.blogspot.ro/2015/12/placa-nodemcu-v09.html, datele fiind transmise pe canalul https://thingspeak.com/channels/72539:

   M-am inspirat din articolul http://www.arduinesp.com/thingspeak care foloseste un ESP8266-01 cu interfata USB-FTDI si un senzor DHT11:
si am scris si eu un sketch pentru senzorul AM2302 (DHT22), care se conecteaza la pinul D1 (GPIO5):
   Acest sketch se gaseste pe canalul meu de Github si se numeste NodeMcu_DHT22.ino, iar o imagine a acestui canal este:
   Am facut si 2 filmulete:

19.06.2016
   Dupa ce un prieten mi-a atras atentia ca un senzor AM2302 din seria celui conectat la NodeMCU indica temperatura 00C si umiditate relativa 0% dupa un timp, am aflat si eu asta privind canalul de la ThingSpeak, pe care afisez datele, asa ca am conectat alimentarea la un pin (D2 sau GPIO4) si in caz de eroare opresc alimentarea senzorului si, dupa o mica pauza, il realimentez, vedeti in sketch-ul NodeMcu_DHT_ver1.ino.
   Am facut si 2 filmulete:
NodeMCU si senzor DHT22 pe pagina ThingSpeak (2)
NodeMcu with DHT22 on ThingSpeak page (2)

joi, 17 decembrie 2015

Placa NodeMcu v.0.9 programata in Arduino IDE

   Placa NodeMcu se bazeaza pe un ESP8266 pentru conectare Wifi si  CH430G pentru conectare la USB.
   Exista mai multe modele, eu avand versiunea 0.9, care este prezentata in materialul de la www.14core.com
   Pentru programare, am folosit Arduino IDE dupa ce am primit un pont de la Sorin si anume sa urmaresc pasii din articolul thaiopensource.org; in mare, se copiaza link-ul http://arduino.esp8266.com/package_esp8266com_index.json http://arduino.esp8266.com/stable/package_esp8266com_index.json in zona de placi de dezvoltare:
si dupa cateva secunde apare un nou grup de placi de dezvoltare:
dam instalare la esp8266:
la final apare:
iar la placile de dezvoltare:
   Am incarcat un sketch cum este prezentat de Sorin in articolul Server web cu NodeMCU/ESP8266 si DHT11 in Arduino IDE combinat cu ce am gasit in articolul Adafruit HUZZAH ESP8266 breakout:
doar ca am modificat pentru DHT22, vezi sketch-ul meu.
 
 
 
 
    Ulterior, am gasit un sketch, pe forumul Arduino, in discutia de la http://www.esp8266.com/viewtopic.php?f=8&t=4307, care foloseste progamare Ajax (pagina e fixa si se schimba doar anumite variabile sau fragmente de pagina), doar ca acolo se arata timpul de cand functiona placa NomeMcu, eu schimbadu-l pentru temperatura si umiditate:
 
 
am schimbat ulterior asa:
 
   Sketch-ul meu final este NodeMcu_DHT22_ajax_1.ino...
   Am facut si filmulete:
   Senzorul AM2302 (DHT22) este conectat la pinul D1 (GPIO5)...

04.01.2016
   Daca urmariti articolul Installing and Building an Arduino Sketch for the $5 ESP8266 Microcontroller veti vedea ca se pot programa si alte modele de ESP8266

Prezentare si stocare date pe pagina ThingSpeak

   Dupa ce m-am tot "jucat" cu minipagini web tip server, cu stil classic si Ajax, am decis sa incerc si folosirea paginii ThingSpeak, care ofera prezentare grafica a unor date si, mai ales, stocare date, care pot fi ulterior prelucrate.
   Prima incercare am facut-o folosindu-ma de o placa Arduino Mega cu placa de retea tip shield (Ethernet shield cu W5100) la care am conectat un sensor AM2302 (DHT22):
   Sketch-ul folosit se gaseste pe GitHub fiind cel numit ThingSpeak_DHT22_ver1a.ino, in care trebuie sa puneti Write API Key-ul canalului pe care il postati:

   Pe canalul ThingSpeak cu 2 valori, cum este facut si sketch-ul, la setari avem:

   In articolul http://community.thingspeak.com/documentation/api/ gasiti toate informatiile necesare...la mine arata asa:
   Montajul de test arata asa:
 
   Am facut si un filmulet, numit Arduino cu placa de retea si senzor DHT22 pe pagina ThingSpeak
19.12.2015
   Deoarece am avut surpriza neplacuta ca la reincarcarea sketch-ului de pe versiunea Arduino IDE 1.6.5 sa pot trimite date abia la 7 minute (in ecranul serial comenzile se trimiteau litera cu litera), nu la 20 secunde ca de obicei, am modificat sketch-ul pentru versiuni mai stabile (1.0.3..1.0.5), acest sketch fiind ThingSpeak_DHT22_ver1a_ide10.ino .