Kazalo:
- 1. korak: demonstracija
- 2. korak: Montaža
- 3. korak: Montaža - miza
- 4. korak: Ubidots
- 5. korak: Knjižnica SimpleDHT
- 6. korak: Knjižnica PubSubClient
- 7. korak: Knjižnica TinyGSM
- 8. korak: Knjižnica TFT_eSPI
- 9. korak: Knjižnica TFT_eSPI
- 10. korak: Ubidots
- 11. korak: Spreminjanje podatkov v.ino
- 12. korak: GPRS_ESP32_DHT.ino - Izjave in spremenljivke
- 13. korak: Pripenjanje
- 14. korak: Nastavitev
- 15. korak: SetupDisplay
- Korak: Namestite GSM
- 17. korak: Povežite strežnik MQTTServer
- 18. korak: Zanka
- 19. korak: PreberiteDHT
- 20. korak: PublishMQTT
- 21. korak: UstvariteJsonString
- Korak: ShowDataOnDisplay
- 23. korak: Datoteke
Video: IOT s mobilnim omrežjem z ESP32: 23 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Danes bomo razpravljali o modemu GPRS ali bolje rečeno o ESP32 in njegovi uporabi z mobilnim telefonskim omrežjem. To je nekaj, kar zelo dobro deluje. S protokolom MQTT bomo podatke poslali na nadzorno ploščo Ubidots. V tem sklopu uporabite zaslon za povratne informacije o vezju, poleg kartice SIM800L in čipa mobilnega telefona. S tem projektom bomo zato pošiljali podatke o temperaturi in vlažnosti prek GPRS in MQTT ter podatke vizualizirali v linijskem grafikonu.
1. korak: demonstracija
2. korak: Montaža
3. korak: Montaža - miza
4. korak: Ubidots
5. korak: Knjižnica SimpleDHT
V Arduino IDE pojdite na Sketch-> Include Library-> Manage Libraries …
Namestite SimpleDHT
6. korak: Knjižnica PubSubClient
V Arduino IDE pojdite na Sketch-> Include Library-> Manage Libraries …
Namestite PubSubClient
7. korak: Knjižnica TinyGSM
V Arduino IDE pojdite na Sketch-> Include Library-> Manage Libraries …
Namestite TinyGSM
8. korak: Knjižnica TFT_eSPI
V Arduino IDE pojdite na Sketch-> Include Library-> Manage Libraries …
Namestite TFT_eSPI
9. korak: Knjižnica TFT_eSPI
Spremenite prikazovalne zatiče v mapi lib.
Pripenjanje je v datoteki User_Setup.h v
C: / Uporabniki / \ Dokumenti / Arduino / knjižnice / TFT_eSPI
Te privzete vrednosti spremenite v naslednje vrednosti na sliki.
10. korak: Ubidots
Prijavite se v Ubidots s svojim računom in kliknite Naprave
V zgornjem desnem kotu kliknite gumb "+"
Kliknite Prazno
Vnesite ime naprave. Upoštevajte "oznako naprave", saj bo ta uporabljena v "temi", ki jo bomo uporabili v.ino
Na seznamu naprav se prikaže naprava, ki ste jo pravkar ustvarili. Kliknite nanjo.
Na zaslonu, ki se prikaže, kliknite »Dodaj spremenljivko«. Pojavil se bo pojavno okno. Kliknite na "Raw".
Kliknite besedilno polje in vnesite ime lastnosti.
To mora biti točno tisto, kar bomo poslali v json datoteke.ino. Ponovite to za drugo lastnino.
Vrnite se na nadzorno ploščo s klikom na logotip Ubidots.
Na nadzorni plošči kliknite »Dodaj nov pripomoček«
Na seznamu pripomočkov izberite "Dvojna os"
11. korak: Spreminjanje podatkov v.ino
12. korak: GPRS_ESP32_DHT.ino - Izjave in spremenljivke
#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-abcdefghijklmnopqrstuvwxyz012 temperatura" (esp32_gprs é o imenu do dispozitiva brez Ubidotov) #define TOPIC "/v1.6/devices/esp32_gprs" // id do dispositivo que pegamos no painel do Ubidots #define DEVICE_ID "5c01234567890abc12345678TT Mreža" URL MD mqtt: //things.ubidots.com "// Porta padrão do MQTT #define MQTT_PORT 1883 // Pino onde está o DHT22 #define DHT_PIN 27
13. korak: Pripenjanje
// Pinagem em User_Setup.h na teste za 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. Uporabite semper 1 HardwareSerial SerialGSM (1); Modem TinyGsmGSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Odjemalec MQTT, prehod na strežnik url do, porta // e ali klient GSM PubSubClient odjemalec (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; plavajoča vlažnost; // Variável onde iremos armazenar o valor da umidade plavajoča temperatura; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objeto que realizará a leitura da umidade e temperature
14. korak: Nastavitev
void setup () {Serial.begin (115200); setupDisplay (); // Inicializa e configura o display setupGSM (); // Inicializa e konfiguracija modema GSM connectMQTTServer (); // Conectamos ao mqtt server // Espera 2 segundos e limpamos o display delay (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
15. korak: SetupDisplay
void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Limpa o display com a cor azul display.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 ("Setup Display Complete"); }
Korak: Namestite GSM
void setupGSM () {display.println ("Nastavitev GSM …"); // Inicializamos a serial onde está o modem SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); zamuda (3000); // Več informacij o modemu Serial.println (modemGSM.getModemInfo ()); // Inicializa o modem if (! ModemGSM.restart ()) {display.println ("Ponovni zagon modema GSM ni uspel"); zamuda (10000); ESP.restart (); vrnitev; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Povezava z omrežjem ni uspela"); zamuda (10000); ESP.restart (); vrnitev; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS Connection Failed"); zamuda (10000); ESP.restart (); vrnitev; } display.println ("Nastavitev uspeha GSM"); }
17. korak: Povežite strežnik MQTTServer
void connectMQTTServer () {display.println ("Povezovanje s strežnikom MQTT …"); // Se conecta ao device que definimos if (client.connect (DEVICE_ID, TOKEN, ""))) {// Se conexão foi bem sucedida display.println ("Connected"); } else {// Se ocorreu algum erro display.print ("error ="); display.println (client.state ()); zamuda (10000); ESP.restart (); }}
18. korak: Zanka
void loop () {// Faz a leitura da umidade e temperature readDHT (); // Se desconectou 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 publishedMQTT (); // Mostramos os dados no display showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = zdaj; }}
19. korak: PreberiteDHT
void readDHT () {float t, h; // Faz a leitura da umidade e temperature e apenas atualiza as variaáveis se foi bem sucedido if (dht.read2 (DHT_PIN, & t, & h, NULL) == SimpleDHTErrSuccess) {temperature = t; vlažnost = h; }}
20. korak: PublishMQTT
void publishedMQTT () {// Cria o json que iremos se prikaže za strežnik MQTT String msg = createJsonString (); Serial.print ("Objavi sporočilo:"); Serial.println (sporočilo); // Publicamos no tópico int status = client.publish (TOPIC, msg.c_str ()); Serial.println ("Status:" + String (status)); // Stanje 1 je uspešno ali pa 0 napake}
21. korak: UstvariteJsonString
Niz createJsonString () {String data = "{"; if (! isnan (vlažnost) &&! isnan (temperatura)) {data+= "\" vlažnost / ":"; podatki+= niz (vlažnost, 2); podatki+= ","; podatki+= "\" temperatura / ":"; podatki+= niz (temperatura, 2); } podatki+= "}"; vrniti podatke; }
Korak: ShowDataOnDisplay
void showDataOnDisplay () {// Ponovno nastavite kazalec na večino umidade in temperaturo na zaslonu. setCursor (0, 0, 2); display.println ("Vlažnost:" + niz (vlažnost, 2)); display.println ("Temperatura:" + niz (temperatura, 2)); }
23. korak: Datoteke
Prenesite datoteke
JAZ NE
Priporočena:
Kako narediti lasten prehod WIFI za povezavo vašega Arduina z omrežjem IP?: 11 korakov (s slikami)
Kako narediti svoj lasten prehod WIFI, da povežete svoj Arduino z IP omrežjem?: Kot mnogi ljudje menite, da je Arduino zelo dobra rešitev za domačo avtomatizacijo in robotizacijo! Toda v smislu komunikacije Arduinos ima samo serijske povezave. Delam na robotu, ki ga je treba trajno povezati s strežnikom, ki deluje
Planetarij z nevronskim omrežjem, ki uporablja Python, Electron in Keras: 8 korakov
Planetarij, ki ga poganja nevronsko omrežje z uporabo Pythona, Electrona in Kerasa: V tem navodilu vam bom pokazal, kako sem s Pythonom in Electronom napisal avtomatski 3D generator planetarja. Zgornji videoposnetek prikazuje enega od naključnih planetarij, ki jih je ustvaril program. ** Opomba: Ta program nikakor ni popoln in ponekod
ESP8266 povežite z omrežjem WIFI: 3 koraki
Povežite ESP8266 z omrežjem WIFI: V prejšnjem članku sem razpravljal o tem, kako narediti ESP8266 dostopno točko. V tem članku vam bom pokazal, kako povezati ESP8266 z omrežjem WiFi (ESP8266 postane odjemalec). Preden nadaljujete z vadnico, se prepričajte, da ste dodali ESP82
Napajanje mobilnega/mobilnega telefona z zunanjo baterijo ali omrežjem: 3 koraki
Napajanje mobilnega telefona/mobilnega telefona z zunanjo baterijo ali omrežjem: Uvod. Ta ideja bo delovala samo s telefoni ali tabličnimi računalniki, če je baterija odstranljiva. Opazovanje polarnosti je seveda pomembno. Pazite, da ne poškodujete naprave zaradi neprevidnosti. Če niste prepričani, da ste sposobni tega narediti,
Nadgradite lonec za samostojno zalivanje z brezžičnim omrežjem DIY za zaznavanje gibanja domačega alarma Sadilnik: 17 korakov
Nadgradite lonec za samopolivanje z brezžičnim omrežjem DIY v alarmno napravo za zaznavanje gibanja V tem članku vam bomo pokazali, kako nadgradite svoj lonec za samostojno zalivanje z brezžičnim omrežjem DIY v lonec za samostojno zalivanje z WiFi in alarmom za odkrivanje gibanja. niste prebrali članka o tem, kako zgraditi lonček za samostojno zalivanje z WiFi z lastnimi rokami, lahko plačate