Satura rādītājs:
- 1. solis: demonstrācija
- 2. solis: montāža
- 3. solis: salikšana - tabula
- 4. darbība: Ubidots
- 5. darbība: SimpleDHT bibliotēka
- 6. darbība: PubSubClient bibliotēka
- 7. darbība: TinyGSM bibliotēka
- 8. darbība. TFT_eSPI bibliotēka
- 9. darbība: TFT_eSPI bibliotēka
- 10. darbība: Ubidots
- 11. darbība. Datu maiņa.ino
- 12. solis: GPRS_ESP32_DHT.ino - Deklarācijas un mainīgie
- 13. darbība. Piespraušana
- 14. darbība: iestatīšana
- 15. darbība: iestatīšana
- 16. darbība: iestatiet GSM
- 17. darbība: ConnectMQTTServer
- 18. darbība: cilpa
- 19. solis: lasiet
- 20. darbība. Publicējiet MQTT
- 21. darbība: CreateJsonString izveide
- 22. darbība: ShowDataOnDisplay
- 23. darbība: faili
Video: IOT ar mobilo tīklu ar ESP32: 23 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šodien mēs apspriedīsim GPRS modemu, pareizāk sakot, ESP32 un tā izmantošanu mobilajā telefonu tīklā. Tas ir kaut kas, kas darbojas ļoti labi. Izmantojot MQTT protokolu, mēs nosūtīsim datus uz Ubidots informācijas paneli. Šajā komplektā papildus displejam SIM800L un mobilā tālruņa mikroshēmai izmantojiet displeju, lai saņemtu atsauksmes par ķēdi. Tāpēc ar šo projektu mēs nosūtīsim temperatūras un mitruma datus, izmantojot GPRS un MQTT, un vizualizēsim datus līniju diagrammā.
1. solis: demonstrācija
2. solis: montāža
3. solis: salikšana - tabula
4. darbība: Ubidots
5. darbība: SimpleDHT bibliotēka
Arduino IDE dodieties uz Skice-> Iekļaut bibliotēku-> Pārvaldīt bibliotēkas …
Instalējiet SimpleDHT
6. darbība: PubSubClient bibliotēka
Arduino IDE dodieties uz Skice-> Iekļaut bibliotēku-> Pārvaldīt bibliotēkas …
Instalējiet PubSubClient
7. darbība: TinyGSM bibliotēka
Arduino IDE dodieties uz Skice-> Iekļaut bibliotēku-> Pārvaldīt bibliotēkas …
Instalējiet TinyGSM
8. darbība. TFT_eSPI bibliotēka
Arduino IDE dodieties uz Skice-> Iekļaut bibliotēku-> Pārvaldīt bibliotēkas …
Instalējiet TFT_eSPI
9. darbība: TFT_eSPI bibliotēka
Mainiet displeja tapas lib mapē.
Piespraušana atrodas failā User_Setup.h
C: / Lietotāji / Dokumenti / Arduino / bibliotēkas / TFT_eSPI
Mainiet šīs noklusējuma vērtības uz tālāk norādītajām attēlā redzamajām vērtībām.
10. darbība: Ubidots
Piesakieties Ubidots ar savu kontu un noklikšķiniet uz Ierīces
Noklikšķiniet uz pogas "+" augšējā labajā stūrī
Noklikšķiniet uz Tukšs
Ievadiet ierīces nosaukumu. Ņemiet vērā “ierīces etiķeti”, jo tā tiks izmantota tēmā, kuru izmantosim.ino
Ierīču sarakstā parādīsies tikko izveidotā ierīce. Noklikšķiniet uz tā.
Parādītajā ekrānā noklikšķiniet uz "Pievienot mainīgo". Parādīsies uznirstošais logs. Noklikšķiniet uz "Neapstrādāts".
Noklikšķiniet uz tekstlodziņa un ievadiet rekvizīta nosaukumu.
Tam jābūt tieši tam, ko mēs nosūtīsim.ino json. Atkārtojiet to citam īpašumam.
Atgriezieties informācijas panelī, noklikšķinot uz Ubidots logotipa.
Informācijas panelī noklikšķiniet uz "Pievienot jaunu logrīku"
Logrīku sarakstā izvēlieties "Dubultā ass"
11. darbība. Datu maiņa.ino
12. solis: GPRS_ESP32_DHT.ino - Deklarācijas un mainīgie
#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-abcdefghijklmnopqrstuvwxyz pärast video tēliem (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 MQERQ #Server mqtt: //things.ubidots.com "// Porta padrão do MQTT #define MQTT_PORT 1883 // Pino onde está o DHT22 #define DHT_PIN 27
13. darbība. Piespraušana
// Pinagem em User_Setup.h ar 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. Izmantojiet semper 1 HardwareSerial SerialGSM (1); TinyGsm modemsGSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Cliente MQTT, passamos url do server, porta // e vai klienta GSM PubSubClient klients (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; pludiņa mitrums; // 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
14. darbība: iestatīšana
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); }
15. darbība: iestatīšana
void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Limpa vai displejs ar šādu displeju.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"); }
16. darbība: iestatiet GSM
void setupGSM () {display.println ("Iestatīt GSM …"); // Inicializamos a serial onde modá SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); kavēšanās (3000); // Mostra informationção sobre o modem Serial.println (modemGSM.getModemInfo ()); // Inicializa o modem if (! ModemGSM.restart ()) {display.println ("GSM modema restartēšana neizdevās"); kavēšanās (10000); ESP.restart (); atgriešanās; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Neizdevās izveidot savienojumu ar tīklu"); kavēšanās (10000); ESP.restart (); atgriešanās; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS savienojums neizdevās"); kavēšanās (10000); ESP.restart (); atgriešanās; } display.println ("Iestatīt GSM panākumus"); }
17. darbība: ConnectMQTTServer
void connectMQTTServer () {display.println ("Savienojuma izveide ar MQTT serveri …"); // Se conecta ao device que definimos if (client.connect (DEVICE_ID, TOKEN, ""))) {// Se a conexão foi bem sucedida display.println ("Connected"); } cits {// Skatiet ocorreu algum erro display.print ("error ="); display.println (client.state ()); kavēšanās (10000); ESP.restart (); }}
18. darbība: cilpa
void loop () {// Faz a leitura da umidade e temperatura readDHT (); // Nosakiet servera MQTT, ja (! 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 publisMQTT (); // Mostramos os dados no display showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = tagad; }}
19. solis: lasiet
void readDHT () {pludiņš 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) {temperatūra = t; mitrums = h; }}
20. darbība. Publicējiet MQTT
void publicMQTT () {// Cria o json que iremos enviar para o server MQTT String msg = createJsonString (); Serial.print ("Publicēt ziņojumu:"); Serial.println (msg); // Publicamos no tópico int status = client.publish (TOPIC, msg.c_str ()); Serial.println ("Statuss:" + virkne (statuss)); // Status 1 secessou ou 0 se deu erro}
21. darbība: CreateJsonString izveide
String createJsonString () {String data = "{"; if (! isnan (mitrums) &&! isnan (temperatūra)) {data+= "\" mitrums / ":"; dati+= Stīga (mitrums, 2); dati+= ","; dati+= "\" temperatūra / ":"; dati+= virkne (temperatūra, 2); } dati+= "}"; atgriezt datus; }
22. darbība: ShowDataOnDisplay
void showDataOnDisplay () {// Atjaunojiet kursoru un atgrieziet to temperatūrā un displejā.setCursor (0, 0, 2); display.println ("Mitrums:" + virkne (mitrums, 2)); display.println ("Temperatūra:" + virkne (temperatūra, 2)); }
23. darbība: faili
Lejupielādējiet failus
ES NĒ
Ieteicams:
Aizsargājiet savu tīklu, izmantojot UTM ugunsmūri bez maksas: 4 soļi
Aizsargājiet savu tīklu, izmantojot UTM ugunsmūri bez maksas: šajā rokasgrāmatā tiks apskatīti pamati, kā Sophos UTM instalēt un palaist jūsu mājas tīklā. Šis ir bezmaksas un ļoti spēcīgs programmatūras komplekts. Es cenšos sasniegt zemāko kopsaucēju, tāpēc neiedziļināšos aktīvā direktoriju integrācijā, attālināti
Kā izveidot savu WIFI vārteju, lai savienotu savu Arduino ar IP tīklu?: 11 soļi (ar attēliem)
Kā izveidot savu WIFI vārteju, lai savienotu savu Arduino ar IP tīklu?: Kā tik daudzi cilvēki jūs domājat, ka Arduino ir ļoti labs risinājums mājas automatizācijai un robotizēšanai! Bet komunikācijas ziņā Arduinos ir tikai sērijas saites. Es strādāju pie robota, kuram jābūt pastāvīgi savienotam ar serveri, kas darbojas
Izveidojiet IPhone lietotni, kas runā ar daļiņu tīklu: 4 soļi
Izveidojiet IPhone lietotni, kas runā ar daļiņu tīklu: Šajā projektā jūs uzzināsit, kā savā iPhone ierīcē ielādēt lietotni, kas runā tieši ar trešās paaudzes skaidu plātni. Tas aizņems mazāk nekā 20 minūtes jūsu laika. Turklāt jūs varat sākt ķerties pie lietas uzreiz! Sāksim darbu. Lietas, kuras jums nebūs
Mobilā/mobilā tālruņa barošana ar ārēju akumulatoru vai tīklu: 3 soļi
Ieslēdziet mobilo/mobilo tālruni ar ārēju akumulatoru vai tīklu: Ievads. Šī ideja darbosies tikai ar tālruņiem vai planšetdatoriem, ja akumulators ir noņemams. Protams, ir svarīgi ievērot polaritāti. Lūdzu, esiet piesardzīgs, lai neuzmanības dēļ nesabojātu ierīci. Ja neesat pārliecināts par savām spējām to izdarīt
IOT123 - ASIMILĒT IOT TĪKLU: 26 soļi
IOT123 - ASIMILĒT IOT TĪKLU: ASSIMILATE IOT TĪKLS ir protokolu kopums, kas ļauj viegli integrēt sensorus, aktierus, lietu mezglus un vietējos brokerus ar ārpasauli. Šī pamācība ir instrukciju instrukcija; tas indeksē visus dažādus projektus un p