Orodha ya maudhui:
- Hatua ya 1: Uainishaji wa vifaa na programu
- Hatua ya 2: Kuunda Portal ya Mateka
- Hatua ya 3: Kutoa Hati za WiFi na UbiDots
- Hatua ya 4: Kuchapisha Usomaji wa Sensorer kwa UbiDots
- Hatua ya 5: Kuangalia Takwimu
- Hatua ya 6: Kanuni ya Jumla
Video: UbiDots-Kuunganisha ESP32 na Kuchapisha Takwimu nyingi za Sensorer: Hatua 6
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 Sensorer kutoka kwa Sensorer za Wavu na sensorer za unyevu.
- Kukaribisha fomu ya wavuti kutoka kwa ESP32.
- Kusoma na Kuandika kutoka kwa SPIFFS ESP32.
Hatua ya 1: Uainishaji wa vifaa na programu
- ESP32 WiFi / BLE
- Joto lisilo na waya na Sura ya Unyevu
Uainishaji wa Programu
Arduino IDE
Hatua ya 2: Kuunda Portal ya Mateka
Sehemu ya wafungwa ni ukurasa wa wavuti ambao huonyeshwa kwa watumiaji wapya waliounganishwa kabla ya kupewa ufikiaji mpana wa rasilimali za mtandao. Hapa tunatumikia kurasa tatu za wavuti kuchagua kati ya DHCP na Mipangilio ya IP tuli. tunaweza kufafanua anwani ya IP kwa ESP kwa njia mbili.
- Anwani ya IP ya DHCP - ni njia ya kupeana anwani ya IP kwa kifaa. Anwani ya IP ya default ya ESP ni 192.168.4.1
- Anwani ya IP tuli-kupeana anwani ya IP ya kudumu kwa kifaa chetu cha mtandao. kutoa IP tuli kwa kifaa tunachohitaji kufafanua anwani ya IP, anwani ya lango, na kinyago cha subnet.
Ukurasa wa wavuti wa kwanza umeshikiliwa mnamo 192.168.1.77. Hapa Mtumiaji hutolewa na vifungo vya redio kuchagua kati ya mipangilio ya DHCP na IP ya tuli. Katika ukurasa wa wavuti unaofuata, lazima tupe habari zinazohusiana na IP ili kuendelea zaidi.
Nambari ya HTML
Nambari ya HTML ya kurasa za wavuti inaweza kupatikana katika hifadhi hii ya Github. Unaweza kutumia IDE yoyote au mhariri wa maandishi kama Sublime au notepad ++ kutengeneza kurasa za wavuti za HTML.
- Kwanza Unda ukurasa wa wavuti wa HTML ulio na vifungo viwili vya redio kuchagua kati ya DHCP na Mipangilio ya IP ya tuli.
- Sasa tengeneza kitufe cha kuwasilisha majibu yako
- Toa jina kwa vifungo vya redio.
- Darasa la seva ya Wavuti ya ESP itachukua majina haya kama hoja na kupata majibu ya vifungo vya redio kutumia hoja hizi
- Sasa ingiza kitufe cha 'SUBMIT' ili kutuma majibu kwenye kifaa. Katika kurasa zingine za wavuti, tuna masanduku ya maandishi.
- Toa thamani ya jina na aina ya Ingizo kwenye sanduku la maandishi na ongeza kitufe cha kuwasilisha kwa 'SUBMIT' wasilisha majibu.
- Unda kitufe cha 'Rudisha' ili kuweka upya yaliyomo kwenye uwanja wa maandishi.
Hatua ya 3: Kutoa Hati za WiFi na UbiDots
Shida kuu hufanyika wakati unasimamia vitambulisho vya WiFi. Ingawa tuna maktaba ya WiFiMulti kwa mahali ambapo tunaweza kutoa SSID nyingi na nywila kwa kifaa na kifaa kitaunganisha kwenye mtandao unaopatikana. Lakini, vipi ikiwa mtandao haupatikani kwenye orodha ya WiFiMulti. Kuangaza kifaa cha ESP32 kila wakati sio suluhisho la kuaminika.
Ili kutatua shida hii, tunashikilia ukurasa wa wavuti ambapo mtumiaji anaweza kuwasilisha SSID na Nenosiri la mtandao unaopatikana. Inafanya kazi kama ifuatavyo.
- Ukurasa wa wavuti umeshikiliwa kwa IP tuli au IP ya DHCP kama ilivyochaguliwa na mtumiaji kutoka kwa lango la wafungwa
- Ukurasa huu wa wavuti una sehemu za maandishi kuingia SSID, nywila, na kitambulisho cha ishara cha UBIDOTS kuunganisha kifaa kwa UbiDots.
- Ingiza SSID na nenosiri la WiFi yako ya ndani kwenye uwanja wa kuingiza, Ingiza kitambulisho cha ishara cha UbiDot na uingie SUBMIT
- Hati hizi zinahifadhiwa katika EEPROM ya ESP32
- Baada ya Kifaa cha sekunde 60 kitajiondoa kiatomati kutoka kwa AP
- Wakati mwingine utakapowasha kifaa, Mtumiaji haifai kufuata utaratibu huu, Kifaa kitachukua kiotomatiki hati za mtumiaji kutoka EEPROM na kuendelea na kuchapisha usomaji wa sensa kwa UbiDots.
Hatua ya 4: Kuchapisha Usomaji wa Sensorer kwa UbiDots
Hapa tunatumia sensorer za Joto na Unyevu zisizo na waya 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 _MAJADILI_YA_KUCHEZA # ni pamoja na
Mratibu 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 inadhibitiwa kupata joto halisi na data ya Unyevu
data ya uint8_t [29];
data [0] = Serial1.read (); kuchelewesha (k); // chck kwa kuanza byte ikiwa (data [0] == 0x7E) {wakati (! Serial1.available ()); kwa (i = 1; i <29; i ++) {data = Serial1.read (); kuchelewesha (1); } ikiwa (data [15] == 0x7F) /////// kuangalia ikiwa data ya kurudisha ni sahihi {ikiwa (data [22] == 1) //////// hakikisha aina ya kitambuzi ni sahihi {
unyevu = (((((data [24]) * 256) + data [25]) /100.0); unyevu /=10.0; cTempint = (((uint16_t) (data [26]) << 8) | data [27]); cTemp = (kuelea) cTempint / 100.0; cTemp / = 10.0; fTemp = cTemp * 1.8 + 32; fTemp / = 10.0; betri = nasibu (100, 327); voltage = betri / 100; nodeId = data [16];}
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 (Tunachukua kitambulisho cha ishara kutoka EEPROM)
#fafanua MQTT_CLIENT_NAME "MtejaVBShightime123"
char mqttBroker = "things.ubidots.com";
malipo ya char [100], mada ya char [150];
// tengeneza kutofautisha kuhifadhi kitambulisho cha ishara
Ishara ya kambaId;
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 () huchapisha data kwa UbiDots
Hatua ya 5: 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 6: Kanuni ya Jumla
Nambari ya Zaidi ya HTML na ESP32 inaweza kupatikana katika hazina hii ya GitHub.
Mikopo
- ncd ESP32 bodi ya kuzuka.
- ncd joto la waya na sensorer za unyevu.
- pubsubclient
- UbiDots
- Mratibu wa Kazi
Ilipendekeza:
Fanya Viwanja Vizuri kutoka kwa Takwimu za Arduino za Moja kwa moja (na Hifadhi Takwimu kwa Excel): Hatua 3
Tengeneza Viwanja Vizuri kutoka kwa Takwimu za Arduino za Moja kwa Moja (na Hifadhi Takwimu kwa Excel): Sote tunapenda kucheza na kazi yetu ya P … lotter katika IDE ya Arduino. Walakini, wakati inaweza kuwa na faida kwa matumizi ya msingi, data inafutwa zaidi vidokezo vinaongezwa na sio kupendeza macho. Mpangaji wa Arduino IDE hana
Jinsi ya Kuchapisha Takwimu za ESP32 na Muhuri wa NTP kwa Wingu la IoT: Hatua 5
Jinsi ya Kuchapisha Takwimu za ESP32 na Rekodi ya NTP kwa Wingu la IoT: Katika programu nyingi, watumiaji wanahitaji kutuma data zao pamoja na muhuri wa muda wa maadili ya kupelekwa kwa malipo kwa wingu la AskSensors IoT. Muundo wa timestamp ni wakati wa Enzi ya UNIX: idadi ya millisecond ambazo zimepita tangu Janu
Kusoma Takwimu za Ultrasonic (HC-SR04) Takwimu kwenye LCD ya 128 × 128 na kuiona kwa kutumia Matplotlib: Hatua 8
Kusoma Takwimu za Utambuzi wa Ultrasonic (HC-SR04) kwenye LCD ya 128 × 128 na Kuiona Ukitumia Matplotlib: Katika hii inayoweza kufundishwa, tutatumia MSP432 LaunchPad + BoosterPack kuonyesha data ya sensa ya ultrasonic (HC-SR04) kwenye 128 × 128 LCD na tuma data kwa PC mfululizo na uione kwa kutumia Matplotlib
Interface LCD nyingi kwa Arduino Uno Kutumia Njia ya Kawaida ya Takwimu: Hatua 5
Interface LCD nyingi kwa Arduino Uno Kutumia Njia ya Kawaida ya Takwimu: Leo, katika hii inayoweza kufundishwa nitakuonyesha jinsi ya kuunganisha moduli nyingi za 16x2 LCD na bodi ya arduino uno ukitumia laini ya data ya kawaida. Jambo la kufurahisha zaidi kuhusu mradi huu ni, hutumia laini ya data ya kawaida na kuonyesha data tofauti katika e
Kuchapisha data ya sensorer ya Shinikizo la Wireless Kutumia MQTT: Hatua 7
Kuchapisha data ya sensorer ya Shinikizo la Wireless Kutumia MQTT: 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