![IOT uyali tarmoq bilan ESP32: 23 qadam IOT uyali tarmoq bilan ESP32: 23 qadam](https://i.howwhatproduce.com/images/006/image-16810-12-j.webp)
Mundarija:
- 1 -qadam: Namoyish
- 2 -qadam: yig'ish
- 3 -qadam: O'rnatish - Jadval
- 4 -qadam: Ubidotlar
- 5 -qadam: SimpleDHT kutubxonasi
- 6 -qadam: PubSubClient kutubxonasi
- 7 -qadam: TinyGSM kutubxonasi
- 8 -qadam: TFT_eSPI kutubxonasi
- 9 -qadam: TFT_eSPI kutubxonasi
- 10 -qadam: Ubidotlar
- 11 -qadam:.ino -dagi ma'lumotlarni o'zgartirish
- 12 -qadam: GPRS_ESP32_DHT.ino - Deklaratsiyalar va o'zgaruvchilar
- 13 -qadam: qadash
- 14 -qadam: sozlash
- 15 -qadam: Displeyni sozlash
- 16 -qadam: GSM -ni sozlash
- 17 -qadam: ConnectMQTTServer
- 18 -qadam: Loop
- 19 -qadam: ReadDHT
- 20 -qadam: PublishMQTT
- 21 -qadam: CreateJsonString
- 22 -qadam: ShowDataOnDisplay
- 23 -qadam: fayllar
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
![Image Image](https://i.howwhatproduce.com/images/006/image-16810-14-j.webp)
![](https://i.ytimg.com/vi/U_KYGe7ZyKM/hqdefault.jpg)
![Namoyish Namoyish](https://i.howwhatproduce.com/images/006/image-16810-15-j.webp)
Bugun biz GPRS -modem, aniqrog'i, ESP32 va undan uyali telefon tarmog'ida foydalanish haqida gaplashamiz. Bu juda yaxshi ishlaydigan narsa. MQTT protokoli yordamida biz ma'lumotlarni Ubidots boshqaruv paneliga yuboramiz. Ushbu yig'ilishda SIM800L va uyali telefon chipidan tashqari, kontaktlarning zanglashiga olib keladigan displeydan foydalaning. Shunday qilib, ushbu loyiha yordamida biz GPRS va MQTT orqali harorat va namlik ma'lumotlarini yuboramiz va ma'lumotlarni chiziqli jadvalda ingl.
1 -qadam: Namoyish
2 -qadam: yig'ish
![O'rnatish O'rnatish](https://i.howwhatproduce.com/images/006/image-16810-16-j.webp)
3 -qadam: O'rnatish - Jadval
![O'rnatish - Jadval O'rnatish - Jadval](https://i.howwhatproduce.com/images/006/image-16810-17-j.webp)
4 -qadam: Ubidotlar
![Ubidotlar Ubidotlar](https://i.howwhatproduce.com/images/006/image-16810-18-j.webp)
5 -qadam: SimpleDHT kutubxonasi
![SimpleDHT kutubxonasi SimpleDHT kutubxonasi](https://i.howwhatproduce.com/images/006/image-16810-19-j.webp)
Arduino IDE-da Sketch-> Kutubxonani qo'shish-> Kutubxonalarni boshqarish-ga o'ting.
SimpleDHT -ni o'rnating
6 -qadam: PubSubClient kutubxonasi
![PubSubClient kutubxonasi PubSubClient kutubxonasi](https://i.howwhatproduce.com/images/006/image-16810-20-j.webp)
Arduino IDE-da Sketch-> Kutubxonani qo'shish-> Kutubxonalarni boshqarish-ga o'ting.
PubSubClient -ni o'rnating
7 -qadam: TinyGSM kutubxonasi
![TinyGSM kutubxonasi TinyGSM kutubxonasi](https://i.howwhatproduce.com/images/006/image-16810-21-j.webp)
Arduino IDE-da Sketch-> Kutubxonani qo'shish-> Kutubxonalarni boshqarish-ga o'ting.
TinyGSM -ni o'rnating
8 -qadam: TFT_eSPI kutubxonasi
![TFT_eSPI kutubxonasi TFT_eSPI kutubxonasi](https://i.howwhatproduce.com/images/006/image-16810-22-j.webp)
Arduino IDE-da Sketch-> Kutubxonani qo'shish-> Kutubxonalarni boshqarish-ga o'ting.
TFT_eSPI -ni o'rnating
9 -qadam: TFT_eSPI kutubxonasi
![TFT_eSPI kutubxonasi TFT_eSPI kutubxonasi](https://i.howwhatproduce.com/images/006/image-16810-23-j.webp)
Lib papkasidagi ko'rsatgich pinlarini o'zgartiring.
Ilova User_Setup.h faylida joylashgan
C: / Foydalanuvchilar / Hujjatlar / Arduino / kutubxonalari / TFT_eSPI
Ushbu standartlarni rasmdagi quyidagi qiymatlarga o'zgartiring.
10 -qadam: Ubidotlar
![Ubidotlar Ubidotlar](https://i.howwhatproduce.com/images/006/image-16810-24-j.webp)
![Ubidotlar Ubidotlar](https://i.howwhatproduce.com/images/006/image-16810-25-j.webp)
![Ubidotlar Ubidotlar](https://i.howwhatproduce.com/images/006/image-16810-26-j.webp)
Hisob qaydnomangiz bilan Ubidots -ga kiring va "Qurilmalar" ni bosing
O'ng yuqori burchakdagi "+" tugmasini bosing
Bo'sh -ni bosing
Qurilma nomini kiriting. "Qurilma yorlig'i" ga e'tibor bering, chunki bu biz.ino -da ishlatadigan "mavzu" da ishlatiladi
Qurilmalar ro'yxatida siz yaratgan qurilma paydo bo'ladi. Unga bosing.
Ko'rsatilgan ekranda "O'zgaruvchini qo'shish" ni bosing. Qalqib chiquvchi oyna paydo bo'ladi. "Xom" ni bosing.
Matn maydonini bosing va mulk nomini kiriting.
Bu biz.ino json -da yuboradigan narsa bo'lishi kerak. Buni boshqa mulk uchun takrorlang.
Ubidots logotipini bosish orqali boshqaruv paneliga qayting.
Boshqaruv panelida "Yangi vidjet qo'shish" ni bosing.
Vidjetlar ro'yxatida "Ikki o'q" ni tanlang.
11 -qadam:.ino -dagi ma'lumotlarni o'zgartirish
![. Ino da ma'lumotlarni o'zgartirish . Ino da ma'lumotlarni o'zgartirish](https://i.howwhatproduce.com/images/006/image-16810-27-j.webp)
![. Ino da ma'lumotlarni o'zgartirish . Ino da ma'lumotlarni o'zgartirish](https://i.howwhatproduce.com/images/006/image-16810-28-j.webp)
12 -qadam: GPRS_ESP32_DHT.ino - Deklaratsiyalar va o'zgaruvchilar
![GPRS_ESP32_DHT.ino - Deklaratsiyalar va o'zgaruvchilar GPRS_ESP32_DHT.ino - Deklaratsiyalar va o'zgaruvchilar](https://i.howwhatproduce.com/images/006/image-16810-29-j.webp)
#TINY_GSM_MODEM_SIM800 ni belgilang // modemni kiritish #qo'shishni #qo'shishni #qo'shishni #qo'shishni // qo'shishni belgilaydi // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnztoptotexnotpostat" (esp32_gprs é o nome do dispositivo no Ubidots) # #TOPIC "/v1.6/devices/esp32_gprs" ni aniqlang // // Ubidots uchun hech qanday og'riq yo'q #DEVINE_DEVICE_ID "5c01234567890abc12345QVT MERT #T_T_T_T_T_T_T_T_T_T_T_T_T_T_Qida Qo'llaniladi" mqtt: //things.ubidots.com "// MQTT -ni tanlang #MQTT_PORT 1883 -ni aniqlang // DHT22 -ni aniqlang #DHT_PIN 27 -ni aniqlang.
13 -qadam: qadash
![Qoplamoq Qoplamoq](https://i.howwhatproduce.com/images/006/image-16810-30-j.webp)
// User_Setup.h va bibliotecaTFT_eSPI displeyini ko'rsatish = TFT_eSPI (); // Intervalo entre os envios e refresh da tela #define INTERVAL 10000 // Kanalning ketma -ket ulanishi uchun modem. Semper 1 HardwareSerial SerialGSM (1) dan foydalaning; TinyGsm modemGSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // MQTT mijozi, url -server serveri, port GSM PubSubClient mijozi (MQTT_SERVER, MQTT_PORT, gsmClient); // Ish vaqtini o'zgartirish/yangilash foi feito uint32_t lastTime = 0; namlik namligi; // Variável onde iremos armazenar o valor da umidade float harorat; // Variantlar har xil darajalarda, oddiy haroratda SimpleDHT22; // Ob'ektlar harorati va haroratini o'lchash
14 -qadam: sozlash
void setup () {Serial.begin (115200); setupDisplay (); // Displeyni sozlash uchun GSM konfiguratsiyasi (); // GSM connectMQTTServer modemining konfiguratsiyasi (); // Aloqa serveri bilan bog'lanish // Espera 2 -ni ko'rsatish yoki kechiktirish (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
15 -qadam: Displeyni sozlash
void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Limfa displeyi displey.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca yoki texto como branco com fundo azul display.setTextWrap (rost, rost); // Displey displeyi.setTextSize (1); display.setCursor (0, 0, 2); // Posicção x, y e fonte do texto display.println ("Displeyni sozlash tugallandi"); }
16 -qadam: GSM -ni sozlash
void setupGSM () {display.println ("GSM ni sozlash …"); // SerialGSM.begin (9600, SERIAL_8N1, 4, 2, noto'g'ri) modemlarining ketma -ketligi; kechikish (3000); // Serial.println (modemGSM.getModemInfo ()) modemi haqida ma'lumot; // Modemni ishga tushirish if (! ModemGSM.restart ()) {display.println ("GSM modemini qayta ishga tushirib bo'lmadi"); kechikish (10000); ESP.restart (); qaytish; } // Espera pa rede if (! ModemGSM.waitForNetwork ()) {display.println ("Tarmoqqa ulanib bo'lmadi"); kechikish (10000); ESP.restart (); qaytish; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS ulanmagan"); kechikish (10000); ESP.restart (); qaytish; } display.println ("GSM muvaffaqiyatini o'rnatish"); }
17 -qadam: ConnectMQTTServer
void connectMQTTServer () {display.println ("MQTT serveriga ulanmoqda …"); // Agar qurilma aniqlansa, u holda (client.connect (DEVICE_ID, TOKEN, "")) {// Display.println ("Ulangan") ni tanlang; } else {// ekranni ko'rsatish.print ("xato ="); display.println (client.state ()); kechikish (10000); ESP.restart (); }}
18 -qadam: Loop
void loop () {// Faz a leitura da umidade e temperatura readDHT (); // MQTT serverini belgilang, agar (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // Tempo dekorido desde o boot em milissegundos unsigned long now = millis (); // Agar siz (hozir - lastTime> INTERVAL) {passiv o intervalli de envio if {now - lastTime> INTERVAL) {// PublicMos server server mqtt publishMQTT (); // Mostramos os dados showDataOnDisplay () ko'rsatilmaydi; // Atrof -muhitni saqlash tezligi yoki vaqtini o'lchash lastTime = hozir; }}
19 -qadam: ReadDHT
void 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) {harorat = t; namlik = h; }}
20 -qadam: PublishMQTT
void publishMQTT () {// MQTT String serveri uchun eng muhim vazifa msg = createJsonString (); Serial.print ("Xabarni chop etish:"); Serial.println (msg); // Ochiq havolalar mavjud emas status = client.publish (TOPIC, msg.c_str ()); Serial.println ("Holat:" + String (holat)); // Status 1 -ni tanlang va 0 -ni tanlang.
21 -qadam: CreateJsonString
![CreateJsonString CreateJsonString](https://i.howwhatproduce.com/images/006/image-16810-31-j.webp)
String createJsonString () {String data = "{"; if (! isnan (namlik) &&! isnan (harorat)) {ma'lumotlar+= "\" namlik / ":"; ma'lumotlar+= String (namlik, 2); ma'lumotlar+= ","; ma'lumotlar+= "\" harorat / ":"; ma'lumotlar+= String (harorat, 2); } ma'lumotlar+= "}"; ma'lumotlarni qaytarish; }
22 -qadam: ShowDataOnDisplay
void showDataOnDisplay () {// Resurs a posicão do cursor or mostra umidade va temperatura lidas display.setCursor (0, 0, 2); display.println ("Namlik:" + String (namlik, 2)); display.println ("Harorat:" + String (harorat, 2)); }
23 -qadam: fayllar
Fayllarni yuklab oling
INO
Tavsiya:
Uyali telefonni/batareyani tashqi batareya yoki tarmoq bilan quvvatlantirish: 3 qadam
![Uyali telefonni/batareyani tashqi batareya yoki tarmoq bilan quvvatlantirish: 3 qadam Uyali telefonni/batareyani tashqi batareya yoki tarmoq bilan quvvatlantirish: 3 qadam](https://i.howwhatproduce.com/images/002/image-5260-29-j.webp)
Uyali telefonni/mobil telefonni tashqi batareya yoki tarmoq bilan quvvatlantirish: kirish. Bu fikr faqat batareyalar olinadigan bo'lsa, telefonlar yoki planshetlar bilan ishlaydi. Kutupluluğu kuzatish juda muhim, albatta. Ehtiyotkorlik bilan qurilmangizga zarar etkazmaslik uchun ehtiyot bo'ling. Agar siz buni qila olishingizga ishonchingiz komil bo'lmasa
Har qanday Arduino -ni uyali telefon bilan bog'lash: 6 qadam (rasmlar bilan)
![Har qanday Arduino -ni uyali telefon bilan bog'lash: 6 qadam (rasmlar bilan) Har qanday Arduino -ni uyali telefon bilan bog'lash: 6 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/005/image-13318-17-j.webp)
Har qanday Arduino -ni uyali telefon bilan bog'lash: Arduino -dan foydalanganda, sizda kompyuter yo'qligi sababli uni ishlata olmaslik juda achinarli bo'lishi mumkin. Ehtimol, Windows yoki Mac OS mos kelmaydi, sizda umuman kompyuter yo'q yoki int uchun ko'proq erkinlik kerak
Uyali telefon qopqog'ini lazer bilan o'yib yozish: 6 qadam (rasmlar bilan)
![Uyali telefon qopqog'ini lazer bilan o'yib yozish: 6 qadam (rasmlar bilan) Uyali telefon qopqog'ini lazer bilan o'yib yozish: 6 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/001/image-1848-51-j.webp)
Uyali telefonning lazerli o'yma qopqoqlari: Bu hafta biz Speedy 400 lazerli o'yma mashinamiz yordamida mantarni o'yib ishlaymiz. Bugun biz mantar materialidan foydalangan holda lazerli o'yma telefon qutilari yasaymiz. Biz sizga mantar taxtasi yordamida noyob telefon qopqoqlarini yaratishning turli usullarini ko'rsatamiz. V
IoT tarmoq nazoratchisi. 9 -qism: IoT, uy avtomatizatsiyasi: 10 qadam (rasmlar bilan)
![IoT tarmoq nazoratchisi. 9 -qism: IoT, uy avtomatizatsiyasi: 10 qadam (rasmlar bilan) IoT tarmoq nazoratchisi. 9 -qism: IoT, uy avtomatizatsiyasi: 10 qadam (rasmlar bilan)](https://i.howwhatproduce.com/images/004/image-9146-14-j.webp)
IoT tarmoq nazoratchisi. 9 -qism: IoT, Uy avtomatizatsiyasi: Ogohlantirishdan voz kechish BU BIRINChI O'QING Bu ko'rsatma elektr tarmog'idan foydalanadigan loyihani (masalan, Buyuk Britaniyada 240VAC RMS) batafsil tavsiflaydi, shu bilan birga xavfsiz amaliyot va yaxshi dizayn tamoyillaridan foydalanishga e'tibor qaratiladi, har doim o'limga olib kelishi mumkin. saylash
USB uyali uyali telefon: 4 qadam
![USB uyali uyali telefon: 4 qadam USB uyali uyali telefon: 4 qadam](https://i.howwhatproduce.com/images/005/image-14617-40-j.webp)
USB uyali uyasi: Men usb -disklarimni, bluetooth/ wifi adapterlarini Altoid qutisiga olib yurishdan charchadim, shuning uchun men yanada ijodiy sumkani o'ylab topishga qaror qildim. Men boshlaganimdan so'ng, fikrlar kela boshladi. Men o'zimni olib yurishning ajoyib usulini topdim