İçindekiler:

Covid19 Stat IoT Ekranı: 5 Adım
Covid19 Stat IoT Ekranı: 5 Adım

Video: Covid19 Stat IoT Ekranı: 5 Adım

Video: Covid19 Stat IoT Ekranı: 5 Adım
Video: Coronavirus scientists: From the lab into the spotlight | COVID-19 Special 2024, Temmuz
Anonim
Image
Image
Gerekli şeyler
Gerekli şeyler

Şu anda dünya koronavirüs pandemisinde ve diğer birçok ülke gibi Hindistan'da da kilitleniyor, bu yüzden ülkenin Corona İstatistiklerinin gerçek zamanlı güncellemesini verecek bir IoT ekranı oluşturma fikri aklıma geldi. Hindistan verilerini sağlayan bir API kullanıyorum, ancak herhangi bir API'yi kodda küçük bir değişiklikle kullanabilirsiniz.

Adım 1: Gerekli Şeyler

Gerekli şeyler
Gerekli şeyler
Gerekli şeyler
Gerekli şeyler

IoT'yi görüntülemek için ihtiyacınız olacak şeyler şunlardır:

  • DüğümMCU (ESP8266)
  • 16x2 LCD modülü (I2C)
  • Breadboard (isteğe bağlı)
  • Bazı Teller/ Jumper'lar
  • USB kablosu

2. Adım: Bağlantılar

Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar

Bağlantılar oldukça kolay. Bağlamak için sadece 4 tel var. esp8266'yı içine yerleştirmek için bir devre tahtası kullanabilir ve ardından LCD modülüne bağlayabilirsiniz veya bağlanmak için doğrudan dişi-dişi jumper kabloları kullanabilirsiniz.

Bağlantılar (ESP-> LCD):

  1. VIN -> VCC (5V için)
  2. GND -> GND
  3. D2 -> SDA
  4. D1 -> SCL

Şimdi sadece esp8266'yı USB kablosuyla PC'ye bağlayın, şimdi sadece kodu yüklememiz gerekiyor.

Adım 3: Kodlama

kodlama
kodlama

Şimdi, bu en önemli kısım. Birçoğunuzun aklında bunun nasıl çalıştığına dair sorular olacak?

Yani, önce wifi'ye bağlanır ve ardından JSON verilerini toplamak için bir API'ye bağlanır, ardından JSON verilerinin kodunu çözer ve bu değerleri bir değişkende saklar, ardından LCD değerleri görüntüler ve bu bir döngüde devam eder.

Kullandığım API, verilerini https://www.covid19india.org/ adresinden alan https://coronago.xyz/api/data.json, sadece Hindistan için veri sağlıyor, Ancak diğer ülkeler için birçok API var., herhangi bir API kullanabilirsiniz, ancak HTTP ile erişilebildiğinden emin olun.

Öncelikle Arduino IDE için ESP8266 kart desteğini yüklemeniz gerekiyor. Bu öğreticiyi takip edin.

Yapılması gereken ikinci şey, gerekli tüm Kütüphaneleri kurmaktır, bunları Arduino Kütüphane Yöneticisinden kolayca kurabilirsiniz.

Ardından kodu açın ve wifi kimlik bilgilerini değiştirin ve kodu yükleyin.

kod burada GitHub depomda -

Adım 4: Kod Açıklaması ve Diğer API'yi Kullanma

Kod Açıklaması ve Diğer API Kullanımı
Kod Açıklaması ve Diğer API Kullanımı

Kod oldukça basit

Boş kurulum bölümünde LCD modülünü başlatır ve bakan mesajı görüntüler ve ardından wifi ağına bağlanır.

Döngü bölümünde, API'den JSON verilerini alır ve bir değişkende reklam deposunu çözer, ardından seri monitörde ve LCD'de görüntüler.

başka bir API kullanmak için kodun bu satırındaki adresi değiştirmeniz gerekir.

http.begin("https://coronago.xyz/api/data.json"); //API

API'nin bir HTTP bağlantısı ile çalışması gereken bir diğer şey, HTTPS bağlantısı bu kodda çalışmayacak ve -1 hatası alacaksınız.

API, bunun gibi JSON verilerini döndürür

Şimdi bu sonraki kod sadece JSON'un kodunu çözer ve değerleri değişkende saklar, bu tamamen döndürdüğü API ve JSON verilerine bağlıdır. Ancak değiştirilmesi kolaydır, daha fazla bilgi için bu eğiticiye göz atabilirsiniz.

StaticJsonBuffer JSONBuffer; //Bellek havuzu JsonObject& ayrıştırıldı = JSONBuffer.parseObject(yük); //Mesajı ayrıştırma onaylandı = ayrıştırıldı["onaylandı"]; kurtarıldı = ayrıştırıldı["kurtarıldı"]; ölümler = ayrıştırıldı["ölümler"]; current_active = ayrıştırıldı["aktif"];

Bundan sonra kod sadece değişkenleri seri monitörde ve LCD'de görüntüler.

Serial.print("onaylandı: "); Serial.println(onaylandı); Serial.print("kurtarıldı: "); Serial.println(kurtarıldı); Serial.print("geçerli_aktif: "); Serial.println(current_active); Serial.print("ölümler:"); Serial.println(ölümler); if(httpCode==200){ //verileri lcd lcd.clear(); lcd.setCursor(0, 0); lcd.print("Onaylandı: "); lcd.print(onaylandı); lcd.setCursor(0, 1); lcd.print("Ölümler: "); lcd.print(ölümler); gecikme (2500); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Aktif: "); lcd.print(current_active); lcd.setCursor(0, 1); lcd.print("Kurtarıldı: "); lcd.print(kurtarıldı); gecikme (2500);

}

Adım 5: Sonuç

Bu, istatistikleri her zaman izlemek için harika bir proje ve bu kilitlenme durumunda size zaman kazandıracak şekilde inşa edebilir misiniz?

Herhangi bir yardıma ihtiyacınız olursa bana yorum yoluyla sorabilir veya Github'ımda bir konu açabilirsiniz.

Kodla ilgili sorunlar için

Teşekkürler.

Önerilen: