Daftar Isi:
- Langkah 1: Demonstrasi
- Langkah 2: Perakitan
- Langkah 3: Perakitan - Tabel
- Langkah 4: Ubidots
- Langkah 5: Perpustakaan SimpleDHT
- Langkah 6: Pustaka PubSubClient
- Langkah 7: Perpustakaan TinyGSM
- Langkah 8: Perpustakaan TFT_eSPI
- Langkah 9: Perpustakaan TFT_eSPI
- Langkah 10: Ubidots
- Langkah 11: Mengubah Data di.ino
- Langkah 12: GPRS_ESP32_DHT.ino - Deklarasi dan Variabel
- Langkah 13: Menyematkan
- Langkah 14: Pengaturan
- Langkah 15: Tampilan Pengaturan
- Langkah 16: SetupGSM
- Langkah 17: ConnectMQTTServer
- Langkah 18: Putaran
- Langkah 19: Baca DHT
- Langkah 20: PublikasikanMQTT
- Langkah 21: CreateJsonString
- Langkah 22: ShowDataOnDisplay
- Langkah 23: File
Video: IOT Dengan Jaringan Seluler Dengan ESP32: 23 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Hari ini kita akan membahas tentang modem GPRS atau lebih tepatnya ESP32 dan penggunaannya dengan jaringan telepon seluler. Ini adalah sesuatu yang bekerja dengan sangat baik. Menggunakan protokol MQTT, kami kemudian akan mengirim data ke dasbor Ubidots. Gunakan dalam rakitan ini tampilan untuk umpan balik sirkuit, selain SIM800L dan chip ponsel. Oleh karena itu, dengan proyek ini, kami akan mengirimkan data suhu dan kelembaban melalui GPRS dan MQTT, dan memvisualisasikan data tersebut dalam diagram garis.
Langkah 1: Demonstrasi
Langkah 2: Perakitan
Langkah 3: Perakitan - Tabel
Langkah 4: Ubidots
Langkah 5: Perpustakaan SimpleDHT
Di Arduino IDE, buka Sketsa-> Sertakan Perpustakaan-> Kelola Perpustakaan …
Instal SimpleDHT
Langkah 6: Pustaka PubSubClient
Di Arduino IDE, buka Sketsa-> Sertakan Perpustakaan-> Kelola Perpustakaan …
Instal PubSubClient
Langkah 7: Perpustakaan TinyGSM
Di Arduino IDE, buka Sketsa-> Sertakan Perpustakaan-> Kelola Perpustakaan …
Instal TinyGSM
Langkah 8: Perpustakaan TFT_eSPI
Di Arduino IDE, buka Sketsa-> Sertakan Perpustakaan-> Kelola Perpustakaan …
Instal TFT_eSPI
Langkah 9: Perpustakaan TFT_eSPI
Ubah pin tampilan di folder lib.
Penyematan ada di file User_Setup.h di
C: / Users / \ Documents / Arduino / perpustakaan / TFT_eSPI
Ubah default ini ke nilai berikut pada gambar.
Langkah 10: Ubidots
Masuk ke Ubidots dengan akun Anda dan klik Perangkat
Klik tombol "+" di pojok kanan atas
Klik Kosong
Masukkan nama perangkat. Perhatikan "label perangkat", karena ini akan digunakan dalam "topik" yang akan kita gunakan di.ino
Dalam daftar perangkat, perangkat yang baru saja Anda buat akan muncul. Klik di atasnya.
Pada layar yang muncul, klik "Tambah Variabel." Sebuah popup akan muncul. Klik pada "Mentah."
Klik kotak teks, dan masukkan nama properti.
Itu harus persis seperti yang akan kita kirim di json dari.ino. Ulangi ini untuk properti lainnya.
Kembali ke dashboard dengan mengklik logo Ubidots.
Di dasbor, klik "Tambah Widget baru"
Dalam daftar Widget, pilih "Sumbu ganda"
Langkah 11: Mengubah Data di.ino
Langkah 12: GPRS_ESP32_DHT.ino - Deklarasi dan Variabel
#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" //Tummosde postara o dvadz0123 (esp32_gprs é o nome do dispositivo no Ubidots) #define TOPIC "/v1.6/devices/esp32_gprs" //id lakukan dispositivo que pegamos no painel do Ubidots #define DEVICE_ID "5c01234567890abc12345678" //URL lakukan MQTTQTT_server mqtt://things.ubidots.com" //Porta padrão do MQTT #define MQTT_PORT 1883 //Pino onde está o DHT22 #define DHT_PIN 27
Langkah 13: Menyematkan
//Pinagem em User_Setup.h dan pasta da bibliotecaTFT_eSPI display = TFT_eSPI(); //Intervalo entre os envios dan refresh da tela #define INTERVAL 10000 //Canal serial que vamos usar para comunicarmos com o modem. Memanfaatkan semper 1 HardwareSerial SerialGSM(1); modem GSM kecilGSM(SerialGSM); TinyGsmClient gsmClient(modemGSM); //Client MQTT, passamos url do server, porta //e o klien GSM PubSubClient client(MQTT_SERVER, MQTT_PORT, gsmClient); //Tempo em que o ltimo envio/refresh foi feito uint32_t lastTime = 0; kelembaban mengambang; //Variável onde iremos armazenar o valor da umidade float temperature; //Variável onde iremo armazenar o valor da temperatur SimpleDHT22 dht; //Objeto que realizará a leitura da umidade dan suhu
Langkah 14: Pengaturan
void setup() { Serial.begin(115200); setupTampilan(); //Inisialisasi dan konfigurasi tampilan setupGSM(); //Inisialisasi dan konfigurasi modem GSM connectMQTTServer(); //Conectamos ao mqtt server //Espera 2 segundos e limpamos o display delay(2000); display.fillScreen(TFT_BLUE); display.setCursor(0, 0); }
Langkah 15: Tampilan Pengaturan
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"); }
Langkah 16: SetupGSM
void setupGSM(){ display.println("Setup GSM…"); //Inicializamos sebuah serial onde está o modem SerialGSM.begin(9600, SERIAL_8N1, 4, 2, false); penundaan(3000); //Informasi paling sederhana dari modem Serial.println(modemGSM.getModemInfo()); //Inisialisasi modem if (!modemGSM.restart()) { display.println("Restart GSM Modem gagal"); penundaan (10000); ESP.mulai ulang(); kembali; } //Espera pela rede if (!modemGSM.waitForNetwork()) { display.println("Gagal terhubung ke jaringan"); penundaan (10000); ESP.mulai ulang(); kembali; } //Conecta rede gprs (APN, usuário, senha) if (!modemGSM.gprsConnect("", "", "")) { display.println("Koneksi GPRS Gagal"); penundaan (10000); ESP.mulai ulang(); kembali; } display.println("Setup GSM Berhasil"); }
Langkah 17: ConnectMQTTServer
void connectMQTTServer() { display.println("Menghubungkan ke Server MQTT…"); //Se conecta ao device que definimos if (client.connect(DEVICE_ID, TOKEN, "")) { //Se a conexão foi bem sucedida display.println("Connected"); } else { //Se ocorreu algum erro display.print("error = "); tampilan.println(klien.status()); penundaan (10000); ESP.mulai ulang(); } }
Langkah 18: Putaran
void loop() { //Faz a leitura da umidade dan suhu readDHT(); //Untuk memutuskan koneksi 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 tidak ada tampilan showDataOnDisplay(); //Atualizamos o tempo em que foi feito o ltimo envio lastTime = sekarang; } }
Langkah 19: Baca DHT
void readDHT(){ float t, h; //Mendapatkan lebih banyak waktu dan mengukur suhu dan menyesuaikan dengan variasi se foi bem sucedido if (dht.read2(DHT_PIN, &t, &h, NULL) == SimpleDHTErrSuccess) { temperature = t; kelembaban = jam; } }
Langkah 20: PublikasikanMQTT
void publishMQTT(){ //Cria untuk pertanyaan yang tidak ada hubungannya dengan server MQTT String msg = createJsonString(); Serial.print("Publikasikan pesan: "); Serial.println(pesan); //Publicamos no tópico int status = client.publish(TOPIC, msg.c_str()); Serial.println("Status: " + String(status));//Status 1 setelah berhasil 0 deu erro }
Langkah 21: CreateJsonString
String createJsonString() { String data = "{"; if(!isnan(kelembaban) && !isnan(suhu)) { data+="\"kelembaban\":"; data+=String(kelembaban, 2); data+=", "; data+="\"suhu\":"; data+=String(suhu, 2); } data+="}"; mengembalikan data; }
Langkah 22: ShowDataOnDisplay
void showDataOnDisplay(){ //Menyetel ulang posisi kursor dan suhu paling bawah tampilan.setCursor(0, 0, 2); display.println("Kelembaban: " + String(kelembaban, 2)); display.println("Suhu: " + String(Suhu, 2)); }
Langkah 23: File
Unduh file
SAYA TIDAK
Direkomendasikan:
Jaringan Sensor LTE CAT-M1 GSM IoT T - 15 Menit.: 5 Langkah
LTE CAT-M1 GSM IoT Sensors Network… T - 15 Menit.: Pada 08 April 2018, R&D Software Solutions srl [itbrainpower.net] mengungkapkan kepada publik pengumuman xyz-mIoT oleh itbrainpower.net shield - papan IoT pertama dan paling ringkas yang menggabungkan keserbagunaan kontrol mikro ARM0
IOT123 - ASIMILASI JARINGAN IOT: 26 Langkah
IOT123 - ASSIMILATE IOT NETWORK: ASSIMILATE IOT NETWORK adalah seperangkat protokol yang memungkinkan integrasi sensor, aktor, node benda, dan broker lokal dengan dunia luar dengan mudah. Instruksi ini adalah instruksi untuk instruksi; itu mengindeks semua proyek yang berbeda dan p
Platform Seluler Dengan Teknologi IoT: 14 Langkah
Platform Seluler Dengan Teknologi IoT: Langkah-langkah berikut menjelaskan cara merakit platform seluler sederhana dan menyertakan beberapa teknologi IoT untuk mengendalikan platform ini dari jarak jauh. Proyek ini merupakan bagian dari proyek Assist - IoT (Domestic Assistant with IoT Technologies) yang dikembangkan untuk
Robot Seluler Roda Omni - IoT: 4 Langkah
Robot Mobil Roda Omni - IoT: Dalam instruksi ini saya akan menyajikan kepada Anda desain robot mobil roda omni yang dikendalikan melalui wi-fi. Perbedaan mendasar dibandingkan dengan kontrol konvensional seperti bluetooth atau kontrol radio adalah bahwa robot terhubung ke jaringan area lokal (LAN) dan c
Jam ESP32 Menggunakan WiFi, ESP-NOW, & Seluler: 4 Langkah
Jam ESP32 Menggunakan WiFi, ESP-NOW, & Seluler: Ini adalah jam wifi berbasis ESP32 yang saya buat untuk kontes nirkabel. Saya memutuskan untuk membuat jam ini terlalu nirkabel sehingga menggunakan tiga bentuk komunikasi nirkabel yang berbeda (WiFi, ESP-NOW, & Seluler). Telepon terhubung ke menara seluler dan