Innholdsfortegnelse:
- Trinn 1: Demonstrasjon
- Trinn 2: Montering
- Trinn 3: Montering - Tabell
- Trinn 4: Ubidots
- Trinn 5: SimpleDHT -bibliotek
- Trinn 6: PubSubClient Library
- Trinn 7: TinyGSM -bibliotek
- Trinn 8: TFT_eSPI -bibliotek
- Trinn 9: TFT_eSPI -bibliotek
- Trinn 10: Ubidots
- Trinn 11: Endre dataene i.ino
- Trinn 12: GPRS_ESP32_DHT.ino - Deklarasjoner og variabler
- Trinn 13: Festing
- Trinn 14: Oppsett
- Trinn 15: SetupDisplay
- Trinn 16: SetupGSM
- Trinn 17: ConnectMQTTServer
- Trinn 18: Sløyfe
- Trinn 19: ReadDHT
- Trinn 20: PubliserMQTT
- Trinn 21: CreateJsonString
- Trinn 22: ShowDataOnDisplay
- Trinn 23: Filer
Video: IOT Med mobilnettverk med ESP32: 23 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
I dag vil vi diskutere om GPRS -modemet, eller rettere sagt, ESP32 og bruken av det med mobiltelefonnettet. Dette er noe som fungerer veldig bra. Ved å bruke MQTT -protokollen sender vi deretter data til Ubidots dashbord. Bruk i denne enheten en skjerm for tilbakemelding på kretsen, i tillegg til SIM800L og en mobiltelefonbrikke. Med dette prosjektet vil vi derfor sende temperatur- og fuktighetsdata gjennom GPRS og MQTT, og visualisere dataene i et linjediagram.
Trinn 1: Demonstrasjon
Trinn 2: Montering
Trinn 3: Montering - Tabell
Trinn 4: Ubidots
Trinn 5: SimpleDHT -bibliotek
I Arduino IDE, gå til Skisse-> Inkluder bibliotek-> Administrer biblioteker …
Installer SimpleDHT
Trinn 6: PubSubClient Library
I Arduino IDE, gå til Skisse-> Inkluder bibliotek-> Administrer biblioteker …
Installer PubSubClient
Trinn 7: TinyGSM -bibliotek
I Arduino IDE, gå til Skisse-> Inkluder bibliotek-> Administrer biblioteker …
Installer TinyGSM
Trinn 8: TFT_eSPI -bibliotek
I Arduino IDE, gå til Skisse-> Inkluder bibliotek-> Administrer biblioteker …
Installer TFT_eSPI
Trinn 9: TFT_eSPI -bibliotek
Endre visningsnålene i lib -mappen.
Festingen ligger i filen User_Setup.h i
C: / Users / Documents / Arduino / libraries / TFT_eSPI
Endre disse standardene til følgende verdier i bildet.
Trinn 10: Ubidots
Logg deg på Ubidots med kontoen din og klikk på Enheter
Klikk på "+" - knappen i øvre høyre hjørne
Klikk på Tom
Skriv inn enhetsnavnet. Legg merke til "enhetsetiketten", da dette vil bli brukt i "emnet" som vi skal bruke i.ino
På listen over enheter vises enheten du nettopp har opprettet. Klikk på den.
Klikk på "Legg til variabel" på skjermen som vises. En popup vil dukke opp. Klikk på "Rå".
Klikk på tekstboksen, og skriv inn navnet på eiendommen.
Det må være akkurat det vi sender i jsonen til.ino. Gjenta dette for den andre eiendommen.
Gå tilbake til dashbordet ved å klikke på Ubidots -logoen.
Klikk på "Legg til ny widget" i oversikten.
Velg "Dobbel akse" i listen over widgets
Trinn 11: Endre dataene i.ino
Trinn 12: GPRS_ESP32_DHT.ino - Deklarasjoner og 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" // Tosco (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
Trinn 13: Festing
// 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. Bruk 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; flyte fuktighet; // Variável onde iremos armazenar o valor da umidade flytemperatur; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objekto que realizará a leitura da umidade e temperatura
Trinn 14: Oppsett
ugyldig oppsett () {Serial.begin (115200); setupDisplay (); // Innledende konfigurasjon av skjermoppsettGSM (); // Innledende konfigurasjon av modem GSM -tilkoblingMQTTServer (); // Conectamos ao mqtt server // Espera 2 segundos e limpamos o display delay (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
Trinn 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"); }
Trinn 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 ("Restarting GSM Modem failed"); forsinkelse (10000); ESP.start (); komme tilbake; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Kunne ikke koble til nettverk"); forsinkelse (10000); ESP.start (); komme tilbake; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS -tilkobling mislyktes"); forsinkelse (10000); ESP.start (); komme tilbake; } display.println ("Oppsett av GSM -suksess"); }
Trinn 17: ConnectMQTTServer
void connectMQTTServer () {display.println ("Koble 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"); } annet {// Se ocorreu algum erro display.print ("feil ="); display.println (client.state ()); forsinkelse (10000); ESP.start (); }}
Trinn 18: Sløyfe
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; }}
Trinn 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; fuktighet = h; }}
Trinn 20: PubliserMQTT
void publishMQTT () {// Cria o json que iremos enviar para o server MQTT String msg = createJsonString (); Serial.print ("Publiser melding:"); Serial.println (msg); // Publicamos no tópico int status = client.publish (TOPIC, msg.c_str ()); Serial.println ("Status:" + streng (status)); // Status 1 er vellykket eller kan ikke vises}
Trinn 21: CreateJsonString
String createJsonString () {String data = "{"; if (! isnan (fuktighet) &&! isnan (temperatur)) {data+= "\" fuktighet / ":"; data+= streng (fuktighet, 2); data+= ","; data+= "\" temperatur / ":"; data+= streng (temperatur, 2); } data+= "}"; returnere data; }
Trinn 22: ShowDataOnDisplay
void showDataOnDisplay () {// Reseta a posição do cursor and mostra umidade and temperatura lidas display.setCursor (0, 0, 2); display.println ("Fuktighet:" + streng (fuktighet, 2)); display.println ("Temperatur:" + streng (temperatur, 2)); }
Trinn 23: Filer
Last ned filene
INO
Anbefalt:
PWM Med ESP32 - Dimmende LED med PWM på ESP 32 Med Arduino IDE: 6 trinn
PWM Med ESP32 | Dimmende LED med PWM på ESP 32 Med Arduino IDE: I denne instruksen vil vi se hvordan du genererer PWM -signaler med ESP32 ved hjelp av Arduino IDE & PWM brukes i utgangspunktet til å generere analog utgang fra hvilken som helst MCU, og den analoge utgangen kan være alt mellom 0V til 3,3V (i tilfelle esp32) & fra
Komme i gang med ESP32 CAM - Streaming av video ved bruk av ESP CAM over Wifi - ESP32 sikkerhetskamera -prosjekt: 8 trinn
Komme i gang med ESP32 CAM | Streaming av video ved bruk av ESP CAM over Wifi | ESP32 Security Camera Project: I dag lærer vi hvordan du bruker dette nye ESP32 CAM -kortet og hvordan vi kan kode det og bruke det som et sikkerhetskamera og få en streaming video over wifi
Komme i gang med ESP32 - Installere ESP32 -kort i Arduino IDE - ESP32 Blink -kode: 3 trinn
Komme i gang med ESP32 | Installere ESP32 -kort i Arduino IDE | ESP32 Blink -kode: I denne instruksjonsboken vil vi se hvordan du begynner å jobbe med esp32 og hvordan du installerer esp32 -kort i Arduino IDE, og vi vil programmere esp 32 for å kjøre blinkkode ved hjelp av arduino ide
IoT Plant Monitoring System (Med IBM IoT Platform): 11 trinn (med bilder)
IoT Plant Monitoring System (Med IBM IoT Platform): Oversikt Plant Monitoring System (PMS) er et program bygget med enkeltpersoner som er i arbeiderklassen med en grønn tommel i tankene. I dag er arbeidsindivider travlere enn noen gang før; fremme karrieren og administrere økonomien
IOT røykvarsler: Oppdater eksisterende røykvarsler med IOT: 6 trinn (med bilder)
IOT røykdetektor: Oppdater eksisterende røykdetektor med IOT: Liste over bidragsytere, Oppfinner: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Veileder: Dr Chia Kim Seng Institutt for mekanisk og robotteknikk, Fakultet for elektrisk og elektronisk ingeniørfag, Universiti Tun Hussein Onn Malaysia.Distribuer