Talaan ng mga Nilalaman:
- Hakbang 1: Kinakailangan ang Mga Bahagi
- Hakbang 2: Pag-install ng Kinakailangan na Mga Aklatan
- Hakbang 3: ESP32 LoRa Thingspeak Gateway
- Hakbang 4: ESP32 LoRa Sensor Node
- Hakbang 5: Pag-set up ng Thingspeak
- Hakbang 6: Code ng Gateway
- Hakbang 7: Sensor Node Code
- Hakbang 8: Subaybayan ang Data sa Thingspeak Server
- Hakbang 9: Mga Sanggunian
Video: ESP32 Lora Thingspeak Gateway Sa Sensor Node: 9 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
sa IoT Project na ito, dinisenyo ko ang ESP32 LoRa Gateway at din ang ESP32 LoRa Sensor Node upang subaybayan ang sensor na nagbabasa nang wireless mula sa ilang kilometrong distansya. Basahin ng nagpadala ang data ng kahalumigmigan at temperatura gamit ang DHT11 Sensor. Pagkatapos ay inililipat nito ang data sa pamamagitan ng LoRa Radio. Ang data ay natanggap ng module ng tatanggap. Ang tatanggap ay magpapadala ng data sa Thingspeak Server pagkatapos ng isang tiyak na agwat.
Hakbang 1: Kinakailangan ang Mga Bahagi
1. Lupon ng ESP32 - 2
2. Lora Module SX1278 / SX1276
3. DHT11 Sensor ng Temperatura ng Humidity
4. Breadboard
5. Pagkonekta sa Jumper Wires
Hakbang 2: Pag-install ng Kinakailangan na Mga Aklatan
Kailangan naming i-install muna ang iba't ibang mga silid-aklatan:
1. DHT11 Library
2. LoRa Library
Hakbang 3: ESP32 LoRa Thingspeak Gateway
Tingnan natin ngayon ang nagpapadala at circuit ng tatanggap para sa pagbuo ng ESP32 LoRa Gateway & Sensor Node. Pinagsama ko ang parehong circuit sa isang breadboard. Maaari mo itong gawin sa PCB kung nais mo.
Narito ang isang ESP32 LoRa Module SX1278 Gateway Circuit. Ang bahaging ito ay gumagana bilang isang Tagatanggap. Ang data ng halumigmig at temperatura ay natanggap gamit ang LoRa Radio at na-upload sa Thingspeak Server.
Hakbang 4: ESP32 LoRa Sensor Node
Narito ang isang ESP32 LoRa Sensor Node Circuit na may DHT11 Sensor. Ang bahaging ito ay gumagana bilang isang transmiter. Ang data ng kahalumigmigan at temperatura ay binabasa ng DHT11 Humidity Temperature Sensor at naipadala gamit ang LoRa Radio.
Hakbang 5: Pag-set up ng Thingspeak
Upang masubaybayan ang Data ng Sensor sa Thingspeak Server, kailangan mo munang i-Setup ang Thingspeak. Upang i-set up ang Thingspeak Server, bisitahin ang https://thingspeak.com/. Lumikha ng isang account o simpleng mag-sign in kung nilikha mo ang account nang mas maaga. Pagkatapos ay lumikha ng isang bagong channel na may mga sumusunod na detalye.
Hakbang 6: Code ng Gateway
# isama
// Mga aklatan para sa LoRa # isama ang # isama // tukuyin ang mga pin na ginamit ng module ng LoRa transceiver #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 for Asia, 866E6 for Europe, 915E6 for North America // Palitan ng iyong mga kredensyal sa network String apiKey = "14K8UL2QEK8BTHN6"; // Enter your wrote API key from ThingSpeak const char * ssid = "Wifi SSID"; // palitan ng iyong wifi ssid at wpa2 key const char * password = "Password"; const char * server = "api.thingspeak.com"; Client ng WiFiClient; // Initialize variable upang makuha at mai-save ang LoRa data int rssi; String loRaMessage; Temperatura ng string; String halumigmig; String na pagbasaID; // Pinapalitan ang placeholder ng mga halaga ng DHT String processor (const String & var) {//Serial.println(var); kung (var == "TEMPERATURE") {pagbalik ng temperatura; } iba pa kung (var == "HUMIDITY") {bumalik halumigmig; } iba pa kung (var == "RRSI") {return String (rssi); } ibalik ang String (); } void setup () {Serial.begin (115200); int counter; // setup LoRa transceiver module LoRa.setPins (ss, rst, dio0); // setup LoRa transceiver module habang (! LoRa.begin (BAND) && counter <10) {Serial.print ("."); counter ++; pagkaantala (2000); } kung (counter == 10) {// Ang pagdaragdag ng pagbabasaID sa bawat bagong pagbabasa ng Serial.println ("Nabigo ang Simula ng LoRa!"); } Serial.println ("LoRa Initialization OK!"); pagkaantala (2000); // Kumonekta sa Wi-Fi network na may SSID at password na Serial.print ("Kumokonekta sa"); Serial.println (ssid); WiFi.begin (ssid, password); habang (WiFi.status ()! = WL_CONNected) {pagkaantala (2000); Serial.print ("."); } // I-print ang lokal na IP address at simulan ang web server Serial.println (""); Serial.println ("Konektado ang WiFi."); Serial.println ("IP address:"); Serial.println (WiFi.localIP ()); } // Basahin ang LoRa packet at kunin ang mga pagbasa ng sensor na walang bisa loop () {int packetSize = LoRa.parsePacket (); kung (packetSize) {Serial.print ("Natanggap ang packet ng Lora:"); habang (LoRa.available ()) // Basahin ang packet {String LoRaData = LoRa.readString (); Serial.print (LoRaData); int pos1 = LoRaData.indexOf ('/'); int pos2 = LoRaData.indexOf ('&'); pagbabasaID = LoRaData.substring (0, pos1); // Kumuha ng temperatura ng pagbabasaID = LoRaData.substring (pos1 +1, pos2); // Kumuha ng halumigmig ng temperatura = LoRaData.substring (pos2 + 1, LoRaData.length ()); // Kumuha ng kahalumigmigan} rssi = LoRa.packetRssi (); // Kumuha ng RSSI Serial.print ("may RSSI"); Serial.println (rssi); } kung (client.connect (server, 80)) // "184.106.153.149" o api.thingspeak.com {String postStr = apiKey; postStr + = "& field1 ="; postStr + = String (readID); postStr + = "& field2 ="; postStr + = String (temperatura); postStr + = "& field3 ="; postStr + = String (halumigmig); postStr + = "& field4 ="; postStr + = String (rssi); postStr + = "\ r / n / r / n / r / n / r / n"; client.print ("POST / update HTTP / 1.1 / n"); client.print ("Host: api.thingspeak.com / n"); client.print ("Koneksyon: isara / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Uri ng Nilalaman: application / x-www-form-urlencoded / n"); client.print ("Haba ng Nilalaman:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); } // pagkaantala (30000); }
Hakbang 7: Sensor Node Code
# isama
#include // Library for LoRa #include "DHT.h" #define DHTPIN 4 // pin kung saan ang dht11 ay konektado sa DHT dht (DHTPIN, DHT11); // tukuyin ang mga pin na ginamit ng module ng LoRa transceiver # tukuyin ang ss 5 # tukuyin ang rst 14 #define dio0 2 #define BAND 433E6 // 433E6 for Asia, 866E6 for Europe, 915E6 for North America // packet counter int readingID = 0; int counter = 0; String LoRaMessage = ""; temperatura ng float = 0; float halumigmig = 0; // Initialize LoRa module void startLoRA () {LoRa.setPins (ss, rst, dio0); // setup LoRa transceiver module habang (! LoRa.begin (BAND) && counter <10) {Serial.print ("."); counter ++; pagkaantala (500); } kung (counter == 10) {// Pagdagdag ng pagbabasaID sa bawat bagong pagbabasa ng pagbabasaID ++; Serial.println ("Nabigo ang Simula ng LoRa!"); } Serial.println ("LoRa Initialization OK!"); pagkaantala (2000); } void startDHT () {if (isnan (halumigmig) || isnan (temperatura)) {Serial.println ("Nabigong basahin mula sa sensor ng DHT!"); bumalik; }} void getReadings () {halumigmig = dht.readHumidity (); temperatura = dht.readTemperature (); Serial.print (F ("Humidity:")); Serial.print (halumigmig); Serial.print (F ("% Temperatura:")); Serial.print (temperatura); Serial.println (F ("° C")); } walang bisa ang sendReadings () {LoRaMessage = String (readID) + "/" + String (temperatura) + "&" + String (halumigmig); // Send LoRa packet to receiver LoRa.beginPacket (); LoRa.print (LoRaMessage); LoRa.endPacket (); Serial.print ("Nagpapadala ng packet:"); Serial.println (readingID); pagbabasaID ++; Serial.println (LoRaMessage); } void setup () {// ipasimula ang Serial Monitor Serial.begin (115200); dht.begin (); startDHT (); startLoRA (); } void loop () {getReadings (); sendReadings (); pagkaantala (500); }
Hakbang 8: Subaybayan ang Data sa Thingspeak Server
Kapag na-upload na ang code, maaari mong buksan ang Serial Monitor sa parehong Gateway at Sensor Node Circuit. Magpapadala ka at tatanggap ng data kung tama ang code. Ngayon ay maaari mo nang bisitahin ang Thingspeak Private View. Makikita mo doon ang data para sa Packet Number, Temperatura, Humidity at Gateway na nai-upload pagkatapos ng agwat ng 15 segundo.
Hakbang 9: Mga Sanggunian
1.
2.
Inirerekumendang:
MuMo - LoRa Gateway: 25 Hakbang (na may Mga Larawan)
MuMo - LoRa Gateway: ### UPDATE 10-03-2021 // ang pinakabagong impormasyon / mga pag-update ay magagamit sa pahina ng github: https: //github.com/MoMu-Antwerp/MuMoAno ang MuMo? Ang MuMo ay isang pakikipagtulungan sa pagitan ng pagbuo ng produkto (isang departamento ng Unibersidad ng Antwerp) sa ilalim ng
LoRa Gateway ESP8266 Arduino DIY: 5 Mga Hakbang
LoRa Gateway ESP8266 Arduino DIY: Tuturo sa iyo na makakatulong ito sa iyo na lumikha ng isang LoRa Gateway na katugma sa The Things Network, para sa lahat ng mga rehiyon sa mundo, gamit ang isang ESP8266 kasama ang isang module ng radyo na RFM95 / 96. Ang mapagkukunan ng code upang ito ay gumana ay ibinigay din at ito ay dumating na may isang integrated w
Lora Gateway Batay sa MicroPython ESP32: 10 Mga Hakbang (na may Mga Larawan)
Lora Gateway Batay sa MicroPython ESP32: Lora ay naging tanyag sa mga nagdaang taon. Ang module ng wireless na komunikasyon gamit ang teknolohiyang ito ay karaniwang mura (gumagamit ng libreng spectrum), maliit ang sukat, mahusay sa enerhiya at may mahabang distansya sa komunikasyon, at higit sa lahat ay ginagamit para sa kapwa komunik
Kontrolin ang Mga Kagamitang Pantahanan Sa LoRa - LoRa sa Home Automation - LoRa Remote Control: 8 Mga Hakbang
Kontrolin ang Mga Home Appliances Sa LoRa | LoRa sa Home Automation | LoRa Remote Control: Kontrolin at i-automate ang iyong mga de-koryenteng kasangkapan mula sa malalayong distansya (Kilometro) nang walang pagkakaroon ng internet. Posible ito sa pamamagitan ng LoRa! Hoy, anong meron, guys? Ang Akarsh dito mula sa CETech. Ang PCB na ito ay mayroon ding isang OLED display at 3 relay kung saan isang
15 $ LoRa Gateway / Node ESP8266 Bumuo ng PCB 3cmX8cm Laki: 6 Mga Hakbang
15 $ LoRa Gateway / Node ESP8266 Build PCB 3cmX8cm Sukat: Hoy, ano na, guys? Ang Akarsh dito mula sa CETech. Ngayon ay gagawa kami ng isang proyekto na kung saan ay isang simpleng LoRa node at magagamit mo rin ito bilang isang solong gateway ng channel. Dito ang microcontroller na ginamit ko ay ang ESP8266, na konektado sa mga board ng LoRa