Indholdsfortegnelse:
- Trin 1: Demonstration
- Trin 2: Montering
- Trin 3: Montering - tabel
- Trin 4: Ubidots
- Trin 5: SimpleDHT -bibliotek
- Trin 6: PubSubClient -bibliotek
- Trin 7: TinyGSM -bibliotek
- Trin 8: TFT_eSPI -bibliotek
- Trin 9: TFT_eSPI -bibliotek
- Trin 10: Ubidots
- Trin 11: Ændring af data i.ino
- Trin 12: GPRS_ESP32_DHT.ino - Deklarationer og variabler
- Trin 13: Fastgørelse
- Trin 14: Opsætning
- Trin 15: SetupDisplay
- Trin 16: SetupGSM
- Trin 17: TilslutMQTTServer
- Trin 18: Sløjfe
- Trin 19: ReadDHT
- Trin 20: PublishMQTT
- Trin 21: OpretJsonString
- Trin 22: ShowDataOnDisplay
- Trin 23: Filer
Video: IOT med mobilnetværk med ESP32: 23 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
I dag vil vi diskutere om GPRS -modemet, eller rettere, ESP32 og dets anvendelse med mobiltelefonnettet. Dette er noget, der fungerer meget godt. Ved hjælp af MQTT -protokollen sender vi derefter data til Ubidots dashboard. Brug i denne samling et display til feedback af kredsløbet ud over SIM800L og en mobiltelefonchip. Med dette projekt sender vi derfor temperatur- og fugtighedsdata via GPRS og MQTT og visualiserer dataene i et linjediagram.
Trin 1: Demonstration
Trin 2: Montering
Trin 3: Montering - tabel
Trin 4: Ubidots
Trin 5: SimpleDHT -bibliotek
I Arduino IDE skal du gå til Skitse-> Inkluder bibliotek-> Administrer biblioteker …
Installer SimpleDHT
Trin 6: PubSubClient -bibliotek
I Arduino IDE skal du gå til Skitse-> Inkluder bibliotek-> Administrer biblioteker …
Installer PubSubClient
Trin 7: TinyGSM -bibliotek
I Arduino IDE skal du gå til Skitse-> Inkluder bibliotek-> Administrer biblioteker …
Installer TinyGSM
Trin 8: TFT_eSPI -bibliotek
I Arduino IDE skal du gå til Skitse-> Inkluder bibliotek-> Administrer biblioteker …
Installer TFT_eSPI
Trin 9: TFT_eSPI -bibliotek
Skift visningsstifterne i lib -mappen.
Fastgørelsen er i filen User_Setup.h i
C: / Users / Documents / Arduino / libraries / TFT_eSPI
Skift disse standardværdier til følgende værdier i billedet.
Trin 10: Ubidots
Log ind på Ubidots med din konto, og klik på Enheder
Klik på knappen "+" i øverste højre hjørne
Klik på Blank
Indtast enhedsnavnet. Bemærk "enhedsmærket", da dette vil blive brugt i det "emne", som vi vil bruge i.ino
På listen over enheder vises den enhed, du lige har oprettet. Klik på den.
Klik på "Tilføj variabel" på den skærm, der vises. Der vises en popup. Klik på "Raw".
Klik på tekstfeltet, og indtast navnet på ejendommen.
Det skal være præcis det, vi sender i jsonen til.ino. Gentag dette for den anden ejendom.
Gå tilbage til instrumentbrættet ved at klikke på Ubidots -logoet.
Klik på "Tilføj ny widget" i instrumentbrættet
Vælg "Dobbeltakse" på listen over widgets
Trin 11: Ændring af data i.ino
Trin 12: GPRS_ESP32_DHT.ino - Deklarationer og variabler
#define TINY_GSM_MODEM_SIM800 // Tip til de modem que estamos usando #include #include #include #include #include // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnopqrstuvwxyz0123" // Tos (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 MQTT Server # mqtt: //things.ubidots.com "// Porta padrão do MQTT #define MQTT_PORT 1883 // Pino onde está o DHT22 #define DHT_PIN 27
Trin 13: Fastgørelse
// Pinagem em User_Setup.h på 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. Brug semper 1 HardwareSerial SerialGSM (1); TinyGsm -modemGSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Cliente MQTT, passamos a url do server, a porta // e o cliente GSM PubSubClient client (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; flyde fugtighed; // Variável onde iremos armazenar o valor da umidade flyde temperatur; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objekto que realizará a leitura da umidade e temperatura
Trin 14: Opsætning
ugyldig opsætning () {Serial.begin (115200); setupDisplay (); // Inficial e konfigura o display setupGSM (); // Oprettelse af konfiguration af modem GSM -forbindelseMQTTServer (); // Conectamos ao mqtt server // Espera 2 segundos and limpamos o display delay (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
Trin 15: 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"); }
Trin 16: SetupGSM
void setupGSM () {display.println ("Setup GSM …"); // Inicializamos a serial onde está o modem SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); forsinkelse (3000); // Mostra informação sobre o modem Serial.println (modemGSM.getModemInfo ()); // Inicializa o modem if (! ModemGSM.restart ()) {display.println ("Genstart af GSM -modem mislykkedes"); forsinkelse (10000); ESP.restart (); Vend tilbage; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Kan ikke oprette forbindelse til netværk"); forsinkelse (10000); ESP.restart (); Vend tilbage; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS -forbindelse mislykkedes"); forsinkelse (10000); ESP.restart (); Vend tilbage; } display.println ("Opsætning af GSM -succes"); }
Trin 17: TilslutMQTTServer
void connectMQTTServer () {display.println ("Opretter forbindelse til MQTT -server …"); // Se conecta ao device que definimos if (client.connect (DEVICE_ID, TOKEN, "")) {// Se a conexão foi bem sucedida display.println ("Connected"); } andet {// Se ocorreu algum erro display.print ("fejl ="); display.println (client.state ()); forsinkelse (10000); ESP.restart (); }}
Trin 18: Sløjfe
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 unsigned long now = millis (); // Se passou o intervalo de envio if (now - lastTime> INTERVAL) {// Publicamos para o server mqtt publishMQTT (); // Mostramos os dados no display showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = now; }}
Trin 19: ReadDHT
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) {temperature = t; fugtighed = h; }}
Trin 20: PublishMQTT
void publishMQTT () {// Cria o json que iremos enviar para o server MQTT String msg = createJsonString (); Serial.print ("Udgiv besked:"); Serial.println (msg); // Publicamos no tópico int status = client.publish (TOPIC, msg.c_str ()); Serial.println ("Status:" + String (status)); // Status 1 se sucesso ou 0 se deu erro}
Trin 21: OpretJsonString
String createJsonString () {String data = "{"; hvis (! isnan (luftfugtighed) &&! isnan (temperatur)) {data+= "\" fugtighed / ":"; data+= streng (fugtighed, 2); data+= ","; data+= "\" temperatur / ":"; data+= streng (temperatur, 2); } data+= "}"; returnere data; }
Trin 22: ShowDataOnDisplay
void showDataOnDisplay () {// Reseta a posição do cursor and mostra umidade e temperatura lidas display.setCursor (0, 0, 2); display.println ("Fugtighed:" + streng (fugtighed, 2)); display.println ("Temperatur:" + streng (temperatur, 2)); }
Trin 23: Filer
Download filerne
INO
Anbefalede:
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Kom godt i gang med ESP32 CAM - Streaming af video ved hjælp af ESP CAM over Wifi - ESP32 sikkerhedskamera projekt: 8 trin
Kom godt i gang med ESP32 CAM | Streaming af video ved hjælp af ESP CAM over Wifi | ESP32 Security Camera Project: I dag lærer vi, hvordan man bruger dette nye ESP32 CAM -kort, og hvordan vi kan kode det og bruge det som et sikkerhedskamera og få en streaming video over wifi
Kom godt i gang med ESP32 - Installation af ESP32 -plader i Arduino IDE - ESP32 Blink -kode: 3 trin
Kom godt i gang med ESP32 | Installation af ESP32 -plader i Arduino IDE | ESP32 Blink -kode: I denne instruks kan vi se, hvordan man begynder at arbejde med esp32, og hvordan man installerer esp32 -kort i Arduino IDE, og vi vil programmere esp 32 til at køre blinkkode ved hjælp af arduino ide
IoT Plant Monitoring System (Med IBM IoT Platform): 11 trin (med billeder)
IoT Plant Monitoring System (Med IBM IoT Platform): Oversigt Plant Monitoring System (PMS) er en applikation bygget med personer, der er i arbejderklassen med en grøn tommelfinger i tankerne. I dag har arbejdende personer travlt end nogensinde før; fremme deres karriere og styre deres økonomi
IOT Røgdetektor: Opdater eksisterende røgdetektor med IOT: 6 trin (med billeder)
IOT Røgdetektor: Opdater Eksisterende Røgdetektor Med IOT: Liste over bidragydere, Opfinder: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Vejleder: Dr. Hussein Onn Malaysia.Distribuer