Orodha ya maudhui:
- Hatua ya 1: Vipengele vinahitajika
- Hatua ya 2: Kufunga Maktaba Inayohitajika
- Hatua ya 3: ESP32 LoRa Thingspeak Gateway
- Hatua ya 4: Node ya Sensor ya ER32 ya ESP32
- Hatua ya 5: Kuanzisha Mambo ya Kusema
- Hatua ya 6: Nambari ya lango
- Hatua ya 7: Nambari ya Nambari ya Sensorer
- Hatua ya 8: Fuatilia Takwimu kwenye Seva ya Thingspeak
- Hatua ya 9: Marejeleo
Video: Lango la ESP32 Lora Thingspeak na Node ya Sensorer: Hatua 9
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
katika Mradi huu wa IoT, nilibuni ESP32 LoRa Gateway na pia ESP32 LoRa Sensor Node kufuatilia kusoma kwa sensorer bila waya kutoka umbali wa kilomita chache. Mtumaji atasoma unyevu na data ya joto kwa kutumia Sensorer ya DHT11. Halafu inasambaza data kupitia Radi ya LoRa. Takwimu zinapokelewa na moduli ya mpokeaji. Mpokeaji kisha atatuma data hiyo kwa seva ya Thingspeak baada ya muda fulani.
Hatua ya 1: Vipengele vinahitajika
1. Bodi ya ESP32 - 2
2. Moduli ya Lora SX1278 / SX1276
3. Sensorer ya joto ya unyevu wa DHT11
4. Bodi ya mkate
5. Kuunganisha waya za Jumper
Hatua ya 2: Kufunga Maktaba Inayohitajika
Tunahitaji kufunga maktaba tofauti kwanza:
1. Maktaba ya DHT11
2. Maktaba ya LoRa
Hatua ya 3: ESP32 LoRa Thingspeak Gateway
Sasa wacha tuone mzunguko wa mtumaji na mpokeaji wa kujenga ESP32 LoRa Gateway & Node ya Sensor. Nilikusanya mzunguko wote kwenye ubao wa mkate. Unaweza kuifanya kwenye PCB ikiwa unataka.
Hapa kuna Mzunguko wa Lango la ESP32 LoRa SX1278. Sehemu hii inafanya kazi kama Mpokeaji. Takwimu za unyevu na joto hupokelewa kwa kutumia Radi ya LoRa na kupakiwa kwenye seva ya Thingspeak.
Hatua ya 4: Node ya Sensor ya ER32 ya ESP32
Hapa kuna Mzunguko wa Node ya Sura ya ESP32 na Sense ya DHT11. Sehemu hii inafanya kazi kama mpitishaji. Takwimu za unyevu na joto husomwa na Sensor ya Joto la unyevu wa DHT11 na hupitishwa kwa kutumia Radi ya LoRa.
Hatua ya 5: Kuanzisha Mambo ya Kusema
Ili Kufuatilia Takwimu za Sensorer kwenye Seva ya Thingspeak, unahitaji kwanza kuanzisha Usanifu. Kuanzisha Seva ya Thingspeak, tembelea https://thingspeak.com/. Unda akaunti au ingia tu ikiwa umeunda akaunti mapema. Kisha unda kituo kipya na maelezo yafuatayo.
Hatua ya 6: Nambari ya lango
# pamoja
// Maktaba za LoRa # pamoja na # pamoja # kufafanua pini zinazotumiwa na moduli ya transceiver ya LoRa #fafanua ss 5 #fafanua rst 14 #fafanua dio0 2 #fafanua BAND 433E6 // 433E6 kwa Asia, 866E6 kwa Ulaya, 915E6 kwa Amerika ya Kaskazini // Badilisha na sifa za mtandao wako String apiKey = "14K8UL2QEK8BTHN6"; // Ingiza kitufe chako cha Andika API kutoka ThingSpeak const char * ssid = "Wifi SSID"; // badilisha na wifi ssid yako na wpa2 key const char * password = "Nenosiri"; const char * server = "api.thingspeak.com"; Mteja wa Wateja wa WiFi; // Anzisha vigezo kupata na kuhifadhi data ya LoRa int rssi; Kamba ya loRaMessage; Joto la kamba; Unyevu wa kamba; Kusoma kwa kamba; // Inachukua nafasi ya mmiliki wa nafasi na maadili ya DHT Kichakataji cha Kamba (const String & var) {//Serial.println(var); ikiwa (var == "TEMPERATURE") {joto la kurudi; } kingine ikiwa (var == "HUMIDITY") {kurudi unyevu; } kingine ikiwa (var == "RRSI") {Return String (rssi); } Rudisha Kamba (); } usanidi batili () {Serial.begin (115200); int counter; // kuanzisha moduli ya transceiver ya LoRa LoRa.setPins (ss, rst, dio0); // kuanzisha moduli ya transceiver ya LoRa wakati (! LoRa.begin (BAND) && counter <10) {Serial.print ("."); kaunta ++; kuchelewa (2000); } ikiwa (counter == 10) {// Kuongeza kusoma kwa kila kusoma mpya Serial.println ("Kuanzisha LoRa imeshindwa!"); } Serial.println ("Uanzishaji wa LoRa Sawa!"); kuchelewa (2000); // Unganisha kwenye mtandao wa Wi-Fi na SSID na nenosiri Serial.print ("Kuunganisha kwa"); Serial.println (ssid); Kuanza kwa WiFi (ssid, password); wakati (WiFi.status ()! = WL_CONNECTED) {kuchelewesha (2000); Printa ya serial ("."); } // Chapisha anwani ya IP ya ndani na uanze seva ya wavuti Serial.println (""); Serial.println ("WiFi imeunganishwa."); Serial.println ("Anwani ya IP:"); Serial.println (WiFi.localIP ()); } // Soma pakiti ya LoRa na upate usomaji wa sensa utupu wa kitanzi () {int packetSize = LoRa.parsePacket (); ikiwa (packetSize) {Serial.print ("pakiti ya Lora imepokea:"); wakati (LoRa haipatikani ()) // Soma pakiti {String LoRaData = LoRa.readString (); Serial.print (LoRaData); int pos1 = LoRaData.indexOf ('/'); int pos2 = LoRaData.indexOf ('&'); kusomaID = LoRaData.substring (0, pos1); // Pata joto la kusomaID = LoRaData.substring (pos1 1, pos2); // Pata unyevu wa joto = LoRaData.substring (pos2 + 1, LoRaData.length ()); // Pata unyevu} rssi = LoRa.packetRssi (); // Pata RSSI Serial.print ("na RSSI"); Serial.println (rssi); } ikiwa (mteja.connect (seva, 80)) // "184.106.153.149" au api.thingspeak.com {String postStr = apiKey; postStr + = "& uwanja1 ="; postStr + = Kamba (kusomaID); postStr + = "& shamba2 ="; postStr + = Kamba (joto); postStr + = "& uwanja3 ="; postStr + = Kamba (unyevu); postStr + = "& uwanja4 ="; postStr + = Kamba (rssi); postStr + = "\ r / n / r / n / r / n / r / n"; alama ya mteja ("POST / sasisha HTTP / 1.1 / n"); mteja.print ("Mwenyeji: api.thingspeak.com / n"); alama ya mteja ("Uunganisho: funga / n"); alama ya mteja ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); mteja.print ("Aina ya Maudhui: matumizi / x-www-form-urlencoded / n"); alama ya mteja ("Urefu wa Yaliyomo:"); alama ya mteja (postStr.length ()); alama ya mteja ("\ n / n"); alama ya mteja (postStr); } // kuchelewa (30000); }
Hatua ya 7: Nambari ya Nambari ya Sensorer
# pamoja
# pamoja na // Maktaba za LoRa # pamoja na "DHT.h" #fafanua DHTPIN 4 // pini ambapo dht11 imeunganishwa DHT dht (DHTPIN, DHT11); // fafanua pini zinazotumiwa na moduli ya transceiver ya LoRa #fafanua ss 5 #fasili rst 14 #fafanua dio0 2 #fafanua BAND 433E6 // 433E6 kwa Asia, 866E6 kwa Ulaya, 915E6 kwa Amerika ya Kaskazini // pakiti ya kukabiliana na kusomaID = 0; int counter = 0; Kamba ya LoRaMessage = ""; joto la kuelea = 0; unyevu wa kuelea = 0; // Anzisha moduli ya LoRa batili startLoRA () {LoRa.setPins (ss, rst, dio0); // kuanzisha moduli ya transceiver ya LoRa wakati (! LoRa.begin (BAND) && counter <10) {Serial.print ("."); kaunta ++; kuchelewesha (500); } ikiwa (counter == 10) {// Kuongeza kusoma kwa kila kusoma kwa kusomaID ++; Serial.println ("Kuanzia LoRa imeshindwa!"); } Serial.println ("Uanzishaji wa LoRa Sawa!"); kuchelewa (2000); } kuanza batiliDHT () {if (isnan (humidity) || isnan (joto)) {Serial.println ("Imeshindwa kusoma kutoka kwa sensorer ya DHT!"); kurudi; }} utupu wa kusoma () {unyevu = dht.readHumidity (); joto = dht. soma Joto (); Printa ya serial (F ("Unyevu:")); Printa ya serial (unyevu); Serial.print (F ("% Joto:")); Printa ya serial (joto); Serial.println (F ("° C")); } batili sendReadings () {LoRaMessage = Kamba (kusomaID) + "/" + Kamba (joto) + "&" + Kamba (unyevu); // Tuma pakiti ya LoRa kwa mpokeaji LoRa.beginPacket (); Printa ya LoRa (LoRaMessage); LoRa.endPacket (); Serial.print ("Kutuma pakiti:"); Serial.println (kusomaID); kusomaID ++; Serial.println (LoRaMessage); } kuanzisha batili () {// kuanzisha Serial Monitor Serial.begin (115200); kuanza (); AnzaDHT (); AnzaLoRA (); } kitanzi batili () {getReadings (); tumaSoma (); kuchelewesha (500); }
Hatua ya 8: Fuatilia Takwimu kwenye Seva ya Thingspeak
Mara tu nambari imepakiwa, unaweza kufungua Monitor Monitor kwa wote Mzunguko wa Lango na Sura ya Sura. Utatuma data na kupokea ikiwa nambari ni sahihi. Sasa unaweza kutembelea Mtazamo wa Kibinafsi wa Thingspeak. Huko unaweza kuona data ya Nambari ya Pakiti, Joto, Unyevu na Lango limepakiwa baada ya muda wa sekunde 15.
Hatua ya 9: Marejeleo
1.
2.
Ilipendekeza:
MuMo - Lango la LoRa: Hatua 25 (na Picha)
MuMo - LoRa Gateway: ### UPDATE 10-03-2021 // habari / sasisho za hivi karibuni zitapatikana kwenye ukurasa wa github: https: //github.com/MoMu-Antwerp/MuMoMuMo ni nini? MuMo ni ushirikiano kati ya maendeleo ya bidhaa (idara ya Chuo Kikuu cha Antwerp) chini ya
Lango la LoRa ESP8266 Arduino DIY: Hatua 5
LoRa Gateway ESP8266 Arduino DIY: Hii inayoweza kufundishwa itakusaidia kuunda Lango la LoRa inayoendana na Mtandao wa Vitu, kwa mikoa yote ya ulimwengu, ukitumia ESP8266 pamoja na moduli ya redio ya RFM95 / 96. Msimbo wa chanzo wa kuifanya kazi pia hutolewa na inakuja na ujumuishaji w
Joto linalotumiwa na jua la Arduino na sensorer ya unyevu kama 433mhz Sensorer ya Oregon: Hatua 6
Joto la jua na umeme wa Arduino na Sura ya unyevu kama 433mhz Oregon Sensor: Huu ni ujenzi wa hali ya joto ya jua na sensorer ya unyevu. Sensor hutengeneza sensor ya Oregon ya 433mhz, na inaonekana katika lango la Telldus Net. Unachohitaji: 1x " 10-LED Sura ya Mwendo wa Nguvu ya jua " kutoka Ebay. Hakikisha inasema kugonga 3.7v
DIY: Dari iliyowekwa sanduku la sensorer mini na sensorer ya mwendo inayozingatia: Hatua 4
DIY. Wakati mwingine uliopita nimekuwa nikimsaidia rafiki yangu na dhana nzuri ya nyumbani na kuunda sanduku la sensorer mini na muundo wa kawaida ambao unaweza kuwekwa kwenye dari kwenye shimo la 40x65mm. Sanduku hili husaidia: • kupima kiwango cha mwangaza • kupima unyevu mwingi
Mwongozo wa sensorer ya sensorer ya mwendo: Hatua 8
Mwongozo wa sensorer ya sensorer ya Motion: Karibu kwenye Mwongozo wangu wa sensorer ya Motion