Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Jest to prosty ekran informacyjny dla prognozy pogody za pośrednictwem darksky.net oraz ekrany na żywo przystanków autobusowych dla autobusów w Kilonii za pośrednictwem „KVG Echtzeitabfahrten”.
Ekran informacyjny oparty jest na NodeMCU (ESP8266) i wyświetlaczu LCD ILI9341.
Krok 1: Wymagane części i narzędzia
Części:
- Płyta NodeMCU, zawiera moduł Wifi ESP8266 (AliExpress, Ebay, Amazon)
- 2,8" dotykowy LCD 320x240px (AliExpress, Ebay, Amazon)
- Dowolny tani power bank, najlepiej z wyłącznikiem zasilania (AliExpress, Ebay, …)
- Kilka cm drutu
- Trochę materiału do sprawy, m.in. drewno
Narzędzia:
- Lutownica i lutownica
- Jeśli dostępna maszyna CNC do przypadku
Krok 2: Połączenie
Połączenie między NodeMCU a wyświetlaczem pokazano powyżej. Potrzebujesz tylko kilku krótkich linijek do połączenia:
Wyświetl węzełMCU
- VCC 3,3 V
- GND GND
- CS D8
- RESET 3.3V
- DC D3
- SDI D7
- SCK D5
- LED 3,3V
- SDO D6
- T_CLK D5
- T_CS D2
- T_DIN D7
- T_DO D6
- T_IRQ D1
Krok 3: Przygotowanie Arduino IDE
Do programowania użyłem Arduino IDE (v1.8.2).
Zainstaluj obsługę ESP8266 Arduino Po pobraniu IDE musisz poinformować oprogramowanie, aby obsługiwało moduły ESP8266:
- Przejdź do Plik> Preferencje.
- Wstaw następujący wiersz w polu „Additional Board Manager URLs”:
- Przejdź do Narzędzia > Tablica > Menedżer tablic…
- Wyszukaj ESP8266 i zainstaluj „esp8266by ESP8266 Community”.
- Przejdź do Narzędzia > Płyta i wybierz swoją płytę ESP8266. Jeśli kupiłeś jedną z płyt, o których wspomniałem powyżej, powinieneś wybrać NodeMCU 1.0 (moduł ESP-12E).
- Po instalacji sterownika wybierz odpowiedni port dla NodeMCU w Narzędzia > Port.
Zainstaluj sterowniki CH340Jeśli ich nie ma, powinieneś teraz zainstalować sterowniki CH340 dla swojego systemu operacyjnego. Sterowniki można znaleźć za pośrednictwem google lub m.in. tutaj.
Zainstaluj potrzebne biblioteki Arduino Przejdź do Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami… i zainstaluj następujące biblioteki:
- ArduinoJson autorstwa Benoit Blanchen
- Json Streaming Parser autorstwa Daniela Eichhorna
Musimy również zainstalować dodatkowe biblioteki, których nie można znaleźć w menedżerze bibliotek. Istnieją dwa sposoby instalacji. Najłatwiej jest skopiować biblioteki zawarte w moim projekcie GitHub do folderu „biblioteka” Arduino i zrestartować Arduino IDE. Drugim jest pobranie potrzebnych bibliotek z GitHub i zainstalowanie ich:
- TFT_eSPI autorstwa Bodmer
- XPT2046 przez Spapadim
- Czas według PaulStoffregen
Pobierz projekt z GitHub
github.com/basti8909/Pogoda-KVG-ekran informacyjny
Krok 4: Dostosowanie kodu źródłowego
Jeśli zainstalowałeś biblioteki ręcznie, musisz najpierw edytować plik "User_Setup.h" biblioteki TFT_eSPI. W przeciwnym razie możesz pominąć kolejne dwie linie.
- Linia 17: aktywuj ILI9341_DRIVER
- Linia 83-86: zdefiniuj szpilki do wyświetlania, jak pokazano w części Połączenie
Teraz otwórz plik ESP_InfoDisplay.ino za pomocą Arduino IDE i dostosuj swoje oprogramowanie:
Wi-Fi
W linii 108 ustaw identyfikator SSID i hasło
Przystanek autobusowy
Potrzebujesz numeru przystanku KVG dla preferowanego przystanku. Można to zrobić otwierając następującą stronę internetową, na której po „zapytanie=” umieszczasz część nazwy przystanku autobusowego, np. "zapytanie=Dreiecks"
kvg-kiel.de/internetservice/services/lookup…
Teraz powinieneś zobaczyć listę z nazwą Twojego przystanku autobusowego. Otwórz kod źródłowy witryny i zobaczysz coś w rodzaju „li stop="23">Dreiecksplatz, gdzie 23 to numer Twojego przystanku autobusowego. Możesz teraz umieścić ten numer w wierszu 172/175/178 głównego pliku lub zajrzeć do pliku KVGliveAPI.h i dodać numer przystanku do listy literalnej (np. "static const int Dreiecksplatz = 23;") i użyć tego nazwa (KVGliveAPI::KVGstop::Dreiecksplatz) w wierszu 172/175/178 głównego pliku.
Jeśli chcesz mieć więcej/mniej przystanków, musisz tylko edytować instrukcję switch zaczynając od linii 170 i zmienić maksymalny numer trybu w linii 138.
Dostęp i lokalizacja API pogody
Aby uzyskać dostęp do API darksky.net, potrzebujesz tajnego klucza, który jest w 100% darmowy. Musisz tylko zarejestrować się na darksky.net dla programistów. Po zalogowaniu zobaczysz pole z tytułem "Twój tajny klucz". Ten 32-znakowy klucz szesnastkowy należy skopiować do wiersza 61 pliku DarkSkyAPI.h między ukośnikami.
Jeśli chcesz zmienić lokalizację pogody, wystarczy edytować wiersz 16 pliku DarkSkyAPI.cpp i wiersz 25 nazwy lokalizacji.
Teraz możesz skompilować i wgrać program na ESP8266 (a powinno działać!:))
Krok 5: Budowanie sprawy
Już później…