Përmbajtje:
- Hapi 1: Demonstrim
- Hapi 2: Montimi
- Hapi 3: Kuvendi - Tabela
- Hapi 4: Ubidots
- Hapi 5: Biblioteka SimpleDHT
- Hapi 6: Biblioteka PubSubClient
- Hapi 7: Biblioteka TinyGSM
- Hapi 8: Biblioteka TFT_eSPI
- Hapi 9: Biblioteka TFT_eSPI
- Hapi 10: Ubidots
- Hapi 11: Ndryshimi i të dhënave në.ino
- Hapi 12: GPRS_ESP32_DHT.ino - Deklarata dhe Ndryshore
- Hapi 13: Mbërthimi
- Hapi 14: Konfigurimi
- Hapi 15: SetupDisplay
- Hapi 16: SetupGSM
- Hapi 17: ConnectMQTTServer
- Hapi 18: Lak
- Hapi 19: LexoDHT
- Hapi 20: Publikoni MQTT
- Hapi 21: Krijoni stringJsonString
- Hapi 22: ShowDataOnDisplay
- Hapi 23: Skedarët
Video: IOT Me Rrjet Cellular Me ESP32: 23 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:21
Sot do të diskutojmë për modemin GPRS, ose më mirë, ESP32 dhe përdorimin e tij me rrjetin e telefonisë celulare. Kjo është diçka që funksionon shumë mirë. Duke përdorur protokollin MQTT, ne do t'i dërgojmë të dhënat në pultin e Ubidots. Përdorni në këtë asamble një ekran për reagime të qarkut, përveç SIM800L dhe një çip celular. Prandaj, me këtë projekt, ne do të dërgojmë të dhëna për temperaturën dhe lagështinë përmes GPRS dhe MQTT dhe do t'i vizualizojmë të dhënat në një tabelë të linjës.
Hapi 1: Demonstrim
Hapi 2: Montimi
Hapi 3: Kuvendi - Tabela
Hapi 4: Ubidots
Hapi 5: Biblioteka SimpleDHT
Në Arduino IDE, shkoni te Sketch-> Include Library-> Manage Bibliotekat …
Instaloni SimpleDHT
Hapi 6: Biblioteka PubSubClient
Në Arduino IDE, shkoni te Sketch-> Include Library-> Manage Bibliotekat …
Instaloni PubSubClient
Hapi 7: Biblioteka TinyGSM
Në Arduino IDE, shkoni te Sketch-> Include Library-> Manage Bibliotekat …
Instaloni TinyGSM
Hapi 8: Biblioteka TFT_eSPI
Në Arduino IDE, shkoni te Sketch-> Include Library-> Manage Bibliotekat …
Instaloni TFT_eSPI
Hapi 9: Biblioteka TFT_eSPI
Ndryshoni kunjat e ekranit në dosjen lib.
Mbërthimi është në skedarin User_Setup.h në
C: / Përdoruesit / \ Dokumentet / Arduino / bibliotekat / TFT_eSPI
Ndryshoni këto parazgjedhje në vlerat e mëposhtme në figurë.
Hapi 10: Ubidots
Hyni në Ubidots me llogarinë tuaj dhe klikoni në Pajisjet
Klikoni butonin "+" në këndin e sipërm të djathtë
Kliko Blank
Futni emrin e pajisjes. Vini re "etiketën e pajisjes", pasi kjo do të përdoret në "temën" që ne do të përdorim në.ino
Në listën e pajisjeve, pajisja që sapo keni krijuar do të shfaqet. Klikoni mbi të.
Në ekranin që shfaqet, klikoni në "Shto variabël". Do të shfaqet një dritare kërcyese. Klikoni në "I papërpunuar".
Klikoni në kutinë e tekstit dhe futni emrin e pronës.
Duhet të jetë pikërisht ajo që ne do të dërgojmë në json të.ino. Përsëriteni këtë për pronën tjetër.
Kthehuni përsëri në pult duke klikuar në logon e Ubidots.
Në pult, klikoni në "Shto widget të ri"
Në listën e Widgets, zgjidhni "Boshti i dyfishtë"
Hapi 11: Ndryshimi i të dhënave në.ino
Hapi 12: GPRS_ESP32_DHT.ino - Deklarata dhe Ndryshore
#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-abcdefghijklmmopoprd12 (esp32_gprs é oome do dispositivo no Ubidots) #define TOMIC "/v1.6/devices/esp32_gprs" // id do dispositivo que pegamos no painel në Ubidots #define DEVICE_ID "5c01234567890abc12345678" // URL mqtt: //things.ubidots.com "// Porta për të bërë MQTT #define MQTT_PORT 1883 // Pino onde está o DHT22 #define DHT_PIN 27
Hapi 13: Mbërthimi
// Pinagem em User_Setup.h dhe makarona për bibliotecaTFT_eSPI display = TFT_eSPI (); // Intervalo entre os envios e refresh da tela #define INTERVAL 10000 // Seriali i kanalit që përdoret për komunikim me modemin. Përdorni semper 1 HardwareSerial SerialGSM (1); ModemGSM TinyGsm (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Cliente MQTT, kalon një url do server, një porta // e o klientë GSM PubSubClient klient (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; lagështia e notit; // Variável onde iremos armazenar o valor da umidade temperatura e notimit; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objeto que realizará a leitura da umidade e temperatura
Hapi 14: Konfigurimi
void setup () {Serial.begin (115200); setupDisplay (); // Inicializa dhe konfigurimi i shfaqjes setupGSM (); // Inicializa dhe konfigurimi i modemit GSM connectMQTTServer (); // Conectamos ao mqtt server // Espera 2 segundos dhe limpamos ose vonesa e shfaqjes (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
Hapi 15: SetupDisplay
void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Limpa ose shfaqje com a cor azul display.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca o texto como branco com fundo azul display.setTextWrap (e vërtetë, e vërtetë); // 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"); }
Hapi 16: SetupGSM
void setupGSM () {display.println ("Konfiguro GSM …"); // Inicializamos a serial onde está o modem SerialGSM.fill (9600, SERIAL_8N1, 4, 2, false); vonesë (3000); // Mostra informação sobre o modem Serial.println (modemGSM.getModemInfo ()); // Inicializa ose modemi nëse (! ModemGSM.restart ()) {display.println ("Rinisja e modemit GSM dështoi"); vonesë (10000); ESP.restart (); kthim; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Nuk u lidh në rrjet"); vonesë (10000); ESP.restart (); kthim; } // Conecta de rede gprs (APN, përdorues, senha) nëse (! ModemGSM.gprsConnect ("", "", "")) {display.println ("Lidhja GPRS dështoi"); vonesë (10000); ESP.restart (); kthim; } display.println ("Konfiguro suksesin GSM"); }
Hapi 17: ConnectMQTTServer
void connectMQTTServer () {display.println ("Lidhja me serverin MQTT …"); // Shihni një pajisje që përcakton nëse (client.connect (DEVICE_ID, TOKEN, "")) {// Shihni një lidhje të afërt me ekran.println ("I lidhur"); } else {// Se ocorreu algum erro display.print ("error ="); display.println (client.state ()); vonesë (10000); ESP.restart (); }}
Hapi 18: Lak
void loop () {// Faz a leitura da umidade e temperatura readDHT (); // Se desconectou do server MQTT if (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // Tempo decorrido desde o boot em milissegundos të panënshkruar prej kohësh = millis (); // Shihni intervalo de envio nëse (tani - lastTime> INTERVAL) {// Publicamos para serverit të publikojëMQTT (); // Mostramos os dados pa shfaqje showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = tani; }}
Hapi 19: LexoDHT
void readDHT () {noton 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) {temperature = t; lagështia = h; }}
Hapi 20: Publikoni MQTT
void publikoMQTT () {// Cria ose json që duhet të përdoret për serverin MQTT String msg = createJsonString (); Serial.print ("Publiko mesazhin:"); Serial.println (msg); // Publicamos no tópico int status = client.publish (TEMA, msg.c_str ()); Serial.println ("Statusi:" + Vargu (statusi)); // Statusi 1 se sucesso ou 0 se deu erro}
Hapi 21: Krijoni stringJsonString
String createJsonString () {Të dhënat e vargut = "{"; nëse (! isnan (lagështia) &&! isnan (temperatura)) {të dhëna+= "\" lagështia / ":"; të dhëna+= Vargu (lagështia, 2); të dhëna+= ","; të dhëna+= "\" temperatura / ":"; të dhëna+= Vargu (temperatura, 2); } të dhëna+= "}"; ktheni të dhënat; }
Hapi 22: ShowDataOnDisplay
void showDataOnDisplay () {// Reseta a posição do cursor e mostra umidade e temperatura lidas display.setCursor (0, 0, 2); display.println ("Lagështia:" + Vargu (lagështia, 2)); display.println ("Temperatura:" + Vargu (temperatura, 2)); }
Hapi 23: Skedarët
Shkarkoni skedarët
INO
Recommended:
Ora dixhitale e kohës në rrjet duke përdorur ESP8266: 4 hapa (me fotografi)
Ora Dixhitale e Kohës së Rrjetit Duke përdorur ESP8266: Ne mësojmë se si të ndërtojmë një orë dixhitale të bukur që komunikon me serverët NTP dhe shfaq kohën e rrjetit ose internetit. Ne përdorim WeMos D1 mini për t'u lidhur me një rrjet WiFi, për të marrë kohën NTP dhe për ta shfaqur atë në një modul OLED. Videoja e mësipërme t
Modeli i vinçave pa tel (SMART BOT) Me kamerë spiunimi mbi rrjet (wifi ose pikë e nxehtë): 8 hapa
Modeli i vinçave pa tel (SMART BOT) Me kamerë spiunimi mbi rrjet (wifi ose pikë e nxehtë): Për të bërë ndonjë projekt ne kalojmë disa hapa: -kërkim për ide që lidhen me projektet faturimin e materialeve të kërkuara për projektin eksperimentimin në PCB dhe dërrasë buke
Furnizoni një celular/telefon celular me bateri ose rrjet të jashtëm .: 3 hapa
Furnizoni një celular/telefon celular me bateri ose rrjet të jashtëm .: Hyrje. Kjo ide do të funksionojë vetëm me telefona ose tableta nëse bateria është e lëvizshme. Vëzhgimi i polaritetit është i rëndësishëm, natyrisht. Ju lutemi kini kujdes që të mos dëmtoni pajisjen tuaj nga pakujdesia. Nëse nuk jeni të sigurt për aftësinë tuaj për ta bërë këtë,
Arduino për një Rrjet të Ndihmës me Tel në Shtëpi: 5 hapa
Arduino për një Rrjet të Ndihmës me Wired Home: Komponentët Wifi si Sonoff të ndryshëm, Tasmota dhe ESP8266 janë shumë të lehtë për t'u konfiguruar dhe përdorur, por gjërat shpesh nuk janë të lehta siç shfaqen. Në mjediset industriale/të biznesit automatizimi pa tel nuk është aq i zakonshëm. Komponentët pa tel janë më pak të besueshëm
NAS (Magazinimi i Bashkangjitur në Rrjet) Duke Përdorur Raspberry Pi: 6 Hapa
NAS (Magazinimi i Bashkangjitur në Rrjet) Përdorimi i Raspberry Pi: Magazinimi i bashkangjitur në rrjet ose shkurt NAS është një pajisje vërtet e mirë që keni nëse keni të bëni me një numër të madh skedarësh dhe të dhënash. Unë kam aq shumë nga përmbajtja ime e lidhur me punën në HDD-në time të brendshme të PC-së, saqë nuk lë shumë hapësirë për të dhënat e mia personale, kështu që