Talaan ng mga Nilalaman:
- Hakbang 1: Pagpapakita
- Hakbang 2: Assembly
- Hakbang 3: Assembly - Talahanayan
- Hakbang 4: Mga Ubidot
- Hakbang 5: SimpleDHT Library
- Hakbang 6: PubSubClient Library
- Hakbang 7: TinyGSM Library
- Hakbang 8: TFT_eSPI Library
- Hakbang 9: TFT_eSPI Library
- Hakbang 10: Ubidots
- Hakbang 11: Pagbabago ng Data sa.ino
- Hakbang 12: GPRS_ESP32_DHT.ino - Mga Deklarasyon at variable
- Hakbang 13: Pag-pin
- Hakbang 14: Pag-setup
- Hakbang 15: SetupDisplay
- Hakbang 16: SetupGSM
- Hakbang 17: ConnectMQTTServer
- Hakbang 18: Loop
- Hakbang 19: Basahin angDHT
- Hakbang 20: I-publishMQTT
- Hakbang 21: LumikhaJsonString
- Hakbang 22: ShowDataOnDisplay
- Hakbang 23: Mga File
Video: IOT Sa Cellular Network Na May ESP32: 23 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ngayon tatalakayin natin ang tungkol sa modem ng GPRS, o sa halip, ang ESP32 at ang paggamit nito sa network ng cellular phone. Ito ay isang bagay na gumagana nang mahusay. Gamit ang MQTT protocol, magpapadala kami ng data sa dashboard ng Ubidots. Gumamit sa pagpupulong na ito ng isang display para sa feedback ng circuit, bilang karagdagan sa SIM800L at isang chip ng cell phone. Sa proyektong ito, samakatuwid, magpapadala kami ng data ng temperatura at kahalumigmigan sa pamamagitan ng GPRS at MQTT, at isasalamin ang data sa isang linya ng tsart.
Hakbang 1: Pagpapakita
Hakbang 2: Assembly
Hakbang 3: Assembly - Talahanayan
Hakbang 4: Mga Ubidot
Hakbang 5: SimpleDHT Library
Sa Arduino IDE, pumunta sa Sketch-> Isama ang Library-> Pamahalaan ang Mga Aklatan…
I-install ang SimpleDHT
Hakbang 6: PubSubClient Library
Sa Arduino IDE, pumunta sa Sketch-> Isama ang Library-> Pamahalaan ang Mga Aklatan…
I-install ang PubSubClient
Hakbang 7: TinyGSM Library
Sa Arduino IDE, pumunta sa Sketch-> Isama ang Library-> Pamahalaan ang Mga Aklatan…
I-install ang TinyGSM
Hakbang 8: TFT_eSPI Library
Sa Arduino IDE, pumunta sa Sketch-> Isama ang Library-> Pamahalaan ang Mga Aklatan…
I-install ang TFT_eSPI
Hakbang 9: TFT_eSPI Library
Baguhin ang mga display pin sa lib folder.
Ang pag-pin ay nasa User_Setup.h file sa
C: / Mga Gumagamit / \ Mga Dokumento / Arduino / mga aklatan / TFT_eSPI
Baguhin ang mga default na ito sa mga sumusunod na halaga sa imahe.
Hakbang 10: Ubidots
Mag-log in sa Ubidots gamit ang iyong account at mag-click sa Mga Device
I-click ang pindutang "+" sa kanang sulok sa itaas
I-click ang Blangko
Ipasok ang pangalan ng aparato. Tandaan ang "label ng aparato," dahil gagamitin ito sa "paksa" na gagamitin namin sa.ino
Sa listahan ng mga aparato, lilitaw ang aparato na iyong nilikha lamang. Pindutin mo.
Sa lalabas na screen, mag-click sa "Magdagdag ng Variable." May lalabas na popup. Mag-click sa "Raw."
I-click ang text box, at ipasok ang pangalan ng pag-aari.
Kailangang maging eksakto kung ano ang ipapadala namin sa json ng.ino. Ulitin ito para sa iba pang pag-aari.
Bumalik sa dashboard sa pamamagitan ng pag-click sa logo ng Ubidots.
Sa dashboard, mag-click sa "Magdagdag ng bagong Widget"
Sa listahan ng Mga Widget, piliin ang "Double axis"
Hakbang 11: Pagbabago ng Data sa.ino
Hakbang 12: GPRS_ESP32_DHT.ino - Mga Deklarasyon at variable
#define TINY_GSM_MODEM_SIM800 // Tipo de modem que estamos usando # isama ang #include #include #include #include // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnopqrstuvwxyz012ar osde" (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 ServerTddtine ServerTddtine ServerTddwine MTTVER ServerTwitter mqtt: //things.ubidots.com "// Porta padrão do MQTT #define MQTT_PORT 1883 // Pino onde está o DHT22 #define DHT_PIN 27
Hakbang 13: Pag-pin
// Pinagem em User_Setup.h na pasta da bibliotecaTFT_eSPI display = TFT_eSPI (); // Intervalo entre os envios at i-refresh ang tela #define INTERVAL 10000 // Canal serial que vamos usar para comunicarmos com o modem. Gumamit ng semper 1 HardwareSerial SerialGSM (1); TinyGsm modemGSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Cliente MQTT, passamos a url do server, isang 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; lumutang halumigmig; // Variável onde iremos armazenar o valor da umidade float temperatura; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objeto que realizará a leitura da umidade e temperatura
Hakbang 14: Pag-setup
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 pagpapakita ng pagkaantala (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
Hakbang 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 ("Kumpleto ang Pag-set up ng Display"); }
Hakbang 16: SetupGSM
void setupGSM () {display.println ("Setup GSM…"); // Inicializamos isang serial onde está o modem SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); pagkaantala (3000); // Mostra informação sobre o modem Serial.println (modemGSM.getModemInfo ()); // Inicializa o modem if (! ModemGSM.restart ()) {display.println ("Nabigo ang pag-restart ng GSM Modem"); pagkaantala (10000); ESP. restart (); bumalik; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Nabigong kumonekta sa network"); pagkaantala (10000); ESP. restart (); bumalik; } // Conecta à rede gprs (APN, usuário, senha) kung (! ModemGSM.gprsConnect ("", "", "")) {display.println ("Nabigo ang Koneksyon ng GPRS"); pagkaantala (10000); ESP. restart (); bumalik; } display.println ("I-setup ang Tagumpay sa GSM"); }
Hakbang 17: ConnectMQTTServer
void connectMQTTServer () {display.println ("Kumokonekta sa MQTT Server …"); // Se conecta ao device que definimos if (client.connect (DEVICE_ID, TOKEN, "")) {// Se a conexão foi bem sucedida display.println ("Connected"); } iba pa {// Se ocorreu algum erro display.print ("error ="); display.println (client.state ()); pagkaantala (10000); ESP. restart (); }}
Hakbang 18: Loop
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 show showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = now; }}
Hakbang 19: Basahin angDHT
walang bisa ang 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) {temperatura = t; halumigmig = h; }}
Hakbang 20: I-publishMQTT
void publishMQTT () {// Cria o json que iremos enviar para o server MQTT String msg = createJsonString (); Serial.print ("I-publish ang mensahe:"); 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}
Hakbang 21: LumikhaJsonString
String createJsonString () {String data = "{"; kung (! isnan (halumigmig) &&! isnan (temperatura)) {data + = "\" kahalumigmigan / ":"; data + = String (halumigmig, 2); data + = ","; data + = "\" temperatura / ":"; data + = String (temperatura, 2); } data + = "}"; ibalik ang data; }
Hakbang 22: ShowDataOnDisplay
void showDataOnDisplay () {// Reseta a posição do cursor at mostra umidade e temperatura lidas display.setCursor (0, 0, 2); display.println ("Humidity:" + String (halumigmig, 2)); display.println ("Temperatura:" + String (temperatura, 2)); }
Hakbang 23: Mga File
I-download ang mga file
INO
Inirerekumendang:
Arduino Cellular Shield Tutorial: 9 Mga Hakbang (na may Mga Larawan)
Arduino Cellular Shield Tutorial: Pinapayagan ka ng Arduino Cellular Shield na tumawag sa mga cellular phone, at magpadala ng mga text message. Ang talino ng kalasag na ito ay ang SM5100B na isang matatag na module ng cellular na may kakayahang gumanap ng maraming mga gawain ng karamihan sa mga karaniwang cell phone. Ito ay
Paano Gumawa ng Iyong Sariling WIFI Gateway upang Ikonekta ang Iyong Arduino sa IP Network?: 11 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng Iyong Sariling WIFI Gateway upang Ikonekta ang Iyong Arduino sa IP Network?: Tulad ng maraming mga tao sa tingin mo Arduino ay isang napakahusay na solusyon upang gawin ang automation ng bahay at robotic! Ngunit sa term ng komunikasyon ang Arduinos ay may serial link lamang. Nagtatrabaho ako sa isang robot na kailangang permanenteng konektado sa isang server na nagpapatakbo ng ar
Kontrolin ang LED Mula sa Iyong WiFi Network! SPEEEduino V1.1: 4 Mga Hakbang (na may Mga Larawan)
Kontrolin ang LED Mula sa Iyong WiFi Network! SPEEEduino V1.1: Ano ang SPEEEduino? Ang SPEEEduino ay isang board na pinagana ng Wi-Fi na microcontroller na nakabatay sa paligid ng ecosystem ng Arduino, na binuo para sa mga nagtuturo. Pinagsasama ng SPEEEduino ang form factor at ang microcontroller ng Arduino sa ESP8266 Wi-Fi SoC, ginagawa
OpenWrt Home Network: 9 Mga Hakbang (na may Mga Larawan)
OpenWrt Home Network: Ang OpenWrt ay isang bukas na mapagkukunan ng pamamahagi ng Linux na karaniwang nai-install ng mga gumagamit sa kanilang mga off-the-shelf na router ng Wi-Fi sa bahay. Kaligtasan: Ang OpenWrt-based router firmware ay madalas na mas ligtas kaysa sa stock home router firmware na nakakatanggap ito ng regular na seguridad nag-update
Kamay ba Iyon? (Raspberry Pi Camera + Neural Network) Bahagi 1/2: 16 Mga Hakbang (na may Mga Larawan)
Kamay ba Iyon? (Raspberry Pi Camera + Neural Network) Bahagi 1/2: Ilang araw na ang nakakalipas, nasugatan ko ang kanang pulso ko sa gym. Pagkatapos tuwing gagamitin ko ang aking computer mouse, nagdulot ito ng labis na sakit dahil sa matarik na anggulo ng pulso. Iyon ay kapag na-hit sa akin " hindi ito magiging mahusay kung maaari naming i-convert ang anumang ibabaw sa isang trackp