Spisu treści:

Covid19 Stat IoT Wyświetlacz: 5 kroków
Covid19 Stat IoT Wyświetlacz: 5 kroków

Wideo: Covid19 Stat IoT Wyświetlacz: 5 kroków

Wideo: Covid19 Stat IoT Wyświetlacz: 5 kroków
Wideo: E-learning w dobie walki z COVID-19 2024, Lipiec
Anonim
Image
Image
Potrzebne rzeczy
Potrzebne rzeczy

Świat obecnie pogrążony w pandemii koronawirusa i podobnie jak wiele innych krajów, jest również zablokowany w Indiach, więc wpadłem na pomysł stworzenia wyświetlacza IoT, który zapewni aktualizację w czasie rzeczywistym statystyk korony kraju. Używam API, które dostarcza dane z Indii, ale możesz użyć dowolnego API z niewielką zmianą w kodzie.

Krok 1: Rzeczy potrzebne

Potrzebne rzeczy
Potrzebne rzeczy
Potrzebne rzeczy
Potrzebne rzeczy

Oto rzeczy, których będziesz potrzebować, aby wyświetlić IoT:

  • WęzełMCU (ESP8266)
  • Moduł LCD 16x2 (I2C)
  • Deska do krojenia chleba (opcjonalnie)
  • Niektóre przewody/zworki
  • Kabel USB

Krok 2: Połączenia

Znajomości
Znajomości
Znajomości
Znajomości
Znajomości
Znajomości

Połączenia są całkiem proste. Do podłączenia są tylko 4 przewody. Możesz użyć płytki stykowej, aby umieścić w niej esp8266, a następnie podłączyć do modułu LCD lub możesz po prostu użyć bezpośredniego połączenia żeńskiego z żeńskim przewodem połączeniowym.

Połączenia to (ESP->LCD):

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

Teraz wystarczy podłączyć esp8266 kablem USB do PC, teraz wystarczy wgrać kod.

Krok 3: Kodowanie

Kodowanie
Kodowanie

To jest najważniejsza część. Wielu z was będzie miało na myśli pytania, jak to działa?

Tak więc najpierw łączy się z Wi-Fi, a następnie łączy się z interfejsem API, aby zebrać dane JSON, następnie dekoduje dane JSON i przechowuje te wartości w zmiennej, a następnie wyświetlacz LCD wyświetla wartości i to jest kontynuowane w pętli.

API, którego użyłem to https://coronago.xyz/api/data.json, który pobiera swoje dane z https://www.covid19india.org/, dostarcza dane tylko dla Indii, ale jest wiele API dla innych krajów, możesz użyć dowolnego interfejsu API, ale upewnij się, że jest on dostępny przez

Najpierw musisz zainstalować obsługę płyty ESP8266 dla Arduino IDE. Postępuj zgodnie z tym samouczkiem.

Drugą rzeczą do zrobienia jest zainstalowanie wszystkich wymaganych bibliotek, możesz je łatwo zainstalować z Arduino Library Manager.

Następnie otwórz kod i zmień dane uwierzytelniające Wi-Fi i prześlij kod.

kod jest tutaj w moim repozytorium GitHub -

Krok 4: Wyjaśnienie kodu i użycie innego interfejsu API

Objaśnienie kodu i korzystanie z innego interfejsu API
Objaśnienie kodu i korzystanie z innego interfejsu API

Kod jest dość prosty

W części void setup inicjuje moduł LCD i wyświetla komunikat startowy, a następnie łączy się z siecią Wi-Fi.

W części pętli pobiera dane JSON z API i dekoduje je, przechowuje je w zmiennej, a następnie wyświetla je na monitorze szeregowym i na wyświetlaczu LCD.

aby korzystać z innego API, musisz zmienić adres w tej linii kodu

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

Kolejna rzecz, którą API musi działać z połączeniem HTTP, połączenie HTTPS nie będzie działać w tym kodzie i otrzymasz błąd -1.

API zwraca dane JSON w ten sposób

Teraz Ten następny kod po prostu dekoduje JSON i przechowuje wartości w zmiennej, to całkowicie zależy od zwracanych danych API i JSON. Ale łatwo to zmienić, więcej informacji znajdziesz w tym samouczku.

StatycznyJsonBuffer JSONBuffer; //Pula pamięci JsonObject& parsed = JSONBuffer.parseObject(payload); //Przeanalizuj wiadomość potwierdzoną = przeanalizowana["potwierdzona"]; odzyskane = przeanalizowane["odzyskane"]; zgony = parsowane["zgony"]; bieżąca_aktywna = przeanalizowana["aktywna"];

Następnie kod wyświetla tylko zmienne na monitorze szeregowym i na wyświetlaczu LCD.

Serial.print("potwierdzony: "); Serial.println(potwierdzone); Serial.print("odzyskane: "); Serial.println(odzyskany); Serial.print("bieżący_aktywny: "); Serial.println(bieżący_aktywny); Serial.print("zgony: "); Serial.println(zgony); if(httpCode==200){ //wyświetl dane w lcd lcd.clear(); lcd.setCursor(0, 0); lcd.print("Potwierdzono: "); lcd.print(potwierdzone); lcd.setCursor(0, 1); lcd.print("Zgony: "); lcd.print(zgony); opóźnienie(2500); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Aktywny: "); lcd.print(bieżący_aktywny); lcd.setCursor(0, 1); lcd.print("Odzyskane: "); lcd.print(odzyskane); opóźnienie(2500);

}

Krok 5: Wniosek

To świetny projekt do ciągłego monitorowania statystyk i czy możesz go zbudować, aby zabić czas w tej sytuacji blokady.

Jeśli potrzebujesz pomocy, możesz zapytać mnie w komentarzach lub możesz otworzyć problem na moim Github

github.com/Soumojit28/covid19-iot-display dla wszelkich problemów związanych z kodem.

Dziękuję Ci.

Zalecana: