Orodha ya maudhui:
- Hatua ya 1: Uainishaji wa vifaa na programu
- Hatua ya 2: Shinikizo la waya na sensorer ya joto
- Hatua ya 3: Kuunganisha kwa WiFi
- Hatua ya 4: Kuweka UbiDots kwenye ESP32
- Hatua ya 5: Kuchapisha Usomaji wa Sensorer kwa UbiDots
- Hatua ya 6: Kuangalia Takwimu
- Hatua ya 7: Kanuni ya Jumla
Video: Kuchapisha data ya sensorer ya Shinikizo la Wireless Kutumia MQTT: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
ESP32 naESP 8266 ni SoC inayojulikana sana katika uwanja wa IoT. Hizi ni aina ya neema ya miradi ya IoT. ESP 32 ni kifaa kilicho na WiFi iliyojumuishwa na BLE. Toa tu usanidi wako wa SSID, nywila na IP na ujumuishe vitu kwenye wingu. Hapa katika hii inayoweza kufundishwa, Tutafakari kupitia maneno kadhaa ya msingi ya IoT kama jukwaa la IoT, MQTT, milango ya mateka n.k. wacha tuipitie
- Usanifu wa IoT kwa maneno rahisi sana una kifaa kilichopachikwa na jukwaa la IoT kuweka kifaa kwenye wingu. Hapa tunatumia jukwaa la UbiDots IoT kuibua data ya sensorer.
- Kusimamia mipangilio ya IP na sifa za Mtumiaji inaweza kuwa maumivu ya kichwa kwa mtumiaji. Je! Ikiwa Mtumiaji anataka kubadilisha sifa za WiFi? Je! Ikiwa mtumiaji anataka kubadili mipangilio ya IP ya DHCP / Static? Kuangaza ESP32 kila wakati sio kuaminika na hata suluhisho la shida hizi. Kwa hivyo tutakuwa tukipitia bandari ya wafungwa kuhifadhi vitambulisho vya WiFi na mazungumzo mengine.
- MQTT sasa inakuwa neno la kawaida sana katika ulimwengu wa IoT. imezidi ombi na majibu (HTTP) na Chapisha na Jisajili kwa sababu ya usanifu wa haraka, thabiti na konda.
Hapa katika hii inayoweza kufundishwa, tutakuwa tukionyesha.
- Kutoa sifa za WiFi na MQTT kutumia Portal Captive.
- Kuchapisha na Kuandikisha data nyingi za Sensor kwa UbiDots.
- Kusoma data ya Sensor kutoka kwa Shinikizo la Wavu na Sensor ya Joto
- Kukaribisha fomu ya wavuti kutoka kwa ESP32.
- Kusoma na Kuandika kutoka kwa SPIFFS ESP32.
Hatua ya 1: Uainishaji wa vifaa na programu
Ufafanuzi wa Vifaa
- ESP32 WiFi / BLE
- Shinikizo lisilo na waya na Sensorer ya Joto
Uainishaji wa Programu
- Arduino IDE
- XCTU
- Utumiaji wa Labview
Hatua ya 2: Shinikizo la waya na sensorer ya joto
Vipengele
- Viwanda Sensor Daraja la muda mrefu Mbingu ya Shinikizo la Joto la Shinikizo
- Aina ya Uendeshaji 0 hadi 14000 mbar -40 ° hadi + 85 ° C (-40 ° hadi 185 ° F)
- Usanidi wa Shinikizo la ndani la Usanidi wa Azimio 0.012 hadi 0.065 mbar
- Usanidi wa ndani wa Mahesabu ya Joto Kiwango cha 0.002 hadi 0.012 ° C
- Usahihi ± 2.5 mbar, ± 2 ° C
- Shinikizo kamili, Shinikizo la jamaa na Matokeo ya Mabadiliko ya Urefu
- 2 Mile Line-of-Sight Range na On-Board Antena
- Aina kubwa ya LOS ya hadi Maili 28 na Antena za Juu
- Muunganisho wa Raspberry Pi, Microsoft® Azure®, Arduino na Zaidi
- Mitandao isiyo na waya inayotumia DigiMesh ®
Kusanidi Shinikizo lisilo na waya na Sensorer ya Joto Kutumia Utumiaji wa Labview na XCTU
Sensor inaendeshwa kwa njia mbili
- Hali ya Usanidi: Sanidi Kitambulisho cha Pan, ucheleweshaji, Nambari ya kujaribu n.k. Zaidi juu ya hii ni zaidi ya upeo wa hii inayoweza kufundishwa na itaelezewa kwa utaratibu unaofuata.
- Njia ya Run: Tunatumia kifaa katika Njia ya Run. Na kuchambua dhamana hizi tunatumia Utumiaji wa Labview
UI hii ya Labview inaonyesha maadili katika grafu nzuri. Inaonyesha maadili ya sasa na ya zamani. Unaweza kwenda kwenye kiunga hiki kupakua UI ya Maoni. bonyeza ikoni ya Run kutoka kwenye menyu ya ukurasa wa kutua ili kwenda kwenye hali ya kukimbia.
Hatua ya 3: Kuunganisha kwa WiFi
Tunatumia bandari ya wafungwa kuhifadhi vitambulisho vya WiFi na kuelea kupitia mipangilio ya IP. Kwa utangulizi wa kina kwenye bandari ya wafungwa, unaweza kupitia yafuatayo yafundishwayo.
Mlango wa wafungwa hutupa fursa ya kuchagua kati ya mipangilio ya Static na DHCP. Ingiza tu vitambulisho kama Static IP, Subnet Mask, lango na Njia ya Sura isiyo na waya itasanidiwa kwenye IP hiyo.
Ukurasa wa wavuti unashughulikiwa ambapo orodha inayoonyesha mitandao inayopatikana ya WiFi na kuna RSSI. Chagua mtandao wa WiFi na nywila na uingie kuwasilisha. Sifa zitahifadhiwa katika EEPROM na mipangilio ya IP itahifadhiwa katika SPIFFS. Zaidi juu ya hii inaweza kupatikana katika hii inayoweza kufundishwa.
Hatua ya 4: Kuweka UbiDots kwenye ESP32
Hapa tunatumia Shinikizo la Wireless na Sensorer za Joto na kifaa cha ESP 32 kupata data ya joto na Unyevu. Tunatuma data kwa UbiDots kutumia itifaki ya MQTT. MQTT ifuatavyo utaratibu wa kuchapisha na usajili badala ya ombi na majibu. Ni haraka na ya kuaminika kuliko HTTP. Hii inafanya kazi kama ifuatavyo.
- Tunatumia Mpangaji Kazi Kupanga kazi kama kuchota data kutoka kwa sensorer, Kuchapisha usomaji wa sensa, Kujiandikisha kwa mada ya MQTT.
- Kwanza, ni pamoja na faili za kichwa cha Mratibu wa Kazi, ni mfano na hupanga majukumu.
- Tumepanga majukumu mawili yakimaanisha shughuli mbili tofauti za kudhibiti.
#fafanua _TASK_TIMEOUT # ni pamoja na Mpangaji ts; // --------- Kazi ------------ // Kazi tSensor (4 * TASK_SECOND, TASK_FOREVER, & taskSensorCallback, & ts, uwongo, NULL, & taskSensorDisable); Kazi tWiFi (10 * TASK_SECOND, TASK_FOREVER, & taskWiFiCallback, & ts, uwongo, NULL, & taskWiFiDisable);
- Kazi 1 ni kusoma thamani ya sensa kazi hii inaendesha kwa sekunde 1 hadi itakapofikia muda wa sekunde 10.
- Task1 inapofikia wakati wake wa nje Tunaunganisha kwa Wifi wa karibu na broker wa MQTT.
- Sasa Task 2 imewezeshwa na tunalemaza Task 1
- Kazi 2 ni kwa kuchapisha data ya sensorer kwa brokta wa UbiDots MQTT kazi hii inaendeshwa kwa sekunde 20 hadi itakapofikia muda wa sekunde 20
- Task2 inapofikia wakati wake nje Task 1 imewezeshwa tena na Task2 imezimwa. Hapa tena, tunapata thamani iliyosasishwa na mchakato unaendelea.
Kusoma Takwimu za Sensorer za I2C
Tunapata fremu ya 29-byte kutoka kwa sensorer ya joto isiyo na waya na sensorer za unyevu. Sura hii inatumiwa kupata data halisi ya joto na Unyevu
ikiwa (Serial1 haipatikani ())
{data [0] = Serial1.read (); kuchelewesha (k); ikiwa (data [0] == 0x7E) {wakati (! Serial1.available ()); kwa (i = 1; i <36; i ++) {data = Serial1.read (); kuchelewesha (1); } ikiwa (data [15] == 0x7F) /////// kuangalia ikiwa data ya kurudisha ni sahihi {ikiwa (data [22] == 0x06) ///////// hakikisha aina ya kitambuzi ni sahihi {int cTemp = (((((data [24]) * 256) + data [25])); int16_t abs_pressure = ((((uint16_t) (data [26]) << 8) | data [27]) * 0.001); int rlt_pressure = (((((data [28]) * 256) + data [29]) * 0.001); int16_t delta_alt = ((((uint16_t) (data [30]) << 8) | data [31]) * 0.01); kuelea betri = ((data [18] * 256) + data [19]); voltage ya kuelea = 0.00322 * betri; Serial.print ("Nambari ya Sensor"); Serial.println (data [16]); Serial.print ("Aina ya Sensorer"); Serial.println (data [22]); Serial.print ("Toleo la Firmware"); Serial.println (data [17]); Serial.print ("Joto katika Celsius:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("Shinikizo kamili:"); Serial.println (abs_pressure); Serial.print ("mbar"); Serial.print ("Shinikizo la Jamaa:"); Serial.println (rlt_pressure); Serial.print ("mbar"); Serial.print ("Urefu wa Delta:"); Serial.println (delta_alt); Serial.print ("mita"); Serial.print ("Thamani ya ADC:"); Serial.println (betri); Serial.print ("Voltage ya Batri:"); Printa ya serial (voltage); Serial.println ("\ n"); ikiwa (voltage <1) {Serial.println ("Wakati wa Kubadilisha Betri"); }}}} mwingine {kwa (i = 0; i <36; i ++) {Serial.print (data ); Serial.print (","); kuchelewesha (1); }}}}
Kuunganisha kwa UbiDots MQTT API
Jumuisha faili ya kichwa kwa mchakato wa MQTT
# pamoja
fafanua anuwai zingine za MQTT kama jina la mteja, anwani ya broker, kitambulisho cha ishara
#fafanua TOKEN "BBFF - ************************************" // Ubidots ZAKO ZILIZOPIGWA # fafanua MQTT_CLIENT_NAME "****************************"
char mqttBroker = "things.ubidots.com";
malipo ya char [100]; mada ya char [150]; // tengeneza kutofautisha kuhifadhi kitambulisho cha kitambulisho
Hatua ya 5: Kuchapisha Usomaji wa Sensorer kwa UbiDots
Unda vigeuzi vya kuhifadhi data tofauti za sensa na uunda ubadilishaji wa char kuhifadhi mada
#fafanua VARIABLE_LABEL_TEMPF "tempF" // Kudhibitisha lebo ya kutofautisha # fafanua VARIABLE_LABEL_TEMPC "tempC" // Kuhakikisha lebo ya kutofautisha #fafanua VARIABLE_LABEL_BAT "bat" #fafanua VARIABLE_LABEL_HUMID "unyevu" // Kuthibitisha lebo inayobadilika
mada ya char1 [100];
mada ya char2 [100]; mada ya char3 [100];
chapisha data kwenye mada iliyotajwa ya MQTT mzigo utakaonekana kama {"tempc": {value: "tempData"}}
sprintf (mada1, "% s", ""); sprintf (mada1, "% s% s", "/ v1.6/devices/", DEVICE_LABEL); sprintf (mzigo wa malipo, "% s", ""); // Husafisha malipo ya malipo (malipo, "{"% s / ":", VARIABLE_LABEL_TEMPC); // Inaongeza thamani ya sprintf (mzigo wa malipo, "% s {" thamani / ":% s}", malipo ya malipo, str_cTemp); // Anaongeza thamani ya sprintf (mzigo wa malipo, "% s}", mzigo wa malipo); // Hufunga mabano ya kamusi Serial.println (malipo ya malipo); Serial.println (mteja.chapisha (mada1, malipo ya malipo)? "Iliyochapishwa": "haijachapishwa"); // Fanya vivyo hivyo kwa mada nyingine pia
mteja.chapisha () inachapisha data kwa UbiDots
Hatua ya 6: Kuangalia Takwimu
- Nenda kwa Ubidots na Ingia kwenye akaunti yako.
- Nenda kwenye Dashibodi kutoka kwa kichupo cha Takwimu zilizoorodheshwa hapo juu.
- Sasa bofya ikoni ya "+" ili kuongeza vilivyoandikwa vipya.
- Chagua wijeti kutoka kwenye orodha na ongeza anuwai na vifaa.
- Takwimu za sensorer zinaweza kuonyeshwa kwenye dashibodi kwa kutumia vilivyoandikwa tofauti.
Hatua ya 7: Kanuni ya Jumla
Nambari ya Zaidi ya HTML na ESP32 inaweza kupatikana katika hazina hii ya GitHub.
Mikopo
- ncd ESP32 bodi ya kuzuka.
- Shinikizo la waya isiyo na waya na sensorer ya joto
- pubsubclient
- UbiDots
- Mratibu wa Kazi
Ilipendekeza:
Jinsi ya Kutumia Kijana Kuchapisha Picha kwenye Splatoon 2 Kutumia PrlatPost Printa: Hatua 10
Jinsi ya Kutumia Kijana Kuchapisha Picha kwenye Splatoon 2 Kutumia PrlatPost Printa: Katika hii Inayoweza Kuelekezwa, nitaonyesha jinsi ya kutumia SplatPost Printer na ShinyQuagsire. Bila maagizo wazi, mtu ambaye hana uzoefu na laini ya amri atakuwa na shida kidogo. Lengo langu ni kurahisisha hatua za kwenda kwa poi
Shinikizo Nyeti ya sakafu ya shinikizo: Hatua 9 (na Picha)
Shinikizo Nyeti ya sakafu ya shinikizo: Katika Maagizo haya nitashiriki muundo wa sensoer ya sakafu nyeti ya shinikizo ambayo ina uwezo wa kugundua ukisimama juu yake. Ingawa haiwezi kukupima haswa, inaweza kuamua ikiwa unasimama juu yake na uzani wako kamili au ikiwa wewe ni ma
Shinikizo Kubwa la Rangi Nyepesi ya Shinikizo - Spectra Bauble ™: Hatua 10 (na Picha)
Shinikizo Kubwa la Rangi Nyepesi ya Shinikizo - Spectra Bauble ™: Rafiki alitaka taa ya kuchekesha kwa tafrija na kwa sababu fulani hii ilinijia akilini: Mpira mkubwa wa puto-squishy ambao ukiusukuma hubadilisha rangi yake na hutengeneza sauti. Nilitaka kutengeneza kitu cha asili na cha kufurahisha. Inatumia shinikizo la hewa
Shinikizo Sketi ya Umeme ya Shinikizo: Hatua 7
Skateboard Inayosumbua Umeme ya Shinikizo: Hii inaweza kufundishwa iliundwa kutimiza mahitaji ya mradi wa Makecourse katika Chuo Kikuu cha Florida Kusini (www.makecourse.com). Yafuatayo yanafundishwa yataelezea mchakato wa ujenzi wa skateboard ya umeme inayotumia shinikizo
Sensor ya Shinikizo la Shinikizo inayobadilika: Hatua 4 (na Picha)
Sensor ya Shinikizo la kitambaa inayobadilika: Jinsi ya kutengeneza sensorer ya shinikizo ya kitambaa kutoka kwa tabaka 3 za kitambaa chenye nguvu. Agizo hili limepitwa na wakati. Tafadhali angalia Maagizo yafuatayo ya matoleo yaliyoboreshwa: > > https://www.instructables.com/id/Conductive-Thread-Pre