Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай бүрэлдэхүүн хэсгүүд
- Алхам 2: Шаардлагатай номын санг суулгах
- Алхам 3: ESP32 LoRa Thingspeak гарц
- Алхам 4: ESP32 LoRa мэдрэгчийн зангилаа
- Алхам 5: Thingspeak -ийг тохируулах
- Алхам 6: Гарцын код
- Алхам 7: Мэдрэгчийн зангилааны код
- Алхам 8: Thingspeak сервер дээрх өгөгдлийг хянах
- Алхам 9: Ашигласан материал
Видео: Мэдрэгчийн зангилаа бүхий ESP32 Lora Thingspeak гарц: 9 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Энэхүү IoT төсөлд би ESP32 LoRa Gateway болон ESP32 LoRa Sensor Node -ийг зохион байгуулж, мэдрэгчийг хэдэн км -ийн зайнаас утасгүй хянах боломжтой болсон. Илгээгч нь DHT11 Sensor ашиглан чийгшил, температурын өгөгдлийг унших болно. Дараа нь өгөгдлийг LoRa Radio -ээр дамжуулдаг. Мэдээллийг хүлээн авагчийн модуль хүлээн авдаг. Хүлээн авагч нь тодорхой хугацааны дараа өгөгдлийг Thingspeak сервер рүү илгээх болно.
Алхам 1: Шаардлагатай бүрэлдэхүүн хэсгүүд
1. ESP32 самбар - 2
2. Лора модуль SX1278/SX1276
3. DHT11 чийгшлийн температур мэдрэгч
4. Талхны самбар
5. Холбогч утас холбох
Алхам 2: Шаардлагатай номын санг суулгах
Бид эхлээд өөр өөр номын санг суулгах хэрэгтэй:
1. DHT11 номын сан
2. LoRa номын сан
Алхам 3: ESP32 LoRa Thingspeak гарц
Одоо ESP32 LoRa гарц ба мэдрэгчийн зангилаа барих илгээгч ба хүлээн авагчийн хэлхээг үзье. Би схемийг хоёуланг нь талхны самбар дээр угсарсан. Хэрэв та хүсвэл PCB дээр хийж болно.
Энд ESP32 LoRa Module SX1278 Gateway Circuit байна. Энэ хэсэг нь хүлээн авагчийн үүрэг гүйцэтгэдэг. Чийгшил, температурын өгөгдлийг LoRa Radio ашиглан хүлээн авч Thingspeak сервер рүү байршуулдаг.
Алхам 4: ESP32 LoRa мэдрэгчийн зангилаа
DHT11 мэдрэгч бүхий ESP32 LoRa мэдрэгчийн зангилааны хэлхээг энд оруулав. Энэ хэсэг нь дамжуулагчаар ажилладаг. Чийглэг ба температурын өгөгдлийг DHT11 чийгшлийн температур мэдрэгч уншиж, LoRa радио ашиглан дамжуулдаг.
Алхам 5: Thingspeak -ийг тохируулах
Thingspeak сервер дээрх мэдрэгчийн өгөгдлийг хянахын тулд та эхлээд Thingspeak -ийг тохируулах хэрэгтэй. Thingspeak серверийг тохируулахын тулд https://thingspeak.com/ хаягаар зочилно уу. Бүртгэл үүсгэх эсвэл хэрэв та өмнө нь данс үүсгэсэн бол зүгээр л нэвтэрнэ үү. Дараа нь дараах дэлгэрэнгүй мэдээллийг агуулсан шинэ суваг үүсгэнэ үү.
Алхам 6: Гарцын код
#оруулах
// LoRa номын сангууд #include #include // LoRa дамжуулагч модульд ашиглагддаг тээглүүрүүдийг тодорхойлох #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 Азид, Европт 866E6, Хойд Америкт 915E6 // Сүлжээнийхээ итгэмжлэлийг орлуулах String apiKey = "14K8UL2QEK8BTHN6"; // ThingSpeak const char *ssid = "Wifi SSID" -ээс бичих API түлхүүрээ оруулна уу; // wifi ssid болон wpa2 түлхүүр const char *password = "Нууц үг" -ээр солино уу; const char* server = "api.thingspeak.com"; WiFiClient үйлчлүүлэгч; // LoRa өгөгдлийг int rssi авах, хадгалахын тулд хувьсагчдыг эхлүүлэх; LoRaMessage мөр; Мөрний температур; Утасны чийгшил; String унших ID; // Орлуулагчийг DHT утгуудаар солино String процессор (const String & var) {//Serial.println(var); if (var == "TEMPERATURE") {буцах температур; } else if (var == "HUMIDITY") {буцах чийгшил; } else if (var == "RRSI") {return String (rssi); } буцах String (); } void setup () {Serial.begin (115200); int тоолуур; // LoRa дамжуулагч модулийг тохируулах LoRa.setPins (ss, rst, dio0); // LoRa дамжуулагч модулийг тохируулах үед (! LoRa.begin (BAND) && тоолуур <10) {Serial.print ("."); тоолуур ++; саатал (2000); } if (counter == 10) {// Serial.println шинэ унших бүр дээр унших ID -г нэмэгдүүлэх ("LoRa -г эхлүүлж чадсангүй!"); } Serial.println ("LoRa эхлүүлэх OK!"); саатал (2000); // SSID болон нууц үгээр Wi-Fi сүлжээнд холбогдох Serial.print ("Холбогдож байна"); Serial.println (ssid); WiFi.begin (ssid, нууц үг); while (WiFi.status ()! = WL_CONNECTED) {саатал (2000); Serial.print ("."); } // Орон нутгийн IP хаягийг хэвлээд Serial.println ("") вэб серверийг ажиллуулна уу; Serial.println ("WiFi холбогдсон."); Serial.println ("IP хаяг:"); Serial.println (WiFi.localIP ()); } // LoRa пакетыг уншаад мэдрэгчийн уншилтыг хүчингүй болгох давталтыг аваарай () {int packetSize = LoRa.parsePacket (); if (packetSize) {Serial.print ("Лора пакет хүлээн авсан:"); while (LoRa.available ()) // Пакетыг унших {String LoRaData = LoRa.readString (); Serial.print (LoRaData); int pos1 = LoRaData.indexOf ('/'); int pos2 = LoRaData.indexOf ('&'); унших ID = LoRaData.substring (0, pos1); // ReadID температурыг авах = LoRaData.substring (pos1 +1, pos2); // Температурын чийгшилийг авах = LoRaData.substring (pos2+1, LoRaData.length ()); // Чийгшил авах} rssi = LoRa.packetRssi (); // RSSI Serial.print авах ("RSSI -тэй"); Serial.println (rssi); } if (client.connect (server, 80)) // "184.106.153.149" эсвэл api.thingspeak.com {String postStr = apiKey; postStr += "& field1 ="; postStr += String (унших ID); postStr += "& field2 ="; postStr += String (температур); postStr += "& field3 ="; postStr += Мөр (чийгшил); postStr += "& field4 ="; postStr += String (rssi); postStr += "\ r / n / r / n / r / n / r / n"; client.print ("POST /update HTTP /1.1 / n"); client.print ("Хост: api.thingspeak.com / n"); client.print ("Холболт: хаах / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Агуулгын төрөл: application/x-www-form-urlencoded / n"); client.print ("Агуулга-Урт:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); } // саатал (30000); }
Алхам 7: Мэдрэгчийн зангилааны код
#оруулах
#include // LoRa -ийн номын сангууд "DHT.h" -ийг оруулаарай #DHTPIN 4 -ийг тодорхойлно // dht11 -ийг DHT dht (DHTPIN, DHT11) холбосон зүү; // LoRa дамжуулагч модульд ашиглагддаг тээглүүрүүдийг тодорхойлох #define ss 5 #define rst 14 #define dio0 2 #deandine BAND 433E6 // 433E6 Азид, Европт 866E6, Хойд Америкт 915E6 // packet counter int readingID = 0; int тоолуур = 0; LoRaMessage мөр = ""; хөвөх температур = 0; хөвөх чийгшил = 0; // LoLa модулийг void startLoRA () {LoRa.setPins (ss, rst, dio0) эхлүүлэх; // LoRa дамжуулагч модулийг тохируулах үед (! LoRa.begin (BAND) && тоолуур <10) {Serial.print ("."); тоолуур ++; саатал (500); } if (counter == 10) {// Шинэ унших бүр дээр унших ID -г нэмэгдүүлэх +ID; Serial.println ("LoRa -г эхлүүлж чадсангүй!"); } Serial.println ("LoRa эхлүүлэх OK!"); саатал (2000); } void startDHT () {if (isnan (чийгшил) || isnan (температур)) {Serial.println ("DHT мэдрэгчээс уншиж чадсангүй!"); буцах; }} void getReadings () {чийгшил = dht.readHumidity (); температур = dht.readTemperature (); Serial.print (F ("Чийгшил:")); Цуврал хэвлэх (чийгшил); Serial.print (F ("% Температур:")); Цуврал хэвлэх (температур); Serial.println (F ("° C")); } void sendReadings () {LoRaMessage = String (унших ID) + "/" + мөр (температур) + "&" + мөр (чийгшил); // LoRa пакетийг хүлээн авагч руу LoRa.beginPacket () руу илгээх; LoRa.print (LoRaMessage); LoRa.endPacket (); Serial.print ("Пакет илгээж байна:"); Serial.println (унших ID); унших ID ++; Serial.println (LoRaMessage); } void setup () {// Serial Monitor Serial.begin (115200) -ийг эхлүүлэх; dht.begin (); startDHT (); startLoRA (); } void loop () {getReadings (); sendReadings (); саатал (500); }
Алхам 8: Thingspeak сервер дээрх өгөгдлийг хянах
Кодыг байршуулсны дараа та гарц ба мэдрэгчийн зангилааны хэлхээний аль алинд нь цуваа мониторыг нээж болно. Хэрэв код зөв бол та өгөгдлийг илгээх, хүлээн авах болно. Та одоо Thingspeak Private View -д зочлох боломжтой боллоо. Тэнд та пакетийн дугаар, температур, чийгшил, гарцын өгөгдлийг 15 секундын дараа байршуулж байгааг харах боломжтой.
Алхам 9: Ашигласан материал
1.
2.
Зөвлөмж болгож буй:
LoRa Arduino, Esp8266 эсвэл Esp32: 15 алхам бүхий бага зардалтай E32 (sx1278/sx1276) төхөөрөмж бүхий 3 км -ээс 8 км хүртэлх утасгүй холбоо: 15 алхам
LoRa Arduino, Esp8266 эсвэл Esp32 -д зориулсан бага өртөгтэй E32 (sx1278/sx1276) төхөөрөмж бүхий 3Km -аас 8Km хүртэлх утасгүй холбоо: Би Semtech цувралын LoRa төхөөрөмж дээр суурилсан EBYTE E32 -ийг удирдах номын сан, маш хүчирхэг, энгийн бөгөөд хямд төхөөрөмжтэй. 3км -ийн хувилбар энд, 8км -ийн хувилбар энд байна Тэд 3000м -ээс 8000м -ийн зайд ажиллах боломжтой бөгөөд тэдгээр нь маш олон онцлог шинж чанартай байдаг
IoT урт хугацааны чичиргээ ба температур мэдрэгч бүхий зангилаа-улаан: 34 алхам
IoT урт долгионы чичиргээ ба температур мэдрэгч бүхий зангилаа-улаан: Утасгүй торон сүлжээний архитектурыг ашиглан 28 миль хүртэлх зайтай NCD-ийн урт хугацааны утасгүй температурын чийгшлийн мэдрэгчийг танилцуулж байна. Honeywell HIH9130 температурын чийгшлийн мэдрэгчийг багтаасан нь өндөр нарийвчлалтай температурыг дамжуулдаг
Ухаалаг чийдэнгийн алсын удирдлага эсвэл гарц бүхий IoT RC машин: 8 алхам (зурагтай)
Ухаалаг чийдэнгийн удирдлага эсвэл гарцтай IoT RC машин: Холбогдохгүй төслийн хувьд би гэртээ байгаа MiLight ухаалаг чийдэн, чийдэнгийн алсын удирдлагатай ярихын тулд Arduino код бичиж байсан. Би туршихын тулд жаахан RC машин хийхээр шийдсэн
15 $ LoRa гарц/зангилаа ESP8266 Бүтээгдэхүүн PCB 3cmX8cm Хэмжээ: 6 алхам
15 $ LoRa гарц/зангилаа ESP8266 ПХБ -ийг бүтээх 3cmX8cm Хэмжээ: Хөөе, залуус аа, юу байна? Akarsh эндээс CETech -ээс авсан болно.Өнөөдөр бид LoRa -ийн энгийн зангилаа болох төслийг хийх гэж байгаа бөгөөд та үүнийг ганц сувгийн гарц болгон ашиглаж болно.Энд миний ашигладаг микроконтроллер бол LoRa самбартай холбогдсон ESP8266 юм
ESP8266 ба Z-Wave бүхий Mozilla IoT гарц: 7 алхам
ESP8266 ба Z-Wave бүхий Mozilla IoT гарц: Ард түмний хүч! Mozilla нь IoT протоколыг үнэ төлбөргүй хийхийг хүсч байна. Энэхүү төслийн хамрах хүрээ нь "Интернэт бол дэлхийн нийтийн мэдээллийн хэрэгсэл бөгөөд хүн бүрт нээлттэй, хүртээмжтэй байх явдал юм." Интернетийн юмс (IoT) нь интернэтийн шинэ эрин үе юм. Мөн дадлагажигч шиг