Mündəricat:

ESP32 ilə Mobil Şəbəkə ilə IOT: 23 addım
ESP32 ilə Mobil Şəbəkə ilə IOT: 23 addım

Video: ESP32 ilə Mobil Şəbəkə ilə IOT: 23 addım

Video: ESP32 ilə Mobil Şəbəkə ilə IOT: 23 addım
Video: RemoteXY IoT Cloud ilə dünyanın istənilən yerindən ESP32-ni necə izləmək və idarə etmək olar 2024, Iyun
Anonim
Image
Image
Nümayiş
Nümayiş

Bu gün GPRS modemi, daha doğrusu, ESP32 və onun mobil telefon şəbəkəsi ilə istifadəsi haqqında danışacağıq. Bu çox yaxşı işləyən bir şeydir. MQTT protokolundan istifadə edərək məlumatları Ubidots tablosuna göndərəcəyik. Bu montajda, SIM800L və cib telefonu çipinə əlavə olaraq dövrə geribildirimi üçün bir ekran istifadə edin. Bu layihə ilə GPRS və MQTT vasitəsilə temperatur və rütubət məlumatlarını göndərəcəyik və məlumatları bir cədvəldə görselleştireceğiz.

Addım 1: nümayiş

Addım 2: Quraşdırma

Məclis
Məclis

Addım 3: Montaj - Cədvəl

Montaj - Cədvəl
Montaj - Cədvəl

Addım 4: Ubidotlar

Ubidotlar
Ubidotlar

Addım 5: SimpleDHT Kitabxanası

SimpleDHT Kitabxanası
SimpleDHT Kitabxanası

Arduino IDE-də, Sketch-> Kitabxanaya daxil et-> Kitabxanaları İdarə et-ə gedin.

SimpleDHT quraşdırın

Addım 6: PubSubClient Kitabxanası

PubSubClient Kitabxanası
PubSubClient Kitabxanası

Arduino IDE-də, Sketch-> Kitabxanaya daxil et-> Kitabxanaları İdarə et-ə gedin.

PubSubClient quraşdırın

Addım 7: TinyGSM Kitabxanası

TinyGSM Kitabxanası
TinyGSM Kitabxanası

Arduino IDE-də, Sketch-> Kitabxanaya daxil et-> Kitabxanaları İdarə et-ə gedin.

TinyGSM quraşdırın

Addım 8: TFT_eSPI Kitabxanası

TFT_eSPI Kitabxanası
TFT_eSPI Kitabxanası

Arduino IDE-də, Sketch-> Kitabxanaya daxil et-> Kitabxanaları İdarə et-ə gedin.

TFT_eSPI quraşdırın

Addım 9: TFT_eSPI Kitabxanası

TFT_eSPI Kitabxanası
TFT_eSPI Kitabxanası

Lib qovluğundakı ekran pinlərini dəyişdirin.

Bağlama User_Setup.h faylındadır

C: / İstifadəçilər / Sənədlər / Arduino / kitabxanaları / TFT_eSPI

Şəkildə bu dəyərləri aşağıdakı dəyərlərə dəyişdirin.

Addım 10: Ubidotlar

Ubidotlar
Ubidotlar
Ubidotlar
Ubidotlar
Ubidotlar
Ubidotlar

Hesabınızla Ubidots -a daxil olun və Cihazları vurun

Sağ üst küncdəki "+" düyməsini basın

Boş vurun

Cihazın adını daxil edin. "Cihaz etiketinə" diqqət yetirin, çünki bu.ino -da istifadə edəcəyimiz "mövzu" da istifadə olunacaq

Cihazlar siyahısında yeni yaratdığınız cihaz görünəcək. Bunun üzərinə basın.

Görünən ekranda "Dəyişən əlavə et" düyməsini basın. Bir popup görünəcək. "Raw" düyməsini basın.

Mətn qutusuna vurun və əmlakın adını daxil edin.

. İno json -da göndərəcəyimiz şey tam olaraq belə olmalıdır. Bunu digər əmlak üçün təkrarlayın.

Ubidots loqotipini tıklayaraq tablosuna qayıdın.

İdarə panelində "Yeni Widget əlavə et" düyməsini basın.

Vidjetlər siyahısında "Cüt ox" seçin

Addım 11:.ino -da məlumatların dəyişdirilməsi

. İno -da məlumatların dəyişdirilməsi
. İno -da məlumatların dəyişdirilməsi
. İno -da məlumatların dəyişdirilməsi
. İno -da məlumatların dəyişdirilməsi

Addım 12: GPRS_ESP32_DHT.ino - Bəyannamələr və Dəyişənlər

GPRS_ESP32_DHT.ino - Bəyannamələr və Dəyişənlər
GPRS_ESP32_DHT.ino - Bəyannamələr və Dəyişənlər

#define TINY_GSM_MODEM_SIM800 // modem haqqında məlumat #daxil edin #daxil et #daxil et #daxil et #daxil edin // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnztvposto (esp32_gprs é o nome do dispositivo no Ubidots) #MÖVZUSU "/v1.6/devices/esp32_gprs" təyin et // // Ubidots üçün heç bir ağrı yoxdur #DEVine DEVICE_ID "5c01234567890abc12345QVT MERT #TT #T_TQ mqtt: //things.ubidots.com "// MQTT ilə əlaqə qurun #MQTT_PORT 1883 -ü təyin edin // DHT22 ilə əlaqə qurun #DHT_PIN 27 təyin edin

Addım 13: Bərkitmə

Bərkitmə
Bərkitmə

// bibliotecaTFT_eSPI display = TFT_eSPI () ilə User_Setup.h yazın. // İnterval 10000 -ü yeniləyin və ya modemi yeniləyin. Semper 1 HardwareSerial SerialGSM (1) istifadə edin; TinyGsm modemGSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Müştəri MQTT, bir url serveri və ya GSM PubSubClient müştəri üçün bir keçid (MQTT_SERVER, MQTT_PORT, gsmClient); // Müvəqqəti işlər/yeniləmələr feinto uint32_t lastTime = 0; üzən nəmlik; // Dəyişkən temperatur dəyişkənliyi; // Dəyişikliklər sadə və ya temperatura görə SimpleDHT22; // Şəxsi həyat və istiliyin bir hissəsi

Addım 14: Quraşdırma

void setup () {Serial.begin (115200); setupDisplay (); // Ekran qurulması və ya qurulmasıGSM (); // GSM connectMQTTServer () modeminin və ya konfiqurasiyasının qurulması; // server ilə əlaqə qurun // Ekran gecikməsi və ya gecikmə (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }

Addım 15: SetupDisplay

void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Ekran görüntüsünü göstərin, Display.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca və ya mətndən istifadə etməklə Display.setTextWrap (doğru, doğru); // Ekran görüntüsü.setTextSize (1); display.setCursor (0, 0, 2); // Poscção x, y e fonte do texto display.println ("Quraşdırma Ekranı Tamamlandı"); }

Addım 16: GSM qurun

etibarsız setupGSM () {display.println ("GSM Quraşdırma…"); // SerialGSM.begin (9600, SERIAL_8N1, 4, 2, saxta) modeminin ardıcıl versiyası; gecikmə (3000); // Modem Serial.println (modemGSM.getModemInfo ()); // Modemə daxil olunsa (! ModemGSM.restart ()) {display.println ("GSM Modemini yenidən başlatmaq uğursuz oldu"); gecikmə (10000); ESP.restart (); qayıtmaq; } // İstifadə qaydaları if (! ModemGSM.waitForNetwork ()) {display.println ("Şəbəkəyə qoşulmaq alınmadı"); gecikmə (10000); ESP.restart (); qayıtmaq; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS Bağlantısı Başarısız"); gecikmə (10000); ESP.restart (); qayıtmaq; } display.println ("GSM Uğurunun Qurulması"); }

Addım 17: ConnectMQTTServer

etibarsız connectMQTTServer () {display.println ("MQTT Serverə qoşulur…"); // İstifadəçi qurğusu ilə əlaqə qurduqda if (client.connect (DEVICE_ID, TOKEN, "")) {// Display.println ("Bağlı") ilə əlaqə qurun; } else {// Display.print ("səhv ="); display.println (client.state ()); gecikmə (10000); ESP.restart (); }}

Addım 18: Döngə

void loop () {// Faydalı və ya temperatura readDHT (); // MQTT serverini açdığınız təqdirdə (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // Müqavilə çoxdan imzalanmamışdır = millis (); // İstəsəniz, (indi - lastTime> INTERVAL) iflas edin {// PublicMos server üçün mqtt publishMQTT (); // Mostramos os dados showDataOnDisplay () göstərmir; // Atəşin tezliyi indi və ya indiTime = indi; }}

Addım 19: ReadDHT

void readDHT () {float t, h; // İstifadəçilərin istəklərinə uyğun olaraq istəsəniz (dht.read2 (DHT_PIN, & t, & h, NULL) == SimpleDHTErrSuccess) {temperatur = t; rütubət = h; }}

Addım 20: PublishMQTT

void publishMQTT () {// MQTT String serveri üçün ən çox tələb olunan msg = createJsonString (); Serial.print ("Mesajı yayımla:"); Serial.println (msg); // Public statusu yoxdur status = client.publish (MÖVZU, msg.c_str ()); Serial.println ("Vəziyyət:" + String (status)); // Vəziyyət 1 və ya daha çox}

Addım 21: CreateJsonString

CreateJsonString
CreateJsonString

String createJsonString () {String data = "{"; if (! isnan (rütubət) &&! isnan (temperatur)) {data+= "\" rütubət / ":"; data+= String (rütubət, 2); məlumatlar+= ","; data+= "\" temperatur / ":"; data+= String (temperatur, 2); } data+= "}"; məlumatların qaytarılması; }

Addım 22: ShowDataOnDisplay

void showDataOnDisplay () {// Kursoru yenidən qurun və ekranın istiliyini göstərin.setCursor (0, 0, 2); display.println ("Rütubət:" + String (rütubət, 2)); display.println ("Temperatur:" + String (temperatur, 2)); }

Addım 23: Dosyalar

Faylları yükləyin

MƏN YOX

PDF

Tövsiyə: