Mündəricat:
- Addım 1: nümayiş
- Addım 2: Quraşdırma
- Addım 3: Montaj - Cədvəl
- Addım 4: Ubidotlar
- Addım 5: SimpleDHT Kitabxanası
- Addım 6: PubSubClient Kitabxanası
- Addım 7: TinyGSM Kitabxanası
- Addım 8: TFT_eSPI Kitabxanası
- Addım 9: TFT_eSPI Kitabxanası
- Addım 10: Ubidotlar
- Addım 11:.ino -da məlumatların dəyişdirilməsi
- Addım 12: GPRS_ESP32_DHT.ino - Bəyannamələr və Dəyişənlər
- Addım 13: Bərkitmə
- Addım 14: Quraşdırma
- Addım 15: SetupDisplay
- Addım 16: GSM qurun
- Addım 17: ConnectMQTTServer
- Addım 18: Döngə
- Addım 19: ReadDHT
- Addım 20: PublishMQTT
- Addım 21: CreateJsonString
- Addım 22: ShowDataOnDisplay
- Addım 23: Dosyalar
Video: ESP32 ilə Mobil Şəbəkə ilə IOT: 23 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
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
Addım 3: Montaj - Cədvəl
Addım 4: Ubidotlar
Addım 5: SimpleDHT Kitabxanası
Arduino IDE-də, Sketch-> Kitabxanaya daxil et-> Kitabxanaları İdarə et-ə gedin.
SimpleDHT quraşdırın
Addım 6: PubSubClient Kitabxanası
Arduino IDE-də, Sketch-> Kitabxanaya daxil et-> Kitabxanaları İdarə et-ə gedin.
PubSubClient quraşdırın
Addım 7: TinyGSM Kitabxanası
Arduino IDE-də, Sketch-> Kitabxanaya daxil et-> Kitabxanaları İdarə et-ə gedin.
TinyGSM quraşdırın
Addım 8: 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ı
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
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
Addım 12: 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ə
// 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
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
Tövsiyə:
Raspberry Pi ilə Şəbəkə Geniş Reklam Bloklama: 4 Addım
Raspberry Pi ilə Şəbəkə Geniş Reklam Bloklama: Daha təmiz, daha sürətli bir veb təcrübəsi əldə edin və Pi-deşik və Raspberry Pi ilə bütün ev şəbəkənizdə zəhlətökən reklamları bloklayın
ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım
ESP32 ilə PWM | Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: Bu təlimatlarda Arduino IDE istifadə edərək ESP32 ilə PWM siqnallarının necə yaradılacağını görəcəyik. PWM əsasən hər hansı bir MCU -dan analoq çıxışı yaratmaq üçün istifadə olunur və bu analog çıxış 0V ilə 3.3V arasında ola bilər (esp32 vəziyyətində) & dan
Harici Batareya və ya Şəbəkə ilə Cib/Cib Telefonu Gücləndirin .: 3 Addım
Harici Batareya və ya Şəbəkə ilə Cib/Cib Telefonu Gücləndirin .: Giriş. Bu fikir yalnız batareya çıxarıla bilən telefonlar və ya tabletlərlə işləyəcək. Əlbəttə ki, polariteyi müşahidə etmək vacibdir. Ehtiyatsızlıqdan cihazınıza zərər verməmək üçün diqqətli olun. Bunu edə biləcəyinizdən əmin deyilsinizsə
IoT Şəbəkə Nəzarətçisi. Hissə 9: IoT, Ev Avtomatlaşdırması: 10 Addım (Şəkillərlə birlikdə)
IoT Şəbəkə Nəzarətçisi. Hissə 9: IoT, Ev Avtomatlaşdırması: Disclaimer BU İLK OXUYUN Bu Təlimat, təhlükəsiz praktikadan və yaxşı dizayn prinsiplərindən istifadə edilməsinə baxmayaraq, hər zaman potensial ölümcül risk olduğu halda, elektrik enerjisindən istifadə edən bir layihəni (bu halda UK 240VAC RMS) ətraflı şəkildə izah edir. seçmək
Ethernet Kabeli ilə Kompozit Video və Şəbəkə Verilərini Necə Çalışdırmaq olar: 6 Addım (Şəkillərlə birlikdə)
Ethernet Kabeli ilə Kompozit Video və Şəbəkə Verilərini Necə Çalışdırmalıyam: Video və Səsimi evimin başqa bir hissəsinə çəkməli idim. Problem ondadır ki, nə çox AV kabelim, nə də yaxşı bir quraşdırma üçün vaxtım və pulum yox idi. Ancaq ətrafımda çoxlu Cat 5 Ethernet Kabeli var idi. Mənim gəldiyim budur