Sisukord:
- 1. samm: demonstratsioon
- 2. samm: kokkupanek
- 3. samm: kokkupanek - tabel
- 4. samm: Ubidots
- Samm: SimpleDHT kogu
- 6. toiming: PubSubClient Library
- Samm: TinyGSM -i kogu
- 8. toiming: TFT_eSPI raamatukogu
- 9. toiming: TFT_eSPI kogu
- 10. samm: Ubidots
- Samm 11: andmete muutmine.ino
- 12. samm: GPRS_ESP32_DHT.ino - deklaratsioonid ja muutujad
- 13. samm: kinnitamine
- 14. samm: seadistamine
- 15. samm: seadistuse kuvamine
- 16. samm: seadistage GSM
- Samm 17: ConnectMQTTServer
- 18. samm: silmus
- 19. samm: lugege
- 20. samm: avaldage MQTT
- Samm 21: CreateJsonString
- 22. samm: ShowDataOnDisplay
- 23. samm: failid
Video: IOT mobiilsidevõrguga koos ESP32 -ga: 23 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Täna arutleme GPRS -modemi või õigemini ESP32 ja selle kasutamise üle mobiiltelefonivõrguga. See on midagi, mis töötab väga hästi. MQTT protokolli kasutades saadame andmed Ubidotsi armatuurlauale. Kasutage selles komplektis lisaks SIM800L -ile ja mobiiltelefoni kiibile ka vooluahela tagasiside kuvamiseks kuvarit. Selle projektiga saadame seetõttu temperatuuri ja niiskuse andmed GPRS -i ja MQTT kaudu ning visualiseerime andmed joondiagrammina.
1. samm: demonstratsioon
2. samm: kokkupanek
3. samm: kokkupanek - tabel
4. samm: Ubidots
Samm: SimpleDHT kogu
Avage Arduino IDE-s visand-> Kaasa raamatukogu-> Halda raamatukogusid…
Installige SimpleDHT
6. toiming: PubSubClient Library
Avage Arduino IDE-s visand-> Kaasa raamatukogu-> Halda raamatukogusid…
Installige PubSubClient
Samm: TinyGSM -i kogu
Avage Arduino IDE-s visand-> Kaasa raamatukogu-> Halda raamatukogusid…
Installige TinyGSM
8. toiming: TFT_eSPI raamatukogu
Avage Arduino IDE-s visand-> Kaasa raamatukogu-> Halda raamatukogusid…
Installige TFT_eSPI
9. toiming: TFT_eSPI kogu
Muutke lib -kaustas kuvatavaid nööpnõelu.
Kinnitus on failis User_Setup.h
C: / Kasutajad / Dokumendid / Arduino / teegid / TFT_eSPI
Muutke need vaikeseaded pildil järgmisteks väärtusteks.
10. samm: Ubidots
Logige oma kontoga sisse Ubidotsi ja klõpsake nuppu Seadmed
Klõpsake paremas ülanurgas nuppu "+"
Klõpsake nuppu Tühi
Sisestage seadme nimi. Pange tähele "seadme silti", kuna seda kasutatakse "teemas", mida kasutame.ino -s
Seadmete loendis kuvatakse äsja loodud seade. Klõpsake seda.
Klõpsake kuvataval ekraanil nuppu "Lisa muutuja". Ilmub hüpikaken. Klõpsake "Toores".
Klõpsake tekstiväljal ja sisestage atribuudi nimi.
See peab olema täpselt see, mille me.ino json -is saadame. Korrake seda teise vara puhul.
Minge tagasi juhtpaneelile, klõpsates Ubidotsi logol.
Klõpsake juhtpaneelil nuppu "Lisa uus vidin"
Valige vidinate loendist "Kahe teljega"
Samm 11: andmete muutmine.ino
12. samm: GPRS_ESP32_DHT.ino - deklaratsioonid ja muutujad
#define TINY_GSM_MODEM_SIM800 // Tipo de modem que estamos usando #include #include #include #include #include // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnopqrstuvwxyz pärast e-posti aadressi 12332" (esp32_gprs é o nome do dispositivo no Ubidots) #define TOPIC "/v1.6/devices/esp32_gprs" // id do dispositivo que pegamos no painel do Ubidots #define DEVICE_ID "5c01234567890abc12345678" // URL do MQER Server # mqtt: //things.ubidots.com "// Porta padrão do MQTT #define MQTT_PORT 1883 // Pino on está o DHT22 #define DHT_PIN 27
13. samm: kinnitamine
// Pinagem em User_Setup.h ja pasta da bibliotecaTFT_eSPI display = TFT_eSPI (); // Intervalo entre os envios e refresh da tela #define INTERVAL 10000 // Canal serial que vamos usar para comunicarmos com o modem. Kasutage semper 1 HardwareSerial SerialGSM (1); TinyGsm modemGSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Client MQTT, passamos url do server, port // e või klient GSM PubSubClient klient (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; ujuki niiskus; // Variável onde iremos armazenar o valor da umidade float temperature; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objeto que realizará a leitura da umidade e temperatura
14. samm: seadistamine
void setup () {Serial.begin (115200); setupDisplay (); // Inicializa e configura o display setupGSM (); // Ühenduse konfigureerimine või modemi GSM connectMQTTServer (); // Conectamos ao mqtt server // Espera 2 segundos e limpamos o display delay (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
15. samm: seadistuse kuvamine
void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Limpa või kuvamine koos selle ekraaniga.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca või 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 ("Setup Display Complete"); }
16. samm: seadistage GSM
void setupGSM () {display.println ("Seadista GSM …"); // Inicializamos a serial on modable SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); viivitus (3000); // Enamik teavet teabe või modemi kohta Serial.println (modemGSM.getModemInfo ()); // Inicializa o modem if (! ModemGSM.restart ()) {display.println ("GSM -modemi taaskäivitamine ebaõnnestus"); viivitus (10000); ESP.restart (); tagasipöördumine; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Võrguga ühenduse loomine ebaõnnestus"); viivitus (10000); ESP.restart (); tagasipöördumine; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS -ühenduse nurjumine"); viivitus (10000); ESP.restart (); tagasipöördumine; } display.println ("Seadista GSM -i edu"); }
Samm 17: ConnectMQTTServer
void connectMQTTServer () {display.println ("Ühendamine MQTT -serveriga …"); // Seconecto ao device que definimos if (client.connect (DEVICE_ID, TOKEN, ""))) {// Se a conexão foi bem sucedida display.println ("Connected"); } else {// Vaata ocorreu algum erro display.print ("error ="); display.println (client.state ()); viivitus (10000); ESP.restart (); }}
18. samm: silmus
void loop () {// Faz a leitura da umidade e temperatura readDHT (); // Desconectou do do server MQTT if (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // Tempo decorrido desde o boot em milissegundos unsigned long now = millis (); // Se passou o intervalo de envio if (now - lastTime> INTERVAL) {// Publicamos para o server mqtt publicMQTT (); // Mostramos os dados no display showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = now; }}
19. samm: lugege
void readDHT () {float t, h; // Faz a leitura da umidade e temperatura e apenas atualiza as variáveis se foi bem sucedido if (dht.read2 (DHT_PIN, & t, & h, NULL) == SimpleDHTErrSuccess) {temperatuur = t; niiskus = h; }}
20. samm: avaldage MQTT
void publicMQTT () {// Cria o json que iremos enviar para või server MQTT String msg = createJsonString (); Serial.print ("Avalda sõnum:"); Serial.println (msg); // Publicamos no tópico int status = client.publish (TEEMA, msg.c_str ()); Serial.println ("Olek:" + string (olek)); // Olek 1 pärast õnnestumist või 0 sekundit}
Samm 21: CreateJsonString
String createJsonString () {String andmed = "{"; if (! isnan (niiskus) &&! isnan (temperatuur)) {andmed+= "\" niiskus / ":"; andmed+= string (niiskus, 2); andmed+= ","; andmed+= "\" temperatuur / ":"; andmed+= string (temperatuur, 2); } andmed+= "}"; tagastada andmed; }
22. samm: ShowDataOnDisplay
void showDataOnDisplay () {// Lähtestage kursor ja paigutage see temperatuur ja laske ekraanil.setCursor (0, 0, 2); display.println ("Niiskus:" + string (niiskus, 2)); display.println ("Temperatuur:" + string (temperatuur, 2)); }
23. samm: failid
Laadige failid alla
INO
Soovitan:
IoT õhuvärskendaja (koos NodeMCU, Arduino, IFTTT ja Adafruit.io): 15 sammu (koos piltidega)
IoT õhuvärskendaja (koos NodeMCU, Arduino, IFTTT ja Adafruit.io): Instructables Wireless Contest 2017 esimese auhinna võitja !!!: DNew on nüüd saadaval: ilmateatega IoT kell! Vaadake seda: https://www.instructables.com/id/Minimalist-IoT-Clock-using-ESP8266-Adafruitio-IFTT/ See on lohutav, kui teil on lõhn
IoT baasplatvorm koos RaspberryPi, WIZ850io: platvormi seadme draiver: 5 sammu (koos piltidega)
IoT baasplatvorm koos RaspberryPi, WIZ850io: platvormi seadme draiver: ma tean RaspberryPi platvormi IoT jaoks. Hiljuti kuulutas WIZnet välja WIZ850io. Nii rakendasin RaspberryPi rakenduse Etherneti SW modifikatsiooni abil, kuna saan lähtekoodiga hõlpsasti hakkama. Platvormi seadme draiverit saate testida RaspberryPi kaudu
ESP32 -põhine M5Stack M5stick C ilmateade koos DHT11 -ga - Jälgige temperatuuri niiskuse ja kuumuse indeksit mudelil M5stick-C koos DHT11-ga: 6 sammu
ESP32 -põhine M5Stack M5stick C ilmateade koos DHT11 -ga | Jälgige temperatuuri niiskuse ja kuumuse indeksit M5stick-C-l DHT11 abil: Tere poisid, selles juhendis õpime, kuidas ühendada DHT11 temperatuuriandur m5stick-C-ga (m5stacki arendusplaat) ja kuvada see m5stick-C ekraanil. Nii loeme selles õpetuses temperatuuri, niiskust ja amp; ma kuumutan
IoT -rahakott (nutikas rahakott koos Firebeetle ESP32, Arduino IDE ja Google'i arvutustabeliga): 13 sammu (koos piltidega)
IoT-rahakott (nutikas rahakott koos Firebeetle ESP32, Arduino IDE ja Google'i arvutustabeliga): esimene auhind Instructables Pocket-Sized Contest konkursil! Need muutuvad üleöö ja te ei tea kunagi, kui palju raha on teie rahakotis
IoT taimede jälgimissüsteem (koos IBM IoT platvormiga): 11 sammu (koos piltidega)
IoT taimede jälgimissüsteem (koos IBM IoT platvormiga): ülevaade Taimeseire süsteem (PMS) on rakendus, mis on loodud töölisklassi kuuluvatele inimestele, pidades silmas rohelist pöialt. Praegu on töötavad inimesed hõivatud kui kunagi varem; edendada oma karjääri ja hallata oma rahandust