Talaan ng mga Nilalaman:
- Hakbang 1: Bill ng Materyal
- Hakbang 2: Sensor ng Temperatura ng DS18B20
- Hakbang 3: Pagkonekta sa Mga Sensor sa NodeMCU
- Hakbang 4: Pag-install ng Mga Naaangkop na Aklatan
- Hakbang 5: Pagsubok sa Mga Sensor
- Hakbang 6: Paggamit ng Blynk
- Hakbang 7: Konklusyon
Video: Ginawang Simple ang IoT: Pagsubaybay sa Maramihang Mga Sensor: 7 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ilang linggo na ang nakalilipas, nai-publish ko dito ang isang tutorial tungkol sa pagsubaybay sa temperatura gamit ang isang DS18B20, isang digital sensor na nakikipag-usap sa isang 1-Wire bus, na nagpapadala ng data sa internet kasama ang NodeMCU at Blynk:
Ginawang Simple ang IoT: Temperatura ng Pagsubaybay Saanman
Ngunit ang napalampas namin sa paggalugad, ay isa sa mga mahusay na bentahe ng ganitong uri ng sensor na ang posibilidad ng pagkolekta ng maraming data, mula sa maraming mga sensor na konektado sa parehong 1-wire bus. At, oras na upang tuklasin din ito.
Palalawakin namin ang binuo sa huling tutorial, sinusubaybayan ngayon ang dalawang sensor ng DS18B20, naisaayos ang isa sa Celcius at ang isa pa sa Fahrenheit. Ipapadala ang data sa isang Blynk App, tulad ng ipinakita sa itaas na diagram ng block.
Hakbang 1: Bill ng Materyal
- NodeMCU ESP 12-E (*)
- 2 X DS18B20 Temperatura Sensor
- Resistor 4.7K Ohms
- BreadBoard
- Kable
(*) Ang anumang uri ng aparatong ESP ay maaaring magamit dito. Ang pinakakaraniwan ay ang NodeMCU V2 o V3. Parehas na gagana ang pareho.
Hakbang 2: Sensor ng Temperatura ng DS18B20
Gagamitin namin sa tutorial na ito ang isang hindi tinatablan ng tubig na bersyon ng sensor ng DS18B20. Napaka-kapaki-pakinabang para sa malayong temperatura sa mga basang kondisyon, halimbawa sa isang mahalumigmig na lupa. Ang sensor ay nakahiwalay at maaaring magsukat hanggang sa 125oC (hindi inirerekumenda ng Adafrut na gamitin ito nang higit sa 100oC dahil sa cable PVC jacket nito).
Ang DS18B20 ay isang digital sensor kung ano ang ginagawang mabuting gamitin kahit sa mahabang distansya! Ang mga 1-wire digital na sensor ng temperatura ay medyo tumpak (± 0.5 ° C sa higit sa saklaw) at maaaring magbigay ng hanggang 12 piraso ng katumpakan mula sa onboard na digital-to-analog converter. Gumagawa ang mga ito ng mahusay sa NodeMCU gamit ang isang solong digital pin, at maaari mo ring ikonekta ang maraming mga iyon sa parehong pin, ang bawat isa ay may natatanging 64-bit ID na sinunog sa pabrika upang makilala sila.
Gumagana ang sensor mula 3.0 hanggang 5.0V, ano ang ibig sabihin na maaari itong direktang mapagana mula sa isa sa mga 3.3V NodeMCU na pin.
Ang sensor ay may 3 mga wire:
- Itim: GND
- Pula: VCC
- Dilaw: 1-Wire Data
Dito, mahahanap mo ang buong data: DS18B20 Datasheet
Hakbang 3: Pagkonekta sa Mga Sensor sa NodeMCU
- Ikonekta ang 3 mga wire mula sa bawat sensor sa mini Breadboard tulad ng ipinakita sa larawan sa itaas. Gumamit ako ng mga espesyal na konektor upang mas mahusay na ayusin ang cable ng sensor dito.
-
Tandaan na ang parehong mga sensor ay kahanay. Kung mayroon kang higit sa 2 mga sensor, dapat mo ring gawin ang pareho.
- Pula ==> 3.3V
- Itim ==> GND
- Dilaw ==> D4
- Gumamit ng 4.7K ohms resistor sa pagitan ng VCC (3.3V) at Data (D4)
Hakbang 4: Pag-install ng Mga Naaangkop na Aklatan
Upang magamit nang maayos ang DS18B20, kakailanganin ang dalawang aklatan:
- OneWire
- DallasTemperature
I-install ang parehong mga aklatan sa iyong Arduino IDE Library depository.
Tandaan na ang library ng OneWire ay DAPAT ang espesyal, binago upang magamit sa ESP8266, kung hindi man ay makakakuha ka ng isang error habang pinagsama-sama. Mahahanap mo ang huling bersyon sa itaas na link.
Hakbang 5: Pagsubok sa Mga Sensor
Para sa pagsubok sa mga sensor, i-download ang file sa ibaba mula sa aking GitHub:
NodeMCU_DS18B20_Dual_Se nsor_test.ino
/**************************************************************
* Maramihang Pagsubok sa Sendor ng Temperatura * * 2 x OneWire Sensor: DS18B20 * Nakakonekta sa NodeMCU D4 (o Arduino Pin 2) * * Binuo ni Marcelo Rovai - 25 Agosto 2017 ****!!!!!! ***** isama ang # tukuyin ang ONE_WIRE_BUS 2 // DS18B20 sa NodeMCU pin D4 OneWire oneWire (ONE_WIRE_BUS); DallasTemperature DS18B20 (& oneWire); void setup () {Serial.begin (115200); DS18B20.begin (); Serial.println ("Pagsubok ng data ng Dual Sensor"); } void loop () {float temp_0; lumutang temp_1; DS18B20.requestTemperature (); temp_0 = DS18B20.getTempCByIndex (0); // Ang Sensor 0 ay kukuha ng Temp sa Celcius temp_1 = DS18B20.getTempFByIndex (1); // Ang Sensor 0 ay kukuha ng Temp sa Fahrenheit Serial.print ("Temp_0:"); Serial.print (temp_0); Serial.print ("oC. Temp_1:"); Serial.print (temp_1); Serial.println ("oF"); pagkaantala (1000); }
Sa pagtingin sa code sa itaas, dapat nating mapansin na ang pinakamahalagang linya ay:
temp_0 = DS18B20.getTempCByIndex (0); // Ang Sensor 0 ay kukuha ng Temp sa Celcius
temp_1 = DS18B20.getTempFByIndex (1); // Ang Sensor 0 ay kukuha ng Temp sa Fahrenheit
Ang una ay magbabalik ng isang halaga mula sa Sensor [0] (tingnan ang "index (0)") sa Celcius (tingnan ang bahagi ng code: "getTempC". Ang pangalawang linya ay nauugnay sa Sensor [1] at ibabalik ang data sa Fahrenheit. Maaari kang magkaroon ng mga "n" sensor dahil mayroon kang ibang "index" para sa bawat isa sa kanila.
I-upload ngayon ang code sa iyong NodeMCU at subaybayan ang temperatura gamit ang Serial Monitor.
Ipinapakita ng larawan sa itaas ang inaasahang resulta. Hawakan ang bawat isa sa mga sensor sa iyong kamay, dapat mong makita ang pagtaas ng temperatura.
Hakbang 6: Paggamit ng Blynk
Sa sandaling simulan mo ang pagkuha ng data ng temperatura, oras na upang makita ito mula sa kahit saan. Gagawin namin ito gamit ang Blynk. Kaya, ang lahat ng nakuhang data ay ipapakita nang real time sa iyong mobile device at gagawa rin kami ng isang makasaysayang deposito para doon.
Sundin ang mga hakbang sa ibaba:
- Lumikha ng isang Bagong Project.
- Bigyan ito ng isang pangalan (sa aking kaso na "Dual Temperature Monitor")
- Piliin ang Bagong Device - ESP8266 (WiFi) bilang "Aking Mga Device"
- Kopyahin ang AUTH TOKEN upang magamit sa code (maaari mo itong ipadala sa iyong email).
-
May kasamang dalawang "Gauge" na Mga Widget, na tumutukoy sa:
- Gagamitin ang virtual pin sa bawat sensor: V10 (Sensor [0]) at V11 (Sensor [1])
- Saklaw ng temperatura: -5 hanggang 100 oC para sa Sensor [0]
- Saklaw ng temperatura: 25 hanggang 212 oC para sa Sensor [1]
- Ang dalas upang basahin ang data: 1 segundo
- May kasamang Widget na "History Graph", na tumutukoy sa V10 at V11 bilang mga virtual na pin
- Pindutin ang "Play" (Ang tatsulok sa kanang sulok)
Siyempre, ipapadala sa iyo ng Blynk App na ang NodeMCU ay wala sa linya. Panahon na upang mai-upload ang buong code sa iyong Arduino IDE. Maaari mo itong makuha dito:
NodeMCU_Dual_Sensor_Blynk_Ext.ino
Baguhin ang "data ng dummy" gamit ang iyong sariling mga kredensyal.
/ * Mga kredensyal ng Blynk * /
char auth = "IYONG BLYNK AUTH CODE DITO"; / * Mga kredensyal sa WiFi * / char ssid = "IYONG SSID"; char pass = "IYONG PASSWORD";
At yun lang!
Sumunod sa buong code. Karaniwan ito ay ang nakaraang code, kung saan nagpasok kami na may mga parameter ng Blynk at mga tukoy na pag-andar. Tandaan ang 2 huling linya ng code. Iyon ang pinakamahalaga rito. Kung mayroon kang higit pang mga sensor ng pagkolekta ng data, dapat mo ring magkaroon ng katumbas ng mga bagong linya tulad ng mga iyan (na may kinalaman sa mga bagong virtual na pin na tinukoy).
/**************************************************************
* IoT Maramihang Monitor ng Temperatura kasama ang Blynk * Ang aklatan ng Blynk ay lisensyado sa ilalim ng lisensya ng MIT * Ang halimbawang code na ito ay nasa pampublikong domain. * * Maramihang Sensor ng OneWire: DS18B20 * Binuo ni Marcelo Rovai - 25 Agosto 2017 ***** ***** huwag paganahin ang mga kopya at makatipid ng puwang / * Mga kredensyal ng Blynk * / char auth = "IYONG BLYNK AUTH CODE DITO"; / * Mga kredensyal ng WiFi * / char ssid = "IYONG SSID"; char pass = "IYONG PASSWORD"; / * TIMER * / # isama ang SimpleTimer timer; / * DS18B20 Temperature Sensor * / #include #include #define ONE_WIRE_BUS 2 // DS18B20 sa arduino pin2 ay tumutugma sa D4 sa pisikal na board na OneWire oneWire (ONE_WIRE_BUS); DallasTemperature DS18B20 (& oneWire); int temp_0; int temp_1; void setup () {Serial.begin (115200); Blynk.begin (auth, ssid, pass); DS18B20.begin (); timer.setInterval (1000L, getSendData); Serial.println (""); Serial.println ("Pagsubok ng data ng Dual Sensor"); } void loop () {timer.run (); // Initiates SimpleTimer Blynk.run (); } / ***** *** * Magpadala ng data ng Sensor kay Blynk ************************************* ********* / void getSendData () {DS18B20.requestTemperature (); temp_0 = DS18B20.getTempCByIndex (0); // Ang Sensor 0 ay kukuha ng Temp sa Celcius temp_1 = DS18B20.getTempFByIndex (1); // Ang Sensor 0 ay kukuha ng Temp sa Fahrenheit Serial.print ("Temp_0:"); Serial.print (temp_0); Serial.print ("oC. Temp_1:"); Serial.print (temp_1); Serial.println ("oF"); Blynk.virtualWrite (10, temp_0); // virtual pin V10 Blynk.virtualWrite (11, temp_1); // virtual pin V11}
Kapag na-upload at tumatakbo na ang code, suriin ang Blynk app. Dapat itong tumatakbo din ngayon tulad ng ipinakita sa itaas ng naka-print na screen mula sa aking iPhone.
Hakbang 7: Konklusyon
Tulad ng nakasanayan, inaasahan kong matulungan ng proyektong ito ang iba na mahanap ang kanilang paraan sa kapanapanabik na mundo ng electronics, robotics, at IoT!
Mangyaring bisitahin ang aking GitHub para sa na-update na mga file: NodeMCU Dual Temp Monitor
Para sa higit pang mga proyekto, mangyaring bisitahin ang aking blog: MJRoBot.org
Saludos mula sa timog ng mundo!
Magkita tayo sa susunod kong turo!
Salamat, Marcelo
Inirerekumendang:
Mga Laruang Switch-Adapt: isang Steam Train Toy na Ginawang Naa-access !: 7 Mga Hakbang (na may Mga Larawan)
Switch-Adapt Laruan: isang Steam Train Toy Ginawang Naa-access !: Ang pagbagay ng Laruan ay magbubukas ng mga bagong paraan at na-customize na solusyon upang payagan ang mga bata na may limitadong kakayahan sa motor o mga kapansanan sa pag-unlad na makipag-ugnay sa mga laruan nang nakapag-iisa. Sa maraming mga kaso, ang mga bata na nangangailangan ng inangkop na mga laruan ay hindi maaring
Alisin ang Background ng Maramihang Mga Larawan Gamit ang Photoshop 2020: 5 Mga Hakbang
Alisin ang Background ng Maramihang Mga Larawan Gamit ang Photoshop 2020: Ang pag-aalis ng background ng isang larawan ay napakadali ngayon! Ito kung paano gamitin ang Adobe Photoshop 2020 upang alisin ang background ng maraming (batch) na mga imahe gamit ang isang simpleng script
ATtiny85 Nasusuot na Pagsubaybay ng Aktibidad na Pagsubaybay ng Aktibidad at Programming ATtiny85 Sa Arduino Uno: 4 na Hakbang (na may Mga Larawan)
ATtiny85 Nasusuot na Pagsubaybay ng Aktibidad na Pagsubaybay sa Aktibidad at Programming ATtiny85 Sa Arduino Uno: Paano gagawin ang relo ng pagsusuot ng aktibidad na maaaring panoorin? Ito ay isang naisusuot na gadget na dinisenyo upang mag-vibrate kapag nakita nito ang pagwawalang-kilos. Ginugugol mo ba ang karamihan ng iyong oras sa computer na tulad ko? Nakaupo ka ba nang maraming oras nang hindi namamalayan? Pagkatapos ang aparatong ito ay f
Nakakonekta ang Maramihang SENSOR SA RASPBERRY PI: 6 na Hakbang (na may Mga Larawan)
KONEKTO NG MULTIPLE SENSORS SA RASPBERRY PI: Sa proyektong ito, ikonekta namin ang tatlo sa mga sensor ng Atlas Scientific na EZO (pH, natunaw na oxygen at temperatura) sa isang Raspberry Pi 3B +. Sa halip na i-wire ang mga circuit sa Raspberry Pi, gagamitin namin ang kalasag ng Whitebox Labs Tentacle T3. T
Pagsubaybay sa Kalusugan ng Structural ng Mga Infrastruktur na Sibil Gamit ang Mga Wireless Vibration Sensor: 8 Mga Hakbang
Pagsubaybay sa Kalusugan ng Struktural ng Mga Infrastrukturang Sibil Gamit ang Mga Wireless Vibration Sensor: Ang pagkasira ng dating gusali at Sibil na Infrastructure ay maaaring humantong sa nakamamatay at Mapanganib na sitwasyon. Ang patuloy na pagsubaybay sa mga istrukturang ito ay sapilitan. Ang pagsubaybay sa kalusugan ng istruktura ay isang napakahalagang pamamaraan sa pagsusuri ng