Internetowa stacja pogodowa – Raspberry Pi

Opisywany projekt powstał w oparciu o komputer RaspberryPi (model B 256MB) i wyświetlacz VFD marki Futaba, który leżał u mnie już kilka lat.

vfd

Wyświetlacz posiada 2 linie po 20 znaków. Używa interfejsu UART, pojedyncze zasilanie 5V. Wyświetlacz ma spore możliwości, jednak brak do niego dokumentacji. Jest dostępna dokumentacja do podobnego modelu – działa jednak tylko część instrukcji. W szczególności udało się uzyskać działanie takich komend jak: reset, zmiana jasności, zmiana pozycji kursora, wyłączenie kursora. Nie udało się ustalić jak działa przewijanie (wyświetlacz posiada tę funkcję, niekiedy uruchamia się przypadkowo). Widoczny w projekcie efekt realizowany jest programowo. Nie udaje się też zapisać ostatniej pozycji w drugiej linii. W czasie wpisywania tekstu zatrzymuje się tam kursor i już pozostaje, blokując tę pozycję.

Nie mniej jednak – wyświetlacz jest bardzo czytelny, spory i łatwy w sterowaniu. Oprócz zasilania posiada jeszcze tylko linię RXD. Szybkość transmisji 9600bps. Pobór prądu to około 300mA. Całe urządzenie, wraz z RaspberryPi wyposażonym w kartę WiFi pobiera niecałe 700mA. Zasilane jest przez gotowy moduł przetwornicy 12V->5V – ze źródła zasilania pobiera około 380mA (czyli jak widać trochę się niestety marnuje). Moduł wyświetlacza z podanych 5V wewnętrznie generuje sobie wszystkie potrzebne napięcia (żarzenia, siatek i segmentów). Pomimo, że RaspberryPi używa napięcia 3,3V – wszystko działa bez problemu.

Urządzenie pobiera dane pogodowe dla mojej lokalizacji za pomocą openweathermap.org i prezentuje je wraz z datą i godziną.

Program jest napisany w języku Java (1.8). Korzysta z biblioteki Retrofit do obsługi żądań oraz z Gsona dla parsowania otrzymanego Jsona.

Kolejno wyświetlane są temperatura, wilgotność powietrza, prędkość wiatru oraz opis (dostarczany po polsku przez api) dla godziny 12 dla trzech kolejnych dni.

Aby móc poberać informacje z openweathermap należy się tam zarejestrować i uzyskać klucz. Wersja darmowa oferuje całkiem sporo, miedzy innymi 5 dniowa prognozę. Program pobiera dane zaraz po starcie a następnie w godzinnych odstępach. Jeżeli pobranie się nie powiedzie – w dolnej linii zostanie wyświetlona przyczyna a kolejna próba będzie miała miejsce 2 minuty później.

Komputerek skonfigurowany jest tak, że program startuje samoczynnie po podłączeniu zasilania.

Kod programu (bez klucza, który należy sobie samodzielnie uzupełnić – do pobrania z GitHuba.

https://github.com/limonit/futabaDisplay

 

Ten wpis został opublikowany w kategorii Bez kategorii. Dodaj zakładkę do bezpośredniego odnośnika.