Raspberry PI 2 z zegarem – zabawka dla każdego
W końcu udało mi się dokończyć projekt związany z wyświetlaniem aktualnego czasu na panelu LCD 4×20 znaków. Po roku jest coś działającego. Rok temu właśnie, utworzyłem jakiś skrypt, który odpaliłem na BananaPi – wtedy 2 rdzeniowym procesorze, teraz natomiast robię to na 4 rdzeniowym RasPi2. Jednak nie tylko do tego chcę tą zabawkę wykorzystać.
Raspberry Pi 2 ma już niezłe możliwości do zastosowań hobbistycznych. Niektórzy tworzą z nich klastry obliczeniowe, małe komputerki, media center, czy inteligentne domy. W wersji z Banana Pi miałem podłączony dysk pod port SATA i używałem go jako dysk sieciowy, w którym przechowywałem pliki i robiłem kopie zapasowe. Pa zakupieniu routera z portem USB funkcjonalność BPi nie była już tak potrzebna. Brakowało mi jednak jakiegoś prostego serwera, który może być podłączony całą dobę do sieci i udostępniać jakieś proste strony czy też nawet sprawdzać stan pogody czy wykonywać synchronizację, albo i ściągać coś w nocy. Router tego nie potrafi, a wielki laptop czy komp nie musi cały czas zżerać prąd – przydało by się też coś użytecznego.
Zegar – coś dla każdego
Domyślnie wyświetlany jest czas (jak pokazane jest to wyżej). Wykorzystuje zestaw znaków użytkownika (wyświetlacze Hitachi mają możliwość definiowania do 8 znaków użytkownika). Potrzebowałem jedynie zdefiniować 6 znaków pozawalających na wyświetlenie dużego i czytelnego czasu. Zrobione jest to za pomocą prostego skryptu Pythona – dostępny na Githubie. Skrypt ten odpalany jest co minutę przez crona i robi to co ma robić. Wyświetla czas, włącza lub wyłącza podświetlnie ekranu (wyłącza w nocy, aby nie świecić). W nocy tylko co 15 minut włącza się podświetlenie na minutę – tak aby na złość pokazać, że zostało mi mniej snu.
Oprócz aktualnego czasu wyświetlany jest też dzień tygodnia i miesiąca (prawy górny róg) oraz aktualna temperatura w pomieszczeniu (prawy dolny). Do dorobienia zostało jeszcze wyświetlanie temperatury na zewnątrz. Oprócz tego mierzone jest ciśnienie atmosferyczne, jednak nie jest wyświetlane. Później wszystkie te dane mogą być zbierane i zapisywane w pamięci USB (dysku już nie podłączam, bo po co ma mi hałasować w nocy).
Aktualny czas w RPi2 to nadal problem
Mankamentem na chwilę obecną jest konieczność synchronizowania aktualnej daty i godziny z internetem, który może paść – np. po braku zasilania. Aby użyć jakiejś bazy danych, czy czegoś co opiera się na czasie potrzebny jest aktualny czas. Na szczęście da to się jednak załatwić modułem RTC (internety mówią, że warto użyć do tego celu modułu z zegarem DS3231). Mam dwie kości z zegarem DS 1307 (przykład tutaj na majsterkowie), które nie działają (smażą się po podłączeniu), okazuje się, że tak działa chińszczyzna – nic, czekam więc na DS3231.
Później
Docelowo – udostępniać ma stronę web, chociażby w ASP.NET vNext, być może doda się też funkcję budzika, który po podłączeniu do taśmy RBG będzie stopniowo rozjaśniał pokój. Najpewniejszą jednak funkcją jest funkcja pudełka – zbierającego kurz i zabierającego miejsce na szafie.
Fajny zegar, gratuluję! Ja eksperymentuję z MSP430 ale nie wyszedłem poza etap sterowania ledami :) Ciekawe, że mimo różnic w procesorze, mocy obliczeniowej i ilości rdzeni, obydwa układy doskonale zbierają kurz!
pozdrawiam!
Darek, Rzeszów