Ang kahalumigmigan at Temperatura ay napaka-karaniwang mga parameter para sa pagsukat sa maraming mga lugar tulad ng sakahan, berdeng bahay, medikal, industriya ng bahay at mga tanggapan. Natakpan na namin ang Humidity at Temperature na Pagsukat gamit ang Arduino at ipinakita ang data sa LCD.
Sa proyektong ito ng IoT susubaybayan namin ang Humidity at Temperatura sa internet gamit ang ThingSpeak kung saan ipapakita namin ang kasalukuyang data ng Humidity & Temperature sa Internet gamit ang ThingSpeak server. Ginagawa ito ng mga komunikasyon sa data sa pagitan ng Arduino, DHT11 Sensor Module, module ng W8I ng ESP8266 at LCD. Ang thermometer ng scale ng Celsius at porsyento ng scale scale ng halumigmig ay nagpapakita ng temperatura sa paligid at halumigmig sa pamamagitan ng isang LCD display at ipinapadala din ito sa ThingSpeak server para sa live na pagsubaybay mula sa kahit saan sa mundo.
Paggana at Pag-set up ng ThingSpeak:
Ang proyektong ito na batay sa IoT na mayroong apat na seksyon, una ang Humidity at Temperature Sensor DHT11 ay nararamdaman ang Humidity at Temperatura Data . Pangalawa ang Arduino Uno ay kumukuha ng data ng sensor ng DHT11 bilang angkop na bilang sa porsyento at antas ng Celsius, at ipinapadala ito sa Wi-Fi Module. Pangatlo ang Wi-Fi Module na ESP8266 ay nagpapadala ng data sa ThingSpeak's Sever. At sa wakas ay pinag-aaralan ng ThingSpeak ang data at ipinapakita ito sa isang form na Grap. Ginagamit din ang Opsyonal na LCD upang maipakita ang Temperatura at Humidity.
Nagbibigay ang ThingSpeak ng napakahusay na tool para sa mga proyekto na batay sa IoT para sa Arduino. Sa pamamagitan ng paggamit ng ThingSpeak site, maaari naming subaybayan ang aming data sa Internet mula sa kahit saan, at makokontrol din namin ang aming system sa Internet, gamit ang Mga Channel at webpage na ibinigay ng ThingSpeak. ThingSpeak 'Kinokolekta' ang data mula sa mga sensor, 'Pag-aralan at I-visualize' ang data at 'Mga Gawa' sa pamamagitan ng pag-agaw ng isang reaksyon. Narito ipinapaliwanag namin ang tungkol sa Paano magpadala ng Data sa ThingSpeak server sa pamamagitan ng paggamit ng ESP8266 WIFI Module:
1. Una sa lahat, ang gumagamit ay kailangang Lumikha ng isang Account sa ThingSpeak.com, pagkatapos Mag-sign In at mag-click sa Magsimula.
2. Ngayon pumunta sa menu na 'Mga Channel' at mag-click sa pagpipiliang Bagong Channel sa parehong pahina para sa karagdagang proseso.
3. Ngayon makikita mo ang isang form para sa paglikha ng channel, punan ang Pangalan at Paglalarawan ayon sa iyong pinili. Pagkatapos punan ang 'Humidity' at 'Temperatura' sa mga label na Field 1 at Field 2, lagyan ng tsek ang mga checkbox para sa parehong Mga Patlang. Lagyan din ng tsek ang kahon para sa pagpipiliang 'Gawing Pampubliko' sa ibaba sa form at sa wakas I-save ang Channel. Ngayon ang iyong bagong channel ay nalikha.
4. Ngayon mag-click sa tab na 'Mga API key' at i- save ang mga susi ng Sumulat at Basahin ang API, narito ginagamit lamang namin ang susi ng Pagsulat. Kailangan mong Kopyahin ang key na ito sa char * api_key sa Code.
5. Pagkatapos nito, mag-click sa 'Data Import / Export' at kopyahin ang Update Channel Feed GET Request URL, na kung saan ay:
api.thingspeak.com/update?api_key=SIWOYBX26OXQ1WMS&field1=0
6. Ngayon kailangang buksan ng gumagamit ang "api.thingspeak.com" gamit ang pagpapaandar na httpGet kasama ang postUrl bilang "update? Api_key = SIWOYBX26OXQ1WMS & field1 = 0" at pagkatapos ay magpadala ng data gamit ang data feed o pag-update ng address ng kahilingan.
Bago ipadala ang data, kailangang i-edit ng gumagamit ang query string na ito o postUrl na may mga patlang ng data ng temperatura at halumigmig, tulad ng ipinakita sa ibaba. Dito naidagdag namin ang parehong mga parameter sa string na kailangan naming ipadala sa pamamagitan ng paggamit ng kahilingan sa GET sa server, pagkatapos nito ay ginamit namin ang httpGet upang ipadala ang data sa server. Suriin ang buong Code sa ibaba.
Sprintf (postUrl, "update? Api_key =% s & field1 =% s & field2 =% s", api_key, humidStr, tempStr); httpGet ("api.thingspeak.com", postUrl, 80);
Ang buong proseso ay ipinakita sa seksyon ng Video, sa pagtatapos ng Artikulo na ito.
Ang pagtatrabaho ng proyektong ito ay batay sa solong wire serial na komunikasyon para sa pagkuha ng data mula sa DHT11. Nagpapadala ang unang Arduino ng isang senyas ng pagsisimula sa module ng DHT at pagkatapos ay nagbibigay ang DHT ng isang senyas ng tugon na naglalaman ng data. Kinokolekta at kinukuha ng Arduino ang data sa dalawang bahagi muna ang halumigmig at pangalawa ang temperatura at pagkatapos ay ipadala ito sa 16x2 LCD at ThingSpeak server. Ipinapakita ng ThingSpeak ang Data sa anyo ng Graph tulad ng sa ibaba:
Maaari kang matuto nang higit pa tungkol sa DHT11 Sensor at ang Interfacing nito sa Arduino dito.
Paglalarawan ng Circuit:
Ang mga koneksyon para sa ThingSpeak Temperature at Humidity Monitoring Project ay napaka-simple. Dito ginagamit ang isang Liquid Crystal Display para sa pagpapakita ng Temperatura at Humidity, na direktang konektado sa Arduino sa 4-bit mode. Ang mga pin ng LCD na katulad ng RS, EN, D4, D5, D6 at D7 ay konektado sa Arduino digital pin number 14, 15, 16, 17, 18 at 19. Ang LCD na ito ay opsyonal.
Ang DHT11 Sensor Module ay konektado sa digital pin 12 ng Arduino. Ang Wi-Fi module na ESP8266 's Vcc at GND pins ay direktang konektado sa 3.3V at GND ng Arduino at ang CH_PD ay konektado din sa 3.3V. Ang mga Tx at Rx na pin ng ESP8266 ay direktang konektado sa pin 2 at 3 ng Arduino. Ginagamit din dito ang Software Serial Library upang payagan ang serial na komunikasyon sa pin 2 at 3 ng Arduino. Saklaw na namin ang detalye ng Interfacing ng module na Wi-Fi ng ESP8266 sa Arduino nang detalyado.
Bahagi ng Programming:
Ang bahagi ng pagpoproseso ng proyektong ito ay gumaganap ng napakahalagang papel upang maisagawa ang lahat ng mga operasyon. Una sa lahat isinasama namin ang mga kinakailangang aklatan at isinisimulan ang mga variable.
# isama ang "dht.h" // Kasama ang library para sa dht # isama
Matapos ipasok ang iyong susi ng Sumulat API at kumuha ng ilang mga string.
char * api_key = "SIWOYBX26OXQ1WMS"; // Ipasok ang iyong susi ng API Sumulat mula sa ThingSpeak static char postUrl; int humi, tem; walang bisa httpGet (String ip, String path, int port = 80);
Sa pag- andar ng void loop () binabasa natin ang temperatura at halumigmig at pagkatapos ay ipakita ang mga pagbabasa sa LCD.
void send2server () function ay ginagamit upang ipadala ang data sa server. Ang pagpapaandar ng Send2server ay isang timer makagambala sa gawain sa serbisyo, na tumatawag sa bawat 20 segundo. Kapag tinawag namin ang pagpapaandar sa pag-update, ang timer ay nakakagambala sa gawain sa gawain ay tinatawag na.
walang bisa ang send2server () {char tempStr; char moisturStr; dtostrf (tem, 5, 3, tempStr); dtostrf (humi, 5, 3, humidStr); sprintf (postUrl, "update? api_key =% s & field1 =% s & field2 =% s", api_key, humidStr, tempStr); httpGet ("api.thingspeak.com", postUrl, 80); }