Innehållsförteckning:
- Steg 1: Demonstration
- Steg 2: Montering
- Steg 3: Montering - Tabell
- Steg 4: Ubidots
- Steg 5: SimpleDHT -bibliotek
- Steg 6: PubSubClient -bibliotek
- Steg 7: TinyGSM -bibliotek
- Steg 8: TFT_eSPI -bibliotek
- Steg 9: TFT_eSPI -bibliotek
- Steg 10: Ubidots
- Steg 11: Ändra data i.ino
- Steg 12: GPRS_ESP32_DHT.ino - Deklarationer och variabler
- Steg 13: Fästning
- Steg 14: Inställning
- Steg 15: SetupDisplay
- Steg 16: SetupGSM
- Steg 17: ConnectMQTTServer
- Steg 18: Loop
- Steg 19: ReadDHT
- Steg 20: PubliceraMQTT
- Steg 21: SkapaJsonString
- Steg 22: ShowDataOnDisplay
- Steg 23: Filer
Video: IOT med mobilnätverk med ESP32: 23 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Idag kommer vi att diskutera om GPRS -modemet, eller snarare, ESP32 och dess användning med mobiltelefonnätet. Detta är något som fungerar mycket bra. Med hjälp av MQTT -protokollet skickar vi sedan data till Ubidots instrumentpanel. Använd i denna enhet en display för återkoppling av kretsen, förutom SIM800L och ett mobiltelefonchip. Med detta projekt kommer vi därför att skicka temperatur- och fuktdata via GPRS och MQTT och visualisera data i ett linjediagram.
Steg 1: Demonstration
Steg 2: Montering
Steg 3: Montering - Tabell
Steg 4: Ubidots
Steg 5: SimpleDHT -bibliotek
I Arduino IDE, gå till Sketch-> Inkludera bibliotek-> Hantera bibliotek …
Installera SimpleDHT
Steg 6: PubSubClient -bibliotek
I Arduino IDE, gå till Sketch-> Inkludera bibliotek-> Hantera bibliotek …
Installera PubSubClient
Steg 7: TinyGSM -bibliotek
I Arduino IDE, gå till Sketch-> Inkludera bibliotek-> Hantera bibliotek …
Installera TinyGSM
Steg 8: TFT_eSPI -bibliotek
I Arduino IDE, gå till Sketch-> Inkludera bibliotek-> Hantera bibliotek …
Installera TFT_eSPI
Steg 9: TFT_eSPI -bibliotek
Ändra visningsstiftet i lib -mappen.
Fästningen finns i filen User_Setup.h i
C: / Users / \ Documents / Arduino / libraries / TFT_eSPI
Ändra dessa standardvärden till följande värden i bilden.
Steg 10: Ubidots
Logga in på Ubidots med ditt konto och klicka på Enheter
Klicka på knappen "+" i det övre högra hörnet
Klicka på Tom
Ange enhetsnamnet. Notera "enhetsetiketten", eftersom den kommer att användas i "ämnet" som vi kommer att använda i.ino
I listan över enheter visas den enhet du just skapade. Klicka på det.
Klicka på "Lägg till variabel" på skärmen som visas. En popup visas. Klicka på "Raw".
Klicka på textrutan och ange egenskapens namn.
Det måste vara precis vad vi kommer att skicka i json av.ino. Upprepa detta för den andra fastigheten.
Gå tillbaka till instrumentpanelen genom att klicka på Ubidots -logotypen.
Klicka på "Lägg till ny widget" i instrumentpanelen.
I listan över widgets väljer du "Dubbel axel"
Steg 11: Ändra data i.ino
Steg 12: GPRS_ESP32_DHT.ino - Deklarationer och variabler
#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-abcdefghijklmnopqrstuvwxyz0123" (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
Steg 13: Fästning
// Pinagem em User_Setup.h na 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. Använd 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; flytande luftfuktighet; // Variável onde iremos armazenar o valor da umidade float temperature; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objekto que realizará a leitura da umidade e temperatura
Steg 14: Inställning
void setup () {Serial.begin (115200); setupDisplay (); // Inicializa e configura o display setupGSM (); // Inicializa e configura o modem GSM connectMQTTServer (); // Conectamos ao mqtt server // Espera 2 segundos e limpamos o display delay (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
Steg 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"); }
Steg 16: SetupGSM
void setupGSM () {display.println ("Setup GSM …"); // Inicializamos a serial onde está o modem SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); fördröjning (3000); // Mostra informação sobre o modem Serial.println (modemGSM.getModemInfo ()); // Initiativ av modem om (! ModemGSM.restart ()) {display.println ("Omstart av GSM -modem misslyckades"); fördröjning (10000); ESP.start (); lämna tillbaka; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Det gick inte att ansluta till nätverket"); fördröjning (10000); ESP.start (); lämna tillbaka; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS -anslutning misslyckades"); fördröjning (10000); ESP.start (); lämna tillbaka; } display.println ("Konfiguration av GSM -framgång"); }
Steg 17: ConnectMQTTServer
void connectMQTTServer () {display.println ("Ansluter till MQTT -server …"); // Se conecta ao device que definimos if (client.connect (DEVICE_ID, TOKEN, "")) {// Se a conexão foi bem sucedida display.println ("Connected"); } annat {// Se ocorreu algum erro display.print ("error ="); display.println (client.state ()); fördröjning (10000); ESP.start (); }}
Steg 18: Loop
void loop () {// Faz a leitura da umidade e temperatura readDHT (); // Se desconectouou 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; }}
Steg 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; luftfuktighet = h; }}
Steg 20: PubliceraMQTT
void publishMQTT () {// Cria o json que iremos enviar para o server MQTT String msg = createJsonString (); Serial.print ("Publicera meddelande:"); 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}
Steg 21: SkapaJsonString
String createJsonString () {String data = "{"; om (! isnan (fuktighet) &&! isnan (temperatur)) {data+= "\" fuktighet ":"; data+= Sträng (fuktighet, 2); data+= ","; data+= "\" temperatur / ":"; data+= Sträng (temperatur, 2); } data+= "}"; returnera data; }
Steg 22: ShowDataOnDisplay
void showDataOnDisplay () {// Reseta a posição do cursor e mostra umidade e temperatura lidas display.setCursor (0, 0, 2); display.println ("Luftfuktighet:" + Sträng (fuktighet, 2)); display.println ("Temperatur:" + Sträng (temperatur, 2)); }
Steg 23: Filer
Ladda ner filerna
INO
Rekommenderad:
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Komma igång med ESP32 CAM - Strömmande video med ESP CAM över wifi - ESP32 säkerhetskameraprojekt: 8 steg
Komma igång med ESP32 CAM | Strömmande video med ESP CAM över wifi | ESP32 säkerhetskameraprojekt: Idag lär vi oss hur man använder det här nya ESP32 CAM -kortet och hur vi kan koda det och använda det som en säkerhetskamera och få en strömmande video över wifi
Komma igång med ESP32 - Installera ESP32 -kort i Arduino IDE - ESP32 blinkningskod: 3 steg
Komma igång med ESP32 | Installera ESP32 -kort i Arduino IDE | ESP32 Blink -kod: I denna instruktion kommer vi att se hur man börjar arbeta med esp32 och hur man installerar esp32 -kort i Arduino IDE och vi kommer att programmera esp 32 för att köra blinkkod med hjälp av arduino ide
IoT Plant Monitoring System (med IBM IoT -plattform): 11 steg (med bilder)
IoT Plant Monitoring System (Med IBM IoT Platform): Översikt Plant Monitoring System (PMS) är en applikation byggd med individer som är i arbetarklassen med en grön tumme i åtanke. Idag är arbetande individer mer upptagna än någonsin; utveckla sin karriär och hantera sin ekonomi.
IOT rökdetektor: Uppdatera befintlig rökdetektor med IOT: 6 steg (med bilder)
IOT rökdetektor: uppdatera befintlig rökdetektor med IOT: lista över bidragsgivare, uppfinnare: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Handledare: Dr Chia Kim Seng Institutionen för mekanisk och robotisk teknik, fakulteten för elektrisk och elektronisk teknik, Universiti Tun Hussein Onn Malaysia.Distribuera