Obsah:
- Krok 1: Ukážka
- Krok 2: Zostavenie
- Krok 3: Zostavenie - stôl
- Krok 4: Ubidots
- Krok 5: Knižnica SimpleDHT
- Krok 6: Knižnica PubSubClient
- Krok 7: Knižnica TinyGSM
- Krok 8: Knižnica TFT_eSPI
- Krok 9: Knižnica TFT_eSPI
- Krok 10: Ubidots
- Krok 11: Zmena údajov v.ino
- Krok 12: GPRS_ESP32_DHT.ino - deklarácie a premenné
- Krok 13: Pripnutie
- Krok 14: Nastavenie
- Krok 15: Nastavenie displeja
- Krok 16: Nastavenie GSM
- Krok 17: Server ConnectMQTTS
- Krok 18: Slučka
- Krok 19: ReadDHT
- Krok 20: PublishMQTT
- Krok 21: CreateJsonString
- Krok 22: ShowDataOnDisplay
- Krok 23: Súbory
Video: IOT s mobilnou sieťou s ESP32: 23 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Dnes budeme diskutovať o GPRS modeme alebo skôr o ESP32 a jeho použití v mobilnej telefónnej sieti. To je niečo, čo funguje veľmi dobre. Pomocou protokolu MQTT potom odošleme údaje na ovládací panel Ubidots. V tejto zostave použite okrem SIM800L a čipu mobilného telefónu aj displej na spätnú väzbu obvodu. S týmto projektom preto budeme odosielať údaje o teplote a vlhkosti prostredníctvom GPRS a MQTT a vizualizovať údaje v čiarovom grafe.
Krok 1: Ukážka
Krok 2: Zostavenie
Krok 3: Zostavenie - stôl
Krok 4: Ubidots
Krok 5: Knižnica SimpleDHT
V Arduino IDE prejdite na Skica-> Zahrnúť knižnicu-> Spravovať knižnice …
Nainštalujte SimpleDHT
Krok 6: Knižnica PubSubClient
V IDE Arduino prejdite na Skica-> Zahrnúť knižnicu-> Spravovať knižnice …
Nainštalujte PubSubClient
Krok 7: Knižnica TinyGSM
V Arduino IDE prejdite na Skica-> Zahrnúť knižnicu-> Spravovať knižnice …
Nainštalujte TinyGSM
Krok 8: Knižnica TFT_eSPI
V Arduino IDE prejdite na Skica-> Zahrnúť knižnicu-> Spravovať knižnice …
Nainštalujte TFT_eSPI
Krok 9: Knižnica TFT_eSPI
Zmeňte zobrazovacie kolíky v priečinku lib.
Pripnutie je v súbore User_Setup.h v
C: / Users / \ Dokumenty / Arduino / knižnice / TFT_eSPI
Zmeňte tieto predvolené hodnoty na nasledujúce hodnoty na obrázku.
Krok 10: Ubidots
Prihláste sa do Ubidots pomocou svojho účtu a kliknite na položku Zariadenia
Kliknite na tlačidlo „+“v pravom hornom rohu
Kliknite na položku Prázdne
Zadajte názov zariadenia. Všimnite si „štítok zariadenia“, pretože bude použitý v „téme“, ktorú použijeme v.ino
V zozname zariadení sa zobrazí zariadenie, ktoré ste práve vytvorili. Kliknite naň.
Na obrazovke, ktorá sa zobrazí, kliknite na položku „Pridať premennú“. Zobrazí sa vyskakovacie okno. Kliknite na „Surové“.
Kliknite na textové pole a zadajte názov vlastníctva.
Musí to byť presne to, čo pošleme v súbore.ino. Opakujte to pre druhú vlastnosť.
Vráťte sa na hlavný panel kliknutím na logo Ubidots.
Na hlavnom paneli kliknite na „Pridať nový widget“
V zozname miniaplikácií vyberte možnosť „Dvojitá os“
Krok 11: Zmena údajov v.ino
Krok 12: GPRS_ESP32_DHT.ino - deklarácie a premenné
#define TINY_GSM_MODEM_SIM800 // Tipy pre moderný spôsob použitia #pripojenia #zahrnúť #include #include #include #include // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnopqrstiddose evoospove (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" #TT do_Q mqtt: //things.ubidots.com "// Porta padrão do MQTT #define MQTT_PORT 1883 // Pino onde está o DHT22 #define DHT_PIN 27
Krok 13: Pripnutie
// Pinagem em User_Setup.h na pasta da bibliotecaTFT_eSPI display = TFT_eSPI (); // Interval entre os envios e refresh da tela #define INTERVAL 10000 // Canal serial que vamos usar para comunicarmos com o modem. Využite semper 1 HardwareSerial SerialGSM (1); TinyGsm modemGSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Klient MQTT, prístup k serveru URL, porta // Klient klienta GSM PubSubClient (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; plaváková vlhkosť; // Variável onde iremos armazenar o valor da umidade float temperature; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objeto que realizará a leitura da umidade e temperatura
Krok 14: Nastavenie
void setup () {Serial.begin (115200); setupDisplay (); // Inicializácia a konfigurácia nastavenia displejaGSM (); // Inicializácia a konfigurácia modemu GSM connectMQTTServer (); // Conectamos ao mqtt server // Espera 2 segmenty a limpamos o oneskorenie zobrazenia (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
Krok 15: Nastavenie displeja
void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Limp o display com a cor azul display.setTextColor (TFT_WHITE, TFT_BLUE); // Coloco 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"); }
Krok 16: Nastavenie GSM
neplatné nastavenieGSM () {display.println ("Nastavenie GSM …"); // Inicializácia sériového a externého modemu SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); oneskorenie (3000); // Väčšina informácií o modeme Serial.println (modemGSM.getModemInfo ()); // Inicializa o modem if (! ModemGSM.restart ()) {display.println ("Restarting GSM Modem failed"); oneskorenie (10 000); ESP. Restart (); návrat; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Failed to connect to network"); oneskorenie (10 000); ESP. Restart (); návrat; } // Konecta rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "" ")) {display.println (" GPRS Connection Failed "); oneskorenie (10 000); ESP. Restart (); návrat; } display.println („Nastavenie úspechu siete GSM“); }
Krok 17: Server ConnectMQTTS
void connectMQTTServer () {display.println ("Pripojenie k serveru MQTT …"); // Pozrite sa na ďalšie zariadenia, ktoré môžu definovať if (client.connect (DEVICE_ID, TOKEN, ""))) {// Pozrite sa na obrázok, ktorý sa zobrazí na displeji.println ("Pripojené"); } else {// Se ocorreu algum erro display.print ("error ="); display.println (client.state ()); oneskorenie (10 000); ESP. Restart (); }}
Krok 18: Slučka
void loop () {// Faz a leitura da umidade e temperatura readDHT (); // Skúste server MQTT if (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // Tempo decorrido desde o boot em milissegundos unsigned long now = millis (); // Pozrite sa na intervalo de envio if (now - lastTime> INTERVAL) {// Publicamos para o server mqtt publishMQTT (); // Väčšina obrázkov bez zobrazenia showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = now; }}
Krok 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) {teplota = t; vlhkosť = h; }}
Krok 20: PublishMQTT
void publishMQTT () {// Cria o json que iremos enviar para o server MQTT String msg = createJsonString (); Serial.print ("Publikovať správu:"); Serial.println (msg); // Publicamos no tópico int status = client.publish (TOPIC, msg.c_str ()); Serial.println ("Stav:" + Reťazec (stav)); // Stav 1 sa úspešne opakuje 0 sa eru}
Krok 21: CreateJsonString
Reťazec createJsonString () {String data = "{"; ak (! isnan (vlhkosť) &&! isnan (teplota)) {data+= "\" vlhkosť / ":"; údaje+= reťazec (vlhkosť, 2); údaje+= ","; údaje+= "\" teplota / ":"; údaje+= reťazec (teplota, 2); } údaje+= "}"; vrátiť údaje; }
Krok 22: ShowDataOnDisplay
void showDataOnDisplay () {// Obnovte a umiestnite kurzor na väčšinu umidade a temperatura lidas display.setCursor (0, 0, 2); display.println ("Vlhkosť:" + Reťazec (vlhkosť, 2)); display.println ("Teplota:" + Reťazec (teplota, 2)); }
Krok 23: Súbory
Stiahnite si súbory
INO
Odporúča:
Planetárium poháňané neurónovou sieťou využívajúce Python, Electron a Keras: 8 krokov
Planetárium poháňané neurónovou sieťou využívajúce Python, Electron a Keras: V tomto návode vám ukážem, ako som napísal automatický generátor 3D planetária pomocou systému Python a Electron. Video vyššie ukazuje jedno z náhodných planetárií, ktoré program vygeneroval. ** Poznámka: Tento program nie je v žiadnom prípade dokonalý a na nejakom mieste
ESP32 Bluetooth návod - Ako používať vstavané Bluetooth v ESP32: 5 krokov
ESP32 Bluetooth návod | Ako používať vstavaný Bluetooth v ESP32: Ahoj, pretože doska ESP32 je vybavená WiFi a Bluetooth, ale pre naše väčšinou Projekty zvyčajne používame iba Wifi, nepoužívame Bluetooth. Takže v tomto návode ukážem, aké ľahké je používať Bluetooth ESP32 & Pre vaše základné projekty
Začíname s ESP32 - Inštalácia dosiek ESP32 do Arduino IDE - Kód blinkru ESP32: 3 kroky
Začíname s ESP32 | Inštalácia dosiek ESP32 do Arduino IDE | Kód blinkru ESP32: V tomto návode uvidíme, ako začať pracovať s esp32 a ako nainštalovať dosky esp32 do Arduino IDE a naprogramujeme esp 32 tak, aby spustil kód blinkingu pomocou arduino ide
Ako nabiť 12 V batériu 5 V mobilnou nabíjačkou: 3 kroky
Ako nabiť 12 V batériu pomocou 5 V mobilnej nabíjačky: Ahoj! V tomto návode sa naučíte nabíjať 12 V batériu pomocou 5 V mobilnej nabíjačky doma pomocou jednoduchého prevodníka zosilňovača jednosmerného prúdu na jednosmerný prúd pre zvýšenie napätia. VIDEO: https:/ /www.youtube.com/watch?v=OyslcihUtzQ
Nízkonákladové LED svetlo so starou mobilnou batériou: 8 krokov
Nízkonákladové LED svetlo so starou mobilnou batériou: Jedná sa o veľmi lacný a efektívny LED svetelný systém využívajúci odpadový materiál. Je to lepšie ako produkt HOME LIGHT odjakživa, pretože ho môžete nabíjať z mobilnej nabíjačky Nokia. Obsahuje 22 diód LED, takže je veľmi svetlé. a môžete použiť viac