![IOT met mobiele netwerk met ESP32: 23 stappe IOT met mobiele netwerk met ESP32: 23 stappe](https://i.howwhatproduce.com/images/006/image-16810-12-j.webp)
INHOUDSOPGAWE:
- Stap 1: Demonstrasie
- Stap 2: Montering
- Stap 3: Samestelling - Tabel
- Stap 4: Ubidots
- Stap 5: SimpleDHT -biblioteek
- Stap 6: PubSubClient -biblioteek
- Stap 7: TinyGSM -biblioteek
- Stap 8: TFT_eSPI -biblioteek
- Stap 9: TFT_eSPI -biblioteek
- Stap 10: Ubidots
- Stap 11: Verander die data in.ino
- Stap 12: GPRS_ESP32_DHT.ino - Verklarings en veranderlikes
- Stap 13: vasmaak
- Stap 14: Opstel
- Stap 15: SetupDisplay
- Stap 16: SetupGSM
- Stap 17: VerbindMQTTServer
- Stap 18: Lus
- Stap 19: ReadDHT
- Stap 20: PubliseerMQTT
- Stap 21: CreateJsonString
- Stap 22: ShowDataOnDisplay
- Stap 23: lêers
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53
![Image Image](https://i.howwhatproduce.com/images/006/image-16810-14-j.webp)
![](https://i.ytimg.com/vi/U_KYGe7ZyKM/hqdefault.jpg)
![Demonstrasie Demonstrasie](https://i.howwhatproduce.com/images/006/image-16810-15-j.webp)
Vandag bespreek ons die GPRS -modem, of liewer, die ESP32 en die gebruik daarvan met die selfoonnetwerk. Dit is iets wat baie goed werk. Deur die MQTT -protokol te gebruik, stuur ons dan data na die Ubidots -dashboard. Gebruik in hierdie samestelling 'n skerm vir terugvoer van die stroombaan, benewens die SIM800L en 'n selfoonskyfie. Met hierdie projek sal ons dus temperatuur- en humiditeitsdata deur GPRS en MQTT stuur, en die data in 'n lyngrafiek visualiseer.
Stap 1: Demonstrasie
Stap 2: Montering
![Vergadering Vergadering](https://i.howwhatproduce.com/images/006/image-16810-16-j.webp)
Stap 3: Samestelling - Tabel
![Vergadering - Tabel Vergadering - Tabel](https://i.howwhatproduce.com/images/006/image-16810-17-j.webp)
Stap 4: Ubidots
![Ubidots Ubidots](https://i.howwhatproduce.com/images/006/image-16810-18-j.webp)
Stap 5: SimpleDHT -biblioteek
![SimpleDHT -biblioteek SimpleDHT -biblioteek](https://i.howwhatproduce.com/images/006/image-16810-19-j.webp)
Gaan in die Arduino IDE na Sketch-> Include Library-> Manage Libraries …
Installeer SimpleDHT
Stap 6: PubSubClient -biblioteek
![PubSubClient -biblioteek PubSubClient -biblioteek](https://i.howwhatproduce.com/images/006/image-16810-20-j.webp)
Gaan in die Arduino IDE na Sketch-> Include Library-> Manage Libraries …
Installeer PubSubClient
Stap 7: TinyGSM -biblioteek
![TinyGSM -biblioteek TinyGSM -biblioteek](https://i.howwhatproduce.com/images/006/image-16810-21-j.webp)
Gaan in die Arduino IDE na Skets-> Sluit biblioteek in-> Beheer biblioteke …
Installeer TinyGSM
Stap 8: TFT_eSPI -biblioteek
![TFT_eSPI -biblioteek TFT_eSPI -biblioteek](https://i.howwhatproduce.com/images/006/image-16810-22-j.webp)
Gaan in die Arduino IDE na Skets-> Sluit biblioteek in-> Beheer biblioteke …
Installeer TFT_eSPI
Stap 9: TFT_eSPI -biblioteek
![TFT_eSPI -biblioteek TFT_eSPI -biblioteek](https://i.howwhatproduce.com/images/006/image-16810-23-j.webp)
Verander die skermpenne in die lib -lêergids.
Die vasmaak is in die User_Setup.h -lêer in
C: / Users / Documents / Arduino / libraries / TFT_eSPI
Verander hierdie standaard na die volgende waardes in die prent.
Stap 10: Ubidots
![Ubidots Ubidots](https://i.howwhatproduce.com/images/006/image-16810-24-j.webp)
![Ubidots Ubidots](https://i.howwhatproduce.com/images/006/image-16810-25-j.webp)
![Ubidots Ubidots](https://i.howwhatproduce.com/images/006/image-16810-26-j.webp)
Meld aan by Ubidots met u rekening en klik op toestelle
Klik op die "+" knoppie in die regter boonste hoek
Klik op Leeg
Voer die toestelnaam in. Let op die 'toesteletiket', aangesien dit gebruik sal word in die 'onderwerp' wat ons in.ino sal gebruik
In die lys toestelle verskyn die toestel wat u pas geskep het. Klik daarop.
Klik op die venster wat verskyn, op 'Voeg veranderlike by'. 'N Opspring verskyn. Klik op "Rou".
Klik op die tekskassie en voer die naam van die eiendom in.
Dit moet presies wees wat ons in die json van die.ino sal stuur. Herhaal dit vir die ander eiendom.
Gaan terug na die paneelbord deur op die Ubidots -logo te klik.
Klik in die paneelbord op "Voeg nuwe widget by"
Kies 'Dubbele as' in die lys met widgets
Stap 11: Verander die data in.ino
![Verander die data in.ino Verander die data in.ino](https://i.howwhatproduce.com/images/006/image-16810-27-j.webp)
![Verander die data in.ino Verander die data in.ino](https://i.howwhatproduce.com/images/006/image-16810-28-j.webp)
Stap 12: GPRS_ESP32_DHT.ino - Verklarings en veranderlikes
![GPRS_ESP32_DHT.ino - Verklarings en veranderlikes GPRS_ESP32_DHT.ino - Verklarings en veranderlikes](https://i.howwhatproduce.com/images/006/image-16810-29-j.webp)
#define TINY_GSM_MODEM_SIM800 // Tipo de modem que estamos usando #include #include #include #include // include the 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 #definieer DHT_PIN 27
Stap 13: vasmaak
![Speld vas Speld vas](https://i.howwhatproduce.com/images/006/image-16810-30-j.webp)
// Pinagem em user_Setup.h na pasta da bibliotecaTFT_eSPI display = TFT_eSPI (); // Intervalo entre os envios and refresh da tela #define INTERVAL 10000 // Canal serial que vamos usar para comunicarmos com or modem. Gebruik semper 1 HardwareSerial SerialGSM (1); TinyGsm -modem GSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Kliënt MQTT, slaag na 'n URL -bediener, 'n portaal // e o kliënt van GSM PubSubClient -kliënt (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; vlot humiditeit; // Variável onde iremos armazenar o valor da umidade float temperature; // Variëvel onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Ons kan realisties wees om die temperatuur en temperatuur te bereik
Stap 14: Opstel
ongeldige opstelling () {Serial.begin (115200); setupDisplay (); // Inisieer en konfigurasie van die opstel van GSM (); // Inisieer e konfigurasie van 'n modem GSM connectMQTTServer (); // Konnekteer oa mqtt -bediener // Espera 2 segundos e limpamos o display delay (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
Stap 15: SetupDisplay
leegte setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Daar is 'n weergawe met 'n azul -display.setTextColor (TFT_WHITE, TFT_BLUE); // Tekst soos 'n branco com fundo azul display.setTextWrap (waar, waar); // Ativa quebra de linha display.setTextSize (1); display.setCursor (0, 0, 2); // Posxção x, y e fonte do texto display.println ("Setup Display Complete"); }
Stap 16: SetupGSM
ongeldig setupGSM () {display.println ("GSM opstel …"); // Inisialisasie van 'n reekse wat 'n modem kan opstel SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); vertraging (3000); // Mostra informação sobre of modem Serial.println (modemGSM.getModemInfo ()); // Oorsig van modem as (! ModemGSM.restart ()) {display.println ("Herbegin van GSM -modem misluk"); vertraging (10000); ESP.start (); terugkeer; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Kon nie aan netwerk koppel nie"); vertraging (10000); ESP.start (); terugkeer; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS -verbinding misluk"); vertraging (10000); ESP.start (); terugkeer; } display.println ("Opstel van GSM -sukses"); }
Stap 17: VerbindMQTTServer
void connectMQTTServer () {display.println ("Koppel aan MQTT -bediener …"); // Ons kan ook die toestel definieer as (client.connect (DEVICE_ID, TOKEN, "")) {// Sien 'n koneksão foi bem sucedida display.println ("Connected"); } anders {// Sien ocorreu algum erro display.print ("error ="); display.println (client.state ()); vertraging (10000); ESP.start (); }}
Stap 18: Lus
void loop () {// Faz a leitura da umidade e temperatuura readDHT (); // Skakel die bediener MQTT af as (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // Tempo decorrido desde o boot em milissegundos unsigned long now = millis (); // Sien die intervall van die envio as (nou - laaste tyd> INTERVAL) {// Publieke verslae vir die bediener mqtt publishMQTT (); // Mostramos os dados no display showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = now; }}
Stap 19: ReadDHT
leegte leesDHT () {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; humiditeit = h; }}
Stap 20: PubliseerMQTT
void publishMQTT () {// Cria o json que iremos enviar para o server MQTT String msg = createJsonString (); Serial.print ("Publiseer boodskap:"); Serial.println (boodskap); // Publicamos no tópico int status = client.publish (TOPIC, msg.c_str ()); Serial.println ("Status:" + string (status)); // Status 1 is suksesvol
Stap 21: CreateJsonString
![CreateJsonString CreateJsonString](https://i.howwhatproduce.com/images/006/image-16810-31-j.webp)
String createJsonString () {String data = "{"; as (! isnan (humiditeit) &&! isnan (temperatuur)) {data+= "\" humiditeit / ":"; data+= String (humiditeit, 2); data+= ","; data+= "\" temperatuur / ":"; data+= String (temperatuur, 2); } data+= "}"; data terugstuur; }
Stap 22: ShowDataOnDisplay
void showDataOnDisplay () {// Reseta a posição do cursor e mostra umidade and temperatura lidas display.setCursor (0, 0, 2); display.println ("Humidity:" + String (humiditeit, 2)); display.println ("Temperatuur:" + String (temperatuur, 2)); }
Stap 23: lêers
Laai die lêers af
EK NEE
Aanbeveel:
Beskerm u netwerk met 'n gratis UTM -firewall: 4 stappe
![Beskerm u netwerk met 'n gratis UTM -firewall: 4 stappe Beskerm u netwerk met 'n gratis UTM -firewall: 4 stappe](https://i.howwhatproduce.com/images/001/image-1896-22-j.webp)
Beskerm u netwerk met 'n UTM -firewall gratis: hierdie gids dek die basiese beginsels om 'n Sophos UTM op u tuisnetwerk te laat installeer en te laat werk. Dit is 'n gratis en baie kragtige sagtewarepakket. Ek probeer om die laagste gemene deler te bereik, so ek sal nie aktiewe gidsintegrasie, afstandsbedienings gebruik nie
Word wakker met LAN op enige rekenaar via 'n draadlose netwerk: 3 stappe
![Word wakker met LAN op enige rekenaar via 'n draadlose netwerk: 3 stappe Word wakker met LAN op enige rekenaar via 'n draadlose netwerk: 3 stappe](https://i.howwhatproduce.com/images/002/image-4868-31-j.webp)
Wakker op LAN Enige rekenaar via 'n draadlose netwerk: hierdie tutoriaal is nie meer op datum nie weens veranderinge in die Raspbpian -beeld. Volg die opgedateerde tutoriaal hier: https://www.instructables.com/id/Raspberry-Pi-As-Wake-on-LAN-ServerWOL is deesdae byna op alle Ethernet-poorte beskikbaar. Dit is nie
Hoe om u eie WIFI -gateway te maak om u Arduino aan 'n IP -netwerk te koppel?: 11 stappe (met foto's)
![Hoe om u eie WIFI -gateway te maak om u Arduino aan 'n IP -netwerk te koppel?: 11 stappe (met foto's) Hoe om u eie WIFI -gateway te maak om u Arduino aan 'n IP -netwerk te koppel?: 11 stappe (met foto's)](https://i.howwhatproduce.com/images/004/image-10449-j.webp)
Hoe kan u u eie WIFI -poort maak om u Arduino aan 'n IP -netwerk te koppel?: Soos soveel mense dink u dat Arduino 'n baie goeie oplossing is om tuisautomatisering en robotika te doen! Ek werk aan 'n robot wat permanent verbind moet word met 'n bediener wat werk
Neurale netwerk -aangedrewe planetarium met behulp van Python, elektron en Keras: 8 stappe
![Neurale netwerk -aangedrewe planetarium met behulp van Python, elektron en Keras: 8 stappe Neurale netwerk -aangedrewe planetarium met behulp van Python, elektron en Keras: 8 stappe](https://i.howwhatproduce.com/images/007/image-18238-j.webp)
Neurale netwerk -aangedrewe planetarium met behulp van Python, elektron en Keras: In hierdie instruksies sal ek u wys hoe ek 'n outomatiese 3D -planetariumopwekker met behulp van Python en elektron geskryf het. Die video hierbo toon een van die ewekansige planetariums wat die program gegenereer het. ** Let op: Hierdie program is geensins perfek nie en op een of ander plek
Draadlose kraanmodel (SMART BOT) met spioenasiekamera oor die netwerk (wifi of hotspot): 8 stappe
![Draadlose kraanmodel (SMART BOT) met spioenasiekamera oor die netwerk (wifi of hotspot): 8 stappe Draadlose kraanmodel (SMART BOT) met spioenasiekamera oor die netwerk (wifi of hotspot): 8 stappe](https://i.howwhatproduce.com/images/001/image-1387-37-j.webp)
Draadlose kraanmodel (SMART BOT) met spioenasie-kamera oor die netwerk (wifi of hotspot): om 'n projek te maak, gaan ons deur 'n paar stappe:-soek na idees wat verband hou met projekte fakturering van materiaal wat benodig word vir die projekteksperiment op PCB en broodbord