İçindekiler:
- 1. Adım: Gösteri
- 2. Adım: Montaj
- Adım 3: Montaj - Tablo
- 4. Adım: Ubidot'lar
- Adım 5: SimpleDHT Kitaplığı
- 6. Adım: PubSubClient Kitaplığı
- Adım 7: TinyGSM Kitaplığı
- Adım 8: TFT_eSPI Kitaplığı
- 9. Adım: TFT_eSPI Kitaplığı
- Adım 10: Ubidot'lar
- Adım 11:.ino'daki Verileri Değiştirme
- Adım 12: GPRS_ESP32_DHT.ino - Bildirimler ve Değişkenler
- Adım 13: Sabitleme
- Adım 14: Kurulum
- Adım 15: Kurulum Ekranı
- Adım 16: KurulumGSM
- Adım 17: ConnectMQTTServer
- Adım 18: Döngü
- Adım 19: ReadDHT
- Adım 20: YayınlaMQTT
- Adım 21: CreateJsonString
- Adım 22: ShowDataOnDisplay
- Adım 23: Dosyalar
Video: ESP32 ile Hücresel Ağ ile IOT: 23 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bugün GPRS modemi veya daha doğrusu ESP32 ve bunun cep telefonu şebekesiyle kullanımı hakkında konuşacağız. Bu çok iyi çalışan bir şey. MQTT protokolünü kullanarak verileri Ubidots panosuna göndereceğiz. Bu tertibatta, SIM800L ve bir cep telefonu çipine ek olarak devrenin geri bildirimi için bir ekran kullanın. Dolayısıyla bu proje ile sıcaklık ve nem verilerini GPRS ve MQTT üzerinden göndereceğiz ve verileri bir çizgi grafiğinde görselleştireceğiz.
1. Adım: Gösteri
2. Adım: Montaj
Adım 3: Montaj - Tablo
4. Adım: Ubidot'lar
Adım 5: SimpleDHT Kitaplığı
Arduino IDE'de Sketch-> Include Library-> Manage Libraries… seçeneğine gidin.
SimpleDHT'yi yükleyin
6. Adım: PubSubClient Kitaplığı
Arduino IDE'de Sketch-> Kitaplığı Dahil Et-> Kitaplıkları Yönet… seçeneğine gidin.
PubSubClient'ı yükleyin
Adım 7: TinyGSM Kitaplığı
Arduino IDE'de Sketch-> Include Library-> Manage Libraries… seçeneğine gidin.
TinyGSM'yi yükleyin
Adım 8: TFT_eSPI Kitaplığı
Arduino IDE'de Sketch-> Include Library-> Manage Libraries… seçeneğine gidin.
TFT_eSPI'yi yükleyin
9. Adım: TFT_eSPI Kitaplığı
lib klasöründeki ekran pinlerini değiştirin.
Sabitleme, User_Setup.h dosyasındadır.
C: / Kullanıcılar / \ Belgeler / Arduino / kitaplıklar / TFT_eSPI
Bu varsayılanları görüntüde aşağıdaki değerlerle değiştirin.
Adım 10: Ubidot'lar
Hesabınızla Ubidots'a giriş yapın ve Cihazlar'a tıklayın
Sağ üst köşedeki "+" düğmesini tıklayın
Boş tıklayın
Cihaz adını girin..ino'da kullanacağımız "konuda" kullanılacağı için "cihaz etiketini" not edin.
Cihaz listesinde, az önce oluşturduğunuz cihaz görünecektir. Üstüne tıkla.
Görünen ekranda "Değişken Ekle" ye tıklayın. Bir açılır pencere görünecektir. "Çiğ" üzerine tıklayın.
Metin kutusuna tıklayın ve özelliğin adını girin.
Tam olarak.ino'nun json'unda göndereceğimiz şey olmalı. Bunu diğer mülk için tekrarlayın.
Ubidots logosuna tıklayarak kontrol paneline geri dönün.
Kontrol panelinde "Yeni Widget Ekle" ye tıklayın
Widget'lar listesinde "Çift eksen"i seçin
Adım 11:.ino'daki Verileri Değiştirme
Adım 12: GPRS_ESP32_DHT.ino - Bildirimler ve Değişkenler
#define TINY_GSM_MODEM_SIM800 //Ubidots'u tanımla #define TINY_GSM_MODEM_SIM800 //Ubidots yok #define TOKEN "BBFF-abcdefghijklmnopqrstuvwxyz0123" //Tópico 'da BBFF-abcdefghijklmnopqrstuvwxyz0123 " (esp32_gprs é o nome do dispositivo no Ubidots) #define TOPIC "/v1.6/devices/esp32_gprs" //id dispositivo que pegamos hiçbir acısız Ubidots #define DEVICE_ID "5c01234567890abc12345678" // #URL MQTT MQTT yapın mqtt://things.ubidots.com" //MQTT'yi kontrol edin #define MQTT_PORT 1883 //DHT22'nin ilk sürümü ve DHT22 #define DHT_PIN 27
Adım 13: Sabitleme
//User_Setup.h ve biblioteca makarna için PinagemTFT_eSPI ekranı = TFT_eSPI(); //Aralık girişleri envios e yenile #define INTERVAL 10000 //Canal serial que vamos usar para comunicarmos com o modem. semper 1 HardwareSerial SerialGSM(1); TinyGsm modemGSM(SerialGSM); TinyGsmClient gsmClient(modemGSM); //Cliente MQTT, passamos a url do server, a porta //e o GSM PubSubClient client(MQTT_SERVER, MQTT_PORT, gsmClient); //Tempo em que o ultimo envio/refresh foi feito uint32_t lastTime = 0; yüzer nem; //Variável onde iremos armazenar o valor da umidade yüzdürme sıcaklığı; //Variavel onde iremos armazenar veya valor da temperatura SimpleDHT22 dht; // Tüm sıcaklığın gerçekliğine aykırı
Adım 14: Kurulum
geçersiz kurulum() { Serial.begin(115200); setupDisplay(); //İnicializa e yapılandırma veya ekran setupGSM(); //Modem GSM connectMQTTServer(); //Conectamos ao mqtt sunucusu //Espera 2 segundos ve limpamos o ekran gecikmesi(2000); display.fillScreen(TFT_BLUE); display.setCursor(0, 0); }
Adım 15: Kurulum Ekranı
geçersiz setupDisplay(){ display.init(); display.setRotation(1); display.fillScreen(TFT_BLUE); //Limpa o ekran bir cor azul display.setTextColor(TFT_WHITE, TFT_BLUE); //Coloca veya textocomo branco com fundo azul display.setTextWrap(true, true);//Ativa sorgulayıcı ekran.setTextSize(1); display.setCursor(0, 0, 2); //Posicção x, y e fonte do texto display.println("Görüntü Kurulumu Tamamlandı"); }
Adım 16: KurulumGSM
void setupGSM(){ display.println("GSM Kurulumu…"); //Modem için bir seri bağlantı oluşturma SerialGSM.begin(9600, SERIAL_8N1, 4, 2, false); gecikme(3000); //Modem için en uygun bilgi Serial.println(modemGSM.getModemInfo()); //Modemin kısaltılması if (!modemGSM.restart()) { display.println("GSM Modem yeniden başlatılamadı"); gecikme (10000); ESP.restart(); dönüş; } //Espera pela rede if (!modemGSM.waitForNetwork()) { display.println("Ağa bağlanılamadı"); gecikme (10000); ESP.restart(); dönüş; } //Gpr'leri yeniden bağlama (APN, usuário, senha) if (!modemGSM.gprsConnect("", "", "")) { display.println("GPRS Bağlantısı Başarısız"); gecikme (10000); ESP.restart(); dönüş; } display.println("GSM Başarılı Kurulum"); }
Adım 17: ConnectMQTTServer
void connectMQTTServer() { display.println("MQTT Sunucusuna Bağlanıyor…"); //Aygıttan bağımsız bir aygıt sorgusu tanımlayın if (client.connect(DEVICE_ID, TOKEN, "")) { //Sea conexão foi bem sucedida display.println("Bağlandı"); } else { //Se ocorreu algum erro display.print("hata = "); display.println(client.state()); gecikme (10000); ESP.restart(); } }
Adım 18: Döngü
void loop() { //DHT(); //Sunucuyu MQTT'den ayırın if(!client.connected()) { //Mandamos conectar connectMQTTServer(); } //Tempo dekorrido desde o boot em milissegundos unsigned long now = millis(); //Aralıklı veya envio if(now - lastTime > INTERVAL) { //Publicamos para o server mqtt yayınlamaMQTT(); //Mostramos os dados görüntü yok showDataOnDisplay(); //Atualizamos o tempo em que foi feito o último envio lastTime = şimdi; } }
Adım 19: ReadDHT
geçersiz readDHT(){ float t, h; //Bunların her biri için geçerli bir değişkendir if (dht.read2(DHT_PIN, &t, &h, NULL) == SimpleDHTErrSuccess) { sıcaklık = t; nem = h; } }
Adım 20: YayınlaMQTT
void yayınlamaMQTT(){ //Cria o json que iremos enviar para o sunucu MQTT String msg = createJsonString(); Serial.print("Mesajı yayınla: "); Seri.println(mesaj); //Publicamos no tópico int durum = client.publish(TOPIC, msg.c_str()); Serial.println("Durum: " + String(status));//Status 1 se sucesso ou 0 se deu erro }
Adım 21: CreateJsonString
Dize createJsonString() { Dize verisi = "{"; if(!isnan(nem) && !isnan(sıcaklık)) { data+="\"nem\":"; data+=String(nem, 2); veri+=", "; data+="\"sıcaklık\":"; data+=String(sıcaklık, 2); } veri+="}"; dönüş verileri; }
Adım 22: ShowDataOnDisplay
void showDataOnDisplay(){ //İmleç ve sıcaklık gösterimini yeniden başlatma durumu display.setCursor(0, 0, 2); display.println("Nem: " + String(nem, 2)); display.println("Sıcaklık: " + String(sıcaklık, 2)); }
Adım 23: Dosyalar
Dosyaları indirin
BEN HAYIR
Önerilen:
ESP8266'yı Kullanan WiFi RGB Hücresel Lamba: 6 Adım
ESP8266'yı Kullanan WiFi RGB Hücresel Lamba: Bu yazıda, WiFi üzerinden kontrol edilebilen güzel bir RGB hücresel lamba oluşturuyoruz. Kontrol sayfası, renkleri hızlı bir şekilde değiştirmenize olanak tanıyan bir renk tekerleğinden oluşur ve ayrıca toplamda birden fazla renk oluşturmak için doğrudan RGB değerlerini belirtebilirsiniz
Arduino Hücresel Kalkan Eğitimi: 9 Adım (Resimlerle)
Arduino Hücresel Kalkan Eğitimi: Arduino Hücresel Kalkan, cep telefonu görüşmeleri yapmanızı ve metin mesajları göndermenizi sağlar. Bu kalkanın beyni, çoğu standart cep telefonunun birçok görevini yerine getirebilen sağlam bir hücresel modül olan SM5100B'dir. Bu ş
Digi XBee3 Hücresel SMS EtkinliğiBot: 7 Adım
Digi XBee3 Cellular SMS ActivityBot: Digi XBee3™ Cellular SMS ActivityBot, dünyanın herhangi bir yerindeki herhangi bir cep telefonundan metin mesajları ile kontrol edilebilen bir eğitim robotudur. Digi'nin Parallax Inc.'deki arkadaşları tarafından yapılan ActivityBot, ilk kez robot yapanlar için tasarlandı
PoochPak: Hücresel Bağlantılı Akıllı Köpek Yeleği: 4 Adım
PoochPak: Hücresel Bağlantılı Akıllı Köpek Yeleği: Otomasyonda, bilgisayarların ve insan zihninin bilişsel güçlerinden yararlanmak için genellikle döngü içindeki insanları tasarlamaya odaklanırız. Ancak köpeklerin, insanların etkili olamadığı belirli görevlere çok uygun olmalarını sağlayan bir takım becerileri vardır
WiFi, ESP-NOW ve Hücresel Kullanan ESP32 Saati: 4 Adım
WiFi, ESP-NOW ve Hücresel Kullanan ESP32 Saati: Bu, kablosuz yarışması için yaptığım ESP32 tabanlı bir wifi saatidir. Bu saati aşırı kablosuz yapmaya karar verdim, böylece üç farklı kablosuz iletişim biçimi (WiFi, ESP-NOW ve Hücresel) kullanır. Telefon bir baz istasyonuna bağlı ve