Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Pima Joto na Unyevu
- Hatua ya 2: Unda na Sanidi Mradi
- Hatua ya 3: Sakinisha Maktaba
- Hatua ya 4: Unganisha Sense ya DHT11
- Hatua ya 5: Kutuma Takwimu kwenye Wingu
- Hatua ya 6: Utambuzi
- Hatua ya 7: Anza na utatue mradi
- Hatua ya 8: Usanidi wa Dashibodi
- Hatua ya 9: Hitimisho
Video: Kuunganisha Sensorer ya DHT11 / DHT22 kwa Wingu na Bodi ya ESP8266: Hatua 9
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Katika nakala iliyopita, niliunganisha bodi yangu ya NodeMCU ya ESP8266 kwa huduma ya Cloud4RPi. Sasa, ni wakati wa mradi halisi!
Vifaa
Mahitaji ya vifaa:
- Bodi yoyote kulingana na chip ya ESP8266 (kwa mfano, NodeMCU)
- Sensorer ya DHT11 au DHT22
Programu na huduma:
- Maktaba ya sensorer ya DHT na Adafruit - v1.3.7
- Sura ya Umoja wa Adafruit - v1.0.3
- cloud4rpi-esp-arduino - v0.1.0
- Cloud4RPI - Jopo la kudhibiti wingu kwa vifaa vya IoT
- PlatformIO IDE ya VSCode
Hatua ya 1: Pima Joto na Unyevu
Tayari nilikuwa na sensorer ya DHT11, kwa hivyo niliamua kuitumia kwa vipimo vya joto na unyevu. Wacha tuchague maktaba ya Arduino ili kusoma data ya sensorer.
Usajili wa Arduino una maktaba kadhaa, ambayo nilichagua ile maarufu zaidi.
Kulingana na hazina yao ya GitHub, tunatakiwa pia kuongeza kifurushi cha Sura ya Sawa ya Adafruit.
Hatua ya 2: Unda na Sanidi Mradi
Nimeelezea tayari jinsi ya kuunda mradi wa PlatformIO na kusanikisha maktaba katika sehemu ya kwanza. Mradi wangu unaitwa "MyNodeMCU". Muundo umeonyeshwa hapo juu.
Mradi huu ni mfano wa Cloud4RPi uliobadilishwa kidogo. Niliamua kuhifadhi tokeni ya kifaa na vitambulisho vya Wi-Fi kwenye faili ya usanidi badala ya nambari.
Faili ya platform.io inaonekana kama ifuatavyo:
[platformio] default_envs = nodemcuv2 [env: nodemcuv2] jukwaa = espressif8266 mfumo = bodi ya arduino = nodemcuv2
Hatua ya 3: Sakinisha Maktaba
Ufungaji wa maktaba ni rahisi sana. Unaweza kuifanya kutoka kwa kielelezo cha picha cha IDE, au kwa kuongeza majina yanayohitajika ya maktaba kwenye sehemu ya lib_deps ya faili ya platform.io:
; … Lib_deps = cloud4rpi-esp-arduino Adafruit Unified Sensor DHT sensor maktaba build_flags = -D MQTT_MAX_PACKET_SIZE = 1024 -D MQTT_MAX_TRANSFER_SIZE = 128 -D CLOUD4RPI_DEBUG = 0 -D SSID_NAME = "" = " D CLOUD4RPI_TOKEN = / "_ YAKO_YA_KUCHEKESHA _ \"
Maktaba zilizoongezwa zitawekwa kiatomati kwenye folda ndogo ya mradi.
Kichwa kuu.cpp kinaonekana kama ifuatavyo:
# pamoja na # pamoja na # pamoja na # pamoja na "DHT.h"
Hatua ya 4: Unganisha Sense ya DHT11
Adafruit hutoa mfano wa DHTtester.ino wa unganisho la sensa.
Nambari hii inaanzisha sensorer na hufafanua muundo wa kuhifadhi matokeo ya kipimo (ikiwa ingefanikiwa):
#fafanua DHTPIN 2 // Pini ya dijiti iliyounganishwa na sensor ya DHT # fafanua DHTTYPE DHT11 // DHT 11 //… DHT dht (DHTPIN, DHTTYPE); kuanza (); //… muundo DHT_Result {kuelea h; kuelea t; }; DHT_Result dhtResult;
Kazi inayofuata inaonyesha jinsi ya kusoma data ya sensorer na kuihifadhi katika muundo wa data iliyoelezwa hapo juu
kusoma utupu Sensors () {kuelea h = dht.readHumidity (); // Soma joto kama Celsius (chaguo-msingi) kuelea t = dht.readTemperature ();
// Angalia ikiwa usomaji wowote umeshindwa na utoke
ikiwa (isnan (h) || isnan (t)) {Serial.println (F ("Imeshindwa kusoma kutoka kwa sensorer ya DHT!")); kurudi; } dhtResult.h = h; dhtResult.t = t; }
Hatua ya 5: Kutuma Takwimu kwenye Wingu
Mara tu tunapokuwa na data hiyo, hatua inayofuata ni kuipeleka kwa huduma ya Cloud4RPi.
Ukurasa wa Cloud4RPi wa Arduino unaelezea API ya maktaba, ambayo ni seti ya njia zinazotumiwa:
- unda, soma na usasishe vigeugeu,
- tuma maadili yanayobadilika ndani ya wingu ukitumia itifaki ya MQTT.
Maktaba inasaidia aina tatu tofauti: Bool, Numeric, na String.
Utiririshaji wa maktaba huanza na kuunda mfano wa API ukitumia Token ya Kifaa kutoka kwa wavuti ya cloud4rpi.io (rejea sehemu ya kifungu cha 1 kwa maelezo zaidi).
# ikiwa imefafanuliwa (CLOUD4RPI_TOKEN) Cloud4RPi c4r (CLOUD4RPI_TOKEN); #else Cloud4RPi c4r ("!!! _ NO_DEVICE_TOKEN _ !!!"); # mwisho
Kisha, tangaza vigeugeu kwa usomaji wa DHT11:
c4r.declareNumericVariable ("DHT11_Temp"); c4r.declareNumericVariable ("DHT11_Hum");
Kisha, pata data kutoka kwa sensa, wahifadhi katika vigeuzi na uchapishe data kwa Cloud4RPi:
c4r.setVariable ("DHT11_Temp", dhtResult.t); c4r.setVariable ("DHT11_Hum", dhtResult.h); c4r.chapishaData ();
Joto na unyevu haubadilika haraka, kwa hivyo kutuma zaidi ya thamani moja kwa dakika 5 haihitajiki.
Hatua ya 6: Utambuzi
Cloud4RPi inasaidia data ya utambuzi pamoja na maadili yanayobadilika. Nilitumia muda wa ziada, nguvu ya ishara ya Wi-Fi, na anwani ya IP kama data ya uchunguzi:
c4r.declareDiagVariable ("IP_Address"); c4r.declareDiagVariable ("RSSI"); // nguvu ya ishara ya WiFi c4r.declareDiagVariable ("Uptime");
Kumbuka: Kazi ya millis ninayotumia kupata upets uptime hadi sifuri kila siku ~ 50. Ambayo ni ya kutosha zaidi kwa mradi wangu.
Nambari ifuatayo inaweka nambari za kutofautisha za uchunguzi:
c4r.setDiagVariable ("RSSI", (String) WiFi. RSSI () + "dBm"); c4r.setDiagVariable ("IP_Address", WiFi.localIP (). toString ()); c4r.setDiagVariable ("Uptime", uptimeHumanReadable (currentMillis)); c4r.chapishaDiag ();
Kazi ya uptimeHumanReadable hubadilisha milliseconds kuwa fomu rahisi:
Muda wa kukazaHumanReadable (milliseconds ndefu ambazo hazijasainiwa) {static char uptimeStr [32]; sekunde zisizotiwa saini = milliseconds / 1000; dakika ndefu zisizosainiwa = sekunde / 60; masaa yasiyosajiliwa ya ndani = dakika / 60; siku ambazo hazijasainiwa = masaa / 24; sekunde - = dk * 60; dk - = masaa * 60; masaa - = siku * 24; sprintf (uptimeStr, "% d siku% 2.2d:% 2.2d:% 2.2d", (byte) siku, (byte) masaa, (byte) mins, (byte) sekunde); kurudi Kamba (uptimeStr); }
Kazi hutoa kamba kama hii siku 5 10:23:14 badala ya nambari kubwa ya kushangaza.
Hatua ya 7: Anza na utatue mradi
Baada ya kukusanya nambari iliyoundwa na kuangaza ndani ya NodeMCU, kifaa huunganisha na huduma ya wingu na kuanza kutuma data.
Unaweza kuongeza ujasusi wa magogo kwa kuweka preprocessor ya CLOUD4RPI_DEBUG inayobadilika kuwa 1 (ongeza -D CLOUD4RPI_DEBUG = 1 kujenga sehemu ya mabendera katika faili ya platform.io).
Ifuatayo, fungua tovuti ya cloud4rpi.io na uone kifaa kipya mkondoni. Fungua ili uone maadili yote yanayobadilishwa kutoka kwa kifaa: sensorer na uchunguzi.
Hatua ya 8: Usanidi wa Dashibodi
Katika hatua hii, unganisho la data na wingu linafanya kazi. Sasa, wacha tusanidi uwakilishi wa kuona wa data.
Nilitumia UI ya usanidi wa Dashibodi kuunda dashibodi ifuatayo.
Dashibodi inashirikiwa, kwa hivyo mimi huishiriki mara moja na rafiki yangu.
Hatua ya 9: Hitimisho
Nambari kamili ya mradi inapatikana katika kiini.
Hiyo ni yote kwa sasa!
Maswali na maoni yanakaribishwa katika maoni.
Ilipendekeza:
Kuunganisha Arduino WiFi kwa Wingu Kutumia ESP8266: Hatua 7
Kuunganisha Wifi ya Arduino kwenye Wingu Kutumia ESP8266: Katika mafunzo haya tutakuelezea jinsi ya kuunganisha Arduino yako na wingu la IoT kupitia WiFi. kuwasiliana na wingu la AskSensors.L
Misingi ya IOT: Kuunganisha IoT yako kwa Wingu Kutumia Mongoose OS: Hatua 5
Misingi ya IOT: Kuunganisha IoT Yako kwenye Wingu Kutumia Mongoose OS: Ikiwa wewe ni mtu anayejiingiza kwenye vifaa vya elektroniki, mara nyingi zaidi kuliko hivyo, utakutana na neno Internet la Vitu, kawaida hufupishwa kama IoT, na kwamba inahusu seti ya vifaa ambavyo vinaweza kuunganisha kwenye wavuti! Kuwa mtu kama huyo
KUUNGANISHA SENSA ZA KUZUNGUMZA KWA BODI MOJA YA ARDUINO UNO BANDARI: Hatua 4
KUUNGANISHA SENSOR NYINGI KWA ARDUINO UNO PORT SERVIC: Katika mafunzo haya, tutapanua bandari moja ya Arduino UNO UART (Rx / Tx) ili sensorer nyingi za Atlas ziunganishwe. Upanuzi unafanywa kwa kutumia bodi ya 8: 1 Serial Port Expander. Bandari ya Arduino imeunganishwa na upanuzi baada ya whi
Jinsi ya Kuunganisha Sensorer ya Unyevu wa Udongo na ESP8266 kwenye Wingu la AskSensors IoT: Hatua 10
Jinsi ya Kuunganisha Sensorer ya Unyevu wa Udongo na ESP8266 kwenye Wingu la AskSensors IoT: Mafundisho haya yanaonyesha jinsi ya kuunganisha kihisi chako cha unyevu wa mchanga na ESP8266 kwenye wingu la IoT. Kwa mradi huu tutatumia moduli ya WiFi ya node MCU ESP8266 na sensa ya unyevu ambayo hupima ujazo wa maji ndani ya hivyo
Jinsi ya Kuunganisha Bodi ya Kuchanganya na Nyoka ya Sauti ya Sauti kwa Mfumo wa Sauti: Hatua 3
Jinsi ya Kuunganisha Bodi ya Kuchanganya na Nyoka ya Sauti ya Sauti kwa Mfumo wa Sauti: Video inashughulikia misingi ya kuunganisha konjanya sauti (bodi ya kuchanganya au koni) kwa mfumo wa sauti ukitumia kebo ya nyoka ya kipaza sauti. Inashughulikia kipaza sauti na kutuma unganisho. Kwa habari zaidi: http://proaudiotraining.com