Orodha ya maudhui:

Kuchapisha data ya sensorer ya Shinikizo la Wireless Kutumia MQTT: Hatua 7
Kuchapisha data ya sensorer ya Shinikizo la Wireless Kutumia MQTT: Hatua 7

Video: Kuchapisha data ya sensorer ya Shinikizo la Wireless Kutumia MQTT: Hatua 7

Video: Kuchapisha data ya sensorer ya Shinikizo la Wireless Kutumia MQTT: Hatua 7
Video: Display WiFi Access Points on LCD with ESP8266 signal strength as percentage 2024, Novemba
Anonim
Kuchapisha Takwimu za Sensor za Shinikizo lisilotumia waya Kutumia MQTT
Kuchapisha Takwimu za Sensor za Shinikizo lisilotumia waya 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 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

Shinikizo lisilo na waya na Sensorer za Joto
Shinikizo lisilo na waya na Sensorer za Joto
Shinikizo lisilo na waya na Sensorer za Joto
Shinikizo lisilo na waya na Sensorer za Joto
Shinikizo lisilo na waya na Sensorer za Joto
Shinikizo lisilo na waya na Sensorer za 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

Kuunganisha kwa WiFi
Kuunganisha kwa WiFi
Kuunganisha kwa WiFi
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

Kuanzisha UbiDots kwenye ESP32
Kuanzisha 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

Kuchapisha Usomaji wa Sensorer kwa UbiDots
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

Kuibua Takwimu
Kuibua 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: