Orodha ya maudhui:
- Hatua ya 1: Muswada wa Nyenzo
- Hatua ya 2: Sensor ya Joto la DS18B20
- Hatua ya 3: Kuunganisha Sensorer kwa NodeMCU
- Hatua ya 4: Kufunga Maktaba zilizotengwa
- Hatua ya 5: Kupima Sensorer
- Hatua ya 6: Kutumia Blynk
- Hatua ya 7: Hitimisho
Video: IoT Imefanywa Rahisi: Kufuatilia Sensorer Nyingi: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Wiki chache zilizopita, nilichapisha hapa mafunzo juu ya ufuatiliaji wa joto ukitumia DS18B20, sensa ya dijiti inayowasiliana juu ya basi la waya 1, ikituma data kwenye wavuti na NodeMCU na Blynk:
IoT Imefanywa Rahisi: Ufuatiliaji wa Joto Mahali Pote
Lakini kile tulichokosa katika uchunguzi, ilikuwa moja ya faida kubwa ya aina hii ya sensa ambayo ni uwezekano wa kukusanya data nyingi, kutoka kwa sensorer nyingi zilizounganishwa na basi moja ya waya. Na, sasa ni wakati wa kuichunguza pia.
Tutapanua kile kilichotengenezwa kwenye mafunzo ya mwisho, tukifuatilia sasa sensorer mbili za DS18B20, iliyosanidiwa moja kwa Celcius na nyingine katika Fahrenheit. Takwimu zitatumwa kwa Programu ya Blynk, kama inavyoonyeshwa kwenye mchoro wa hapo juu.
Hatua ya 1: Muswada wa Nyenzo
- NodeMCU ESP 12-E (*)
- 2 X DS18B20 Sensorer ya Joto
- Resistor 4.7K Ohms
- Mkate wa Mkate
- Wiring
(*) Aina yoyote ya kifaa cha ESP inaweza kutumika hapa. Ya kawaida ni NodeMCU V2 au V3. Wote wawili watafanya kazi vizuri kila wakati.
Hatua ya 2: Sensor ya Joto la DS18B20
Tutatumia katika mafunzo haya toleo lisilozuiliwa na maji la sensor ya DS18B20. Ni muhimu sana kwa joto la mbali katika hali ya mvua, kwa mfano kwenye mchanga wenye unyevu. Sensor imetengwa na inaweza kuchukua vipimo hadi 125oC (Adafrut haipendekezi kuitumia zaidi ya 100oC kwa sababu ya koti yake ya PVC ya kebo).
DS18B20 ni sensa ya dijiti ambayo inafanya kuwa nzuri kutumia hata kwa umbali mrefu! Sensorer hizi za joto la dijiti 1-waya ni sawa (± 0.5 ° C juu ya anuwai nyingi) na zinaweza kutoa hadi bits 12 za usahihi kutoka kwa kibadilishaji cha dijiti-hadi-analog. Wanafanya kazi vizuri na NodeMCU kwa kutumia pini moja ya dijiti, na unaweza hata kuunganisha nyingi kwa pini moja, kila mmoja ana kitambulisho cha kipekee cha 64-bit kilichochomwa kwenye kiwanda ili kuzitofautisha.
Sensor inafanya kazi kutoka 3.0 hadi 5.0V, inamaanisha nini inaweza kuwezeshwa moja kwa moja kutoka kwa moja ya pini za 3.3V NodeMCU.
Sensor ina waya 3:
- Nyeusi: GND
- Nyekundu: VCC
- Njano: 1-Waya Data
Hapa, unaweza kupata data kamili: Datasheet ya DS18B20
Hatua ya 3: Kuunganisha Sensorer kwa NodeMCU
- Unganisha waya 3 kutoka kila sensorer kwenye Bodi ya Mkate ndogo kama inavyoonyeshwa kwenye picha hapo juu. Nilitumia viunganisho maalum kurekebisha vizuri kebo ya kitambuzi juu yake.
-
Kumbuka kuwa sensorer zote ziko sawa. Ikiwa una sensorer zaidi ya 2, unapaswa kufanya vivyo hivyo.
- Nyekundu ==> 3.3V
- Nyeusi ==> GND
- Njano ==> D4
- Tumia kontena la 4.7K ohms kati ya VCC (3.3V) na Takwimu (D4)
Hatua ya 4: Kufunga Maktaba zilizotengwa
Ili kutumia DS18B20 vizuri, maktaba mbili zitahitajika:
- OneWire
- Joto la Dallas
Sakinisha maktaba zote mbili kwenye Hifadhi yako ya Maktaba ya Arduino IDE.
Kumbuka kuwa maktaba ya OneWire LAZIMA iwe ya pekee, iliyobadilishwa kutumiwa na ESP8266, vinginevyo utapata kosa wakati wa mkusanyiko. Utapata toleo la mwisho kwenye kiunga hapo juu.
Hatua ya 5: Kupima Sensorer
Kwa kupima sensorer, pakua faili hapa chini kutoka kwa GitHub yangu:
NodeMCU_DS18B20_Dual_Se nsor_test.ino
/**************************************************************
* Jaribio la Mtumaji Joto Nyingi * * 2 x Sensor ya OneWire: DS18B20 * Imeunganishwa na NodeMCU D4 (au Arduino Pin 2) * * Iliyoundwa na Marcelo Rovai - 25 Agosti 2017 **************** ******************************************** / # pamoja # ni pamoja na #fafanua ONE_WIRE_BUS 2 // DS18B20 kwenye NodeMCU pin D4 OneWire oneWire (ONE_WIRE_BUS); Joto la Dallas DS18B20 (& OneWire); kuanzisha batili () {Serial.begin (115200); DS18B20. Kuanza (); Serial.println ("Kupima data ya Sensor Dual"); } kitanzi batili () {float temp_0; kuelea temp_1; DS18B20.maombiJoto (); temp_0 = DS18B20.getTempCByIndex (0); // Sensor 0 itachukua Temp katika Celcius temp_1 = DS18B20.getTempFByIndex (1); // Sensor 0 itachukua Temp katika Fahrenheit Serial.print ("Temp_0:"); Serial.print (temp_0); Serial.print ("oC. Temp_1:"); Printa ya serial (temp_1); Serial.println ("oF"); kuchelewesha (1000); }
Kuangalia nambari iliyo hapo juu, tunapaswa kugundua kuwa mistari muhimu zaidi ni:
temp_0 = DS18B20.getTempCByIndex (0); // Sensor 0 itachukua Temp katika Celcius
temp_1 = DS18B20.getTempFByIndex (1); // Sensor 0 itachukua Temp katika Fahrenheit
Ya kwanza itarudisha thamani kutoka kwa Sensorer [0] (angalia "index (0)") katika Celcius (angalia sehemu ya nambari: "getTempC". Unaweza kuwa na sensorer hapa "n" kwa kuwa unayo "faharisi" tofauti kwa kila mmoja wao.
Pakia sasa nambari kwenye NodeMCU yako na ufuatilie hali ya joto ukitumia Monitor Serial.
Picha hapo juu inaonyesha matokeo yanayotarajiwa. Shikilia kila sensorer mkononi mwako, unapaswa kuona hali ya joto ikipanda.
Hatua ya 6: Kutumia Blynk
Mara tu unapoanza kunasa data ya joto, ni wakati wa kuiona kutoka mahali popote. Tutafanya hivyo kwa kutumia Blynk. Kwa hivyo, data zote zilizokamatwa zitaonyeshwa kwa wakati halisi kwenye kifaa chako cha rununu na pia tutaunda duka la kihistoria la hilo.
Fuata hatua zifuatazo:
- Unda Mradi Mpya.
- Ipe jina (kwa upande wangu "Dual Temperature Monitor")
- Chagua Kifaa kipya - ESP8266 (WiFi) kama "Vifaa vyangu"
- Nakili AUTH ILIYOBADILI kutumiwa kwenye nambari (unaweza kuituma kwa barua pepe yako).
-
Inajumuisha Wijeti mbili za "Kupima", kufafanua:
- Pini inayofaa kutumiwa na kila sensorer: V10 (Sensor [0]) na V11 (Sensor [1])
- Kiwango cha joto: -5 hadi 100 oC kwa Sensor [0]
- Kiwango cha joto: 25 hadi 212 oC kwa Sensor [1]
- Masafa ya kusoma data: sekunde 1
- Inajumuisha Wijeti ya "Historia ya Grafu", ikifafanua V10 na V11 kama pini halisi
- Bonyeza "Cheza" (Pembetatu pembeni kulia)
Kwa kweli, Programu ya Blynk itakuambia kuwa NodeMCU iko nje ya mtandao. Ni wakati wa kupakia nambari kamili kwenye IDE yako ya Arduino. Unaweza kuipata hapa:
NodeMCU_Dual_Sensor_Blynk_Ext.ino
Badilisha "data ya dummy" na hati zako mwenyewe.
/ * Hati za Blynk * /
char auth = "AUTHI YAKO YA BLYNK ANA KODI HAPA"; / * Kitambulisho cha WiFi * / char ssid = "SSID YAKO"; char pass = "NENO LAKO";
Na ndio hivyo!
Bellow nambari kamili. Kimsingi ni nambari ya awali, ambapo tuliingia na vigezo vya Blynk na kazi maalum. Kumbuka mistari 2 ya mwisho ya nambari. Hizo ndizo muhimu zaidi hapa. Ikiwa una sensorer zaidi zinazokusanya data, unapaswa pia kuwa na laini mpya sawa na hizo (zilizo na pini mpya zinazoonekana).
/**************************************************************
* IoT Multiple Joto Monitor na Blynk * Maktaba ya Blynk ina leseni chini ya leseni ya MIT * Nambari hii ya mfano iko katika uwanja wa umma. * * Sura nyingi za OneWire: DS18B20 * Iliyotengenezwa na Marcelo Rovai - 25 Agosti 2017 *********************************. lemaza kuchapisha na uhifadhi nafasi / * hati za Blynk * / char auth = "BLYNK AUTH CODE HAPA"; / * Kitambulisho cha WiFi * / char ssid = "SSID YAKO"; char pass = "NENO LAKO"; / * TIMER * / # pamoja na Rahisi Timer timer; / * DS18B20 Sensorer ya Joto Joto la Dallas DS18B20 (& OneWire); muda temp_0; int temp_1; kuanzisha batili () {Serial.begin (115200); Blynk kuanza (auth, ssid, pass); DS18B20. Kuanza (); timer.setInterval (1000L, getSendData); Serial.println (""); Serial.println ("Kupima data ya Sensor Dual"); } kitanzi batili () {timer.run (); // Huanzisha SimpleTimer Blynk.run (); } / ************************************************ *** * Tuma data ya Sensor kwa Blynk ***************************************** ********* / utupu GetSendData () {DS18B20.requestTemperatures (); temp_0 = DS18B20.getTempCByIndex (0); // Sensor 0 itachukua Temp katika Celcius temp_1 = DS18B20.getTempFByIndex (1); // Sensor 0 itachukua Temp katika Fahrenheit Serial.print ("Temp_0:"); Serial.print (temp_0); Serial.print ("oC. Temp_1:"); Printa ya serial (temp_1); Serial.println ("oF"); Blynk. VirtualWrite (10, temp_0); // pini halisi V10 Blynk. VirtualWrite (11, temp_1); // pini halisi V11}
Mara tu nambari imepakiwa na kuanza, angalia programu ya Blynk. Inapaswa kuwa sasa pia inaendesha kama inavyoonyeshwa kwenye skrini ya juu ya kuchapisha kutoka kwa iPhone yangu.
Hatua ya 7: Hitimisho
Kama kawaida, natumahi mradi huu unaweza kusaidia wengine kupata njia yao katika ulimwengu wa kusisimua wa umeme, roboti, na IOT!
Tafadhali tembelea GitHub yangu kwa faili zilizosasishwa: NodeMCU Dual Temp Monitor
Kwa miradi zaidi, tafadhali tembelea blogi yangu: MJRoBot.org
Saludos kutoka kusini mwa ulimwengu!
Tukutane kwenye mafunzo yangu yafuatayo!
Asante, Marcelo
Ilipendekeza:
T2 - Chai ya Chai -Utengenezaji wa Chai Imefanywa Rahisi: Hatua 4
T2 - Chai ya Chai -Bia ya Kunyunyizia Imefanywa Rahisi: Bot ya chai ilitengenezwa kusaidia mtumiaji kunywa chai yao kwa wakati uliopendekezwa wa kunywa. Moja ya lengo la kubuni ilikuwa kuiweka rahisi. ESP8266 imewekwa na seva ya wavuti kudhibiti motor servo. Seva ya Mtandao ya ESP8266 ni msikivu wa rununu na
DIY Smart Robot Kufuatilia Kits za Gari Kufuatilia Gari Pichaensitive: Hatua 7
DIY Smart Robot Tracking Car Kits Tracking Car Photosensitive: Design by SINONING ROBOTUnaweza kununua kutoka kufuatilia gari la robotTheoryLM393 chip linganisha picharesistor mbili, wakati kuna upande mmoja photoresistor LED kwenye WHITE upande wa motor utasimama mara moja, upande mwingine wa motor inazunguka, ili
Aquasprouts: Hydroponics Imefanywa Rahisi: 3 Hatua
Aquasprouts: Hydroponics Made Easy: Aquasprout Katika mradi huu tutafanya mfumo rahisi wa Hydroponic kukuza mimea mingine iliyounganishwa na jukwaa la tingg.io. Inategemea bodi ya tingg.io (ESP32) au bodi yoyote sawa. Inadhibiti hali ya joto, unyevu, mwanga, UV, unyevu na
IoT Imefanywa Rahisi: Kukamata Takwimu za hali ya hewa ya mbali: Joto la UV na Hewa na Unyevu: Hatua 7
IoT Imefanywa Rahisi: Kukamata Takwimu za hali ya hewa ya mbali: Joto la UV na Hewa na Unyevu: Kwenye mafunzo haya, tutachukua data za mbali kama UV (Mionzi ya Ultra-Violet), joto la hewa na unyevu. Takwimu hizo zitakuwa muhimu sana na zitatumika katika Kituo kamili cha hali ya hewa kamili. Mchoro wa block unaonyesha kile tutapata mwisho
Kamera ya Kupoteza Picha Picha Imefanywa Rahisi: Hatua 22 (na Picha)
Kamera ya Kupotea kwa Picha Picha Imefanywa Rahisi: Nilikuwa nikiangalia mojawapo ya Maagizo mengine juu ya kutengeneza sinema za kupoteza muda. Alishughulikia vizuri sehemu ya sinema. Aliiambia juu ya programu ya bure ambayo unaweza kupakua kutengeneza sinema. Nilijisemea, nadhani nitaona ikiwa naweza m