Агуулгын хүснэгт:
- Алхам 1: Жагсаал
- Алхам 2: угсрах
- Алхам 3: Ассемблей - Хүснэгт
- Алхам 4: Убидотууд
- Алхам 5: SimpleDHT номын сан
- Алхам 6: PubSubClient номын сан
- Алхам 7: TinyGSM номын сан
- Алхам 8: TFT_eSPI номын сан
- Алхам 9: TFT_eSPI номын сан
- Алхам 10: Убидотууд
- Алхам 11:.ino дахь өгөгдлийг өөрчлөх
- Алхам 12: GPRS_ESP32_DHT.ino - Тунхаглал ба хувьсагчид
- Алхам 13: Бэхлэх
- Алхам 14: Тохиргоо
- Алхам 15: SetupDisplay
- Алхам 16: GSM -ийг тохируулах
- Алхам 17: ConnectMQTTServer
- Алхам 18: Loop
- Алхам 19: ReadDHT
- Алхам 20: MQTT -ийг нийтлэх
- Алхам 21: CreateJsonString
- Алхам 22: ShowDataOnDisplay
- Алхам 23: Файлууд
Видео: ESP32 бүхий үүрэн сүлжээтэй IOT: 23 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Өнөөдөр бид GPRS модем, эс тэгвээс ESP32 болон үүрэн телефоны сүлжээнд ашиглах талаар ярилцах болно. Энэ бол маш сайн ажилладаг зүйл юм. MQTT протоколыг ашиглан бид Ubidots хяналтын самбарт өгөгдлийг илгээх болно. Энэхүү угсралтад SIM800L болон гар утасны чипээс гадна хэлхээний талаархи санал хүсэлтийг харуулах дэлгэцийг ашигла. Энэхүү төслийн тусламжтайгаар бид температур, чийгшлийн өгөгдлийг GPRS болон MQTT -ээр дамжуулан илгээж, өгөгдлийг шугамын хүснэгтэд дүрслэн харуулах болно.
Алхам 1: Жагсаал
Алхам 2: угсрах
Алхам 3: Ассемблей - Хүснэгт
Алхам 4: Убидотууд
Алхам 5: SimpleDHT номын сан
Arduino IDE дээр Sketch-> Номын санг оруулах-> Номын санг удирдах хэсэгт очно уу.
SimpleDHT суулгана уу
Алхам 6: PubSubClient номын сан
Arduino IDE дээр Sketch-> Номын санг оруулах-> Номын санг удирдах хэсэгт очно уу.
PubSubClient -ийг суулгана уу
Алхам 7: TinyGSM номын сан
Arduino IDE дээр Sketch-> Номын санг оруулах-> Номын санг удирдах хэсэгт очно уу.
TinyGSM суулгана уу
Алхам 8: TFT_eSPI номын сан
Arduino IDE дээр Sketch-> Номын санг оруулах> Номын санг удирдах … руу очно уу.
TFT_eSPI суулгана уу
Алхам 9: TFT_eSPI номын сан
Lib фолдер дахь дэлгэцийн зүүг өөрчилнө үү.
Тогтоох нь User_Setup.h файлд байна
C: / Хэрэглэгчид / Баримт бичиг / Arduino / номын сан / TFT_eSPI
Зураг дээрх эдгээр утгыг дараах утгууд болгон өөрчилнө үү.
Алхам 10: Убидотууд
Ubidots руу өөрийн акаунтаар нэвтэрч, Төхөөрөмжүүд дээр дарна уу
Баруун дээд буланд байгаа "+" товчийг дарна уу
Хоосон дээр дарна уу
Төхөөрөмжийн нэрийг оруулна уу. Үүнийг ".ino" -д ашиглах "сэдэв" хэсэгт ашиглах тул "төхөөрөмжийн шошго" -ыг анхаарна уу
Төхөөрөмжүүдийн жагсаалтад саяхан үүсгэсэн төхөөрөмж гарч ирнэ. Үүн дээр дарна уу.
Гарч буй дэлгэцэн дээр "Хувьсагч нэмэх" дээр дарна уу. Попап гарч ирнэ. "Raw" дээр дарна уу.
Текст хайрцгийг дарж, үл хөдлөх хөрөнгийн нэрийг оруулна уу.
Энэ нь.ino -ийн json дээр бидний илгээсэн зүйл яг байх ёстой. Үүнийг бусад үл хөдлөх хөрөнгийн хувьд давтана уу.
Ubidots лого дээр дарж хяналтын самбар руу буцна уу.
Хяналтын самбар дээр "Шинэ виджет нэмэх" дээр дарна уу.
Виджетүүдийн жагсаалтаас "Давхар тэнхлэг" -ийг сонгоно уу.
Алхам 11:.ino дахь өгөгдлийг өөрчлөх
Алхам 12: GPRS_ESP32_DHT.ino - Тунхаглал ба хувьсагчид
#TINY_GSM_MODEM_SIM800-ийг тодорхойлох #оруулах #оруулах #оруулах #оруулах #оруулах // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnopqrpostpvtpdjpgtjpgtjpgjjpg" (esp32_gprs é o nome do dispositivo no Ubidots) #TOPIC "/v1.6/devices/esp32_gprs" -ийг тодорхойлно уу mqtt: //things.ubidots.com "// MQTT -ийн портал #тодорхойлох MQTT_PORT 1883 // Тодорхойлох DHT22 #тодорхойлох DHT_PIN 27
Алхам 13: Бэхлэх
// User_Setup.h на гоймон болон bibliotecaTFT_eSPI дэлгэцийг харуулах = TFT_eSPI (); // Intervalo entre os envios e refresh da tela #define INTERVAL 10000 // Сувгийн цуврал комуникарм комын модемийн суваг. Semper 1 HardwareSerial SerialGSM (1) ашиглах; TinyGsm модемGSM (SerialGSM); TinyGsmClient gsmClient (модемGSM); // Cliente MQTT, url do сервер, портал // GSM PubSubClient клиент (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; хөвөх чийгшил; // Хувьсах температур нь хөвөх температур; // Янз бүрийн хувилбарууд энгийн бөгөөд энгийн температуртай SimpleDHT22 dht; // Орчин үеийн нөхцөл байдал, температурын өөрчлөлт
Алхам 14: Тохиргоо
void setup () {Serial.begin (115200); setupDisplay (); // Дэлгэцийн тохиргоо эсвэл дэлгэцийн тохиргооGSM (); // GSM connectMQTTServer модемийн тохиргоо эсвэл тохиргоо (); // Conectamos ao mqtt server // Espera 2 сегментүүд ба лимпамууд эсвэл дэлгэцийн саатал (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
Алхам 15: SetupDisplay
void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Хязгаарлагдмал дэлгэцийг харуулах.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca o texto como branco com fundo azul display.setTextWrap (true, true); // Ativa quebra de linha display.setTextSize (1); display.setCursor (0, 0, 2); // Posicção x, y e fonte do texto display.println ("Дэлгэцийг тохируулах ажил дууссан"); }
Алхам 16: GSM -ийг тохируулах
хүчингүй тохиргооGSM () {display.println ("GSM -ийг тохируулах …"); // SerialGSM.begin (9600, SERIAL_8N1, 4, 2, худал) модемийн цуврал хувилбарыг ажиллуулна уу; саатал (3000); // Мэдээллийн систем эсвэл Serial.println (modemGSM.getModemInfo ()); // Хэрэв модемийг идэвхжүүлбэл (! ModemGSM.restart ()) {display.println ("GSM модемийг дахин эхлүүлж чадсангүй"); саатал (10000); ESP.restart (); буцах; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Сүлжээнд холбогдож чадсангүй"); саатал (10000); ESP.restart (); буцах; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS холболт амжилтгүй болсон"); саатал (10000); ESP.restart (); буцах; } display.println ("GSM -ийг амжилттай тохируулах"); }
Алхам 17: ConnectMQTTServer
хүчингүй connectMQTTServer () {display.println ("MQTT Сервертэй холбогдож байна …"); // Se conecta ao device que definimos if (client.connect (DEVICE_ID, TOKEN, "")) {// Та дэлгэцийн дэлгэц.println ("Холбогдсон") -г сонгоно уу; } else {// Display.print ("алдаа ="); display.println (client.state ()); саатал (10000); ESP.restart (); }}
Алхам 18: Loop
void loop () {// Faz a leitura da umidade e temperatura readDHT (); // DesQLectou do server MQTT if (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // Tempo decorrido desde o boot em milissegundos unsigned long now = millis (); // Хэрэв та (одоо - lastTime> INTERVAL) {// нууцлалыг ашиглах боломжтой бол {// PublicMos public serverMqTT (); // Mostramos os dados showDataOnDisplay () харуулахгүй байна; // Atualizamos o tempo em que foi feito o último envio lastTime = now; }}
Алхам 19: ReadDHT
хүчингүй readDHT () {float t, h; // Faz a leitura da umidade e temperatura e apenas atualiza as a variáveis se foi bem sucedido if (dht.read2 (DHT_PIN, & t, & h, NULL) == SimpleDHTErrSuccess) {температур = t; чийгшил = h; }}
Алхам 20: MQTT -ийг нийтлэх
void yayım Serial.print ("Зурвас нийтлэх:"); Serial.println (msg); // Нийтлэл байхгүй tópico int status = client.publish (СЭДЭВ, msg.c_str ()); Serial.println ("Статус:" + Мөр (статус)); // Статус 1 -ийг сонгоно уу.
Алхам 21: CreateJsonString
String createJsonString () {String өгөгдөл = "{"; if (! isnan (чийгшил) &&! isnan (температур)) {өгөгдөл+= "\" чийгшил / ":"; өгөгдөл+= Мөр (чийгшил, 2); өгөгдөл+= ","; өгөгдөл+= "\" температур / ":"; өгөгдөл+= Мөр (температур, 2); } өгөгдөл+= "}"; өгөгдлийг буцаах; }
Алхам 22: ShowDataOnDisplay
void showDataOnDisplay () {// Resurs a posichão do cursor, эсвэл umtra umidade, temperatura lidas display.setCursor (0, 0, 2); display.println ("Чийгшил:" + Мөр (чийгшил, 2)); display.println ("Температур:" + Мөр (температур, 2)); }
Алхам 23: Файлууд
Файлуудыг татаж авах
INO
Зөвлөмж болгож буй:
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м -ийн зайд ажиллах боломжтой бөгөөд тэдгээр нь маш олон онцлог шинж чанартай байдаг
ESP8266 ашиглан WiFi RGB үүрэн чийдэн: 6 алхам
ESP8266 ашиглан WiFi RGB үүрэн чийдэн: Энэ нийтлэлд бид WiFi -ээр хянагдах боломжтой RGB үүрэн чийдэнг бүтээсэн болно. Хяналтын хуудас нь өнгийг хурдан өөрчлөх боломжийг олгодог өнгөний хүрднээс бүрдэх бөгөөд та RGB утгыг шууд зааж өгч, нийт дүнг үүсгэх боломжтой болно
OBS -д зориулсан Wi -Fi сүлжээтэй вэб камер: 5 алхам
OBS -д зориулсан Wi -Fi сүлжээний вэбкамер: Би компьютераа уяхгүйгээр вэбкамераа дамжуулж ашиглахыг хүсч байсан. Аз болоход, Raspberry Pi байдаг бөгөөд би үүнийг хоол хийх зориулалтаар ашиглах боломжтой болсон! Энэхүү зааварчилгаа нь миний хийсэн YouTube видеоны хажууд байрладаг: Хэрэв танд нэмэлт зүйл хэрэгтэй бол
Digi XBee3 үүрэн SMS ActivityBot: 7 алхам
Digi XBee3 үүрэн SMS ActivityBot: Digi XBee3 ™ үүрэн SMS үйл ажиллагааBot бол дэлхийн аль ч гар утаснаас ирсэн мессежээр удирдах боломжтой боловсролын робот юм. Parallax Inc дахь Digi-ийн найзуудын хийсэн ActivityBot нь анх удаа робот бүтээгчдэд зориулагдсан болно
PoochPak: Үүрэн холболттой ухаалаг нохойн хантааз: 4 алхам
PoochPak: Үүрэн холболттой ухаалаг нохойн хантааз: Автоматжуулалтын хувьд бид ихэвчлэн компьютер болон хүний оюун ухааны танин мэдэхүйн давуу талыг ашиглахын тулд хүмүүсийг дарааллаар нь инженерчлэхэд анхаарлаа төвлөрүүлдэг. Гэхдээ нохой нь олон төрлийн ур чадвартай тул хүн төрөлхтний хийж чадахгүй зарим ажилд маш сайн нийцдэг