Poniższy projekt pokaże w prostych krokach jak własnoręcznie możesz stworzyć wyświetlacz statystyk komputera.
Do projektu potrzebujesz:
Jumper links
Aby zaspokoić ciekawość, mój wyświetla:
Pierwszą rzecz do wykonania, to przylutowanie pinów do wyświetlacza, to jedyny przypadek, gdzie lutowanie będzie potrzebne.
Lutowanie jest konieczne aby łatwo przymocować wyświetlacz do płytki stykowej.
Poniższe elementy są powszechnie dostępne za w niewielkich cenach, oprócz naturalnie Raspberry
Montaż proponuje wykonać według poniższego schematu:
Schemat wygląda bardziej skomplikowanie niż jest w istocie.
Projekt wykonany w programie Fritzing można pobrać Tutaj.
Potencjometry trzeba będzie wyregulować, potencjometr 300Ω służy do regulacji podświetlenia, natomiast potencjometr 100kΩ służy do regulacji kontrastu. Należy je wyregulować według swoich preferencji
Zajmiemy się teraz oprogramowaniem potrzebnym aby wyświetlić statystykę
Najpierw należy pobrać bibliotekę do procesora BCM2835, można to zrobić z tej strony.
Bibliotekę ten proponuje ulokować w standardowych katalogach na raspberry:
Nagłówek (rozszerzenie .h) - /usr/local/include/
Bibliotekę statyczną (rozszerzenie .a) - /usr/local/lib/
Następnie należy pobrać i skompilować mój kod źródłowy napisany w C, dostępny tutaj.
Kompulacja wymaga jedynie wykonania polecenia make na raspberry.
Opis zastosowania:
NAZWA
LCD - Wysyła polecenia do wyświetlacza HD44780
SKŁADNIA
LCD [-b] [BARINIT/Ciąg znaków]
OPIS
Aby zainicjalizować wyświetlacz, należy wywołać polecenie bez argumentów
BARINIT
Polecenie programujące wyświetlacz w znaki reprezentujące procenty.
Ciąg znaków
Ciąg znaków do wyświelenia.
-b
Włącza obsługę wyświetlania procentów w postaci znaku w ciągu znaków np.: 50%
W poprzednich krokach skompilowaliśmy program do komunikacji z wyświetlaczem, należy jedynie pobrać status komputera i przekazać go wyświelaczowi
Aby co określony interwał pobierać dane z innego komputera do wyświetlenia, proponuje wykorzystać prosty skrypt bashowy, opierający się na wykorzystaniu narzędzia netcat
#!/bin/bash
LCD_PROG=/usr/bin/LCD
SERVER='10.3.0.5'
PORT='8748'
while :
do
STRING=`nc $SERVER $PORT`
# echo $STRING
if [ $? -ne 0 ]
then
${LCD_PROG} DISCONECTED
else
${LCD_PROG} -b "${STRING}"
fi
sleep 10
done
Poniższy program powinien naturalnie zostać uruchomiony na raspberry
Niestety nie pomogę Tobie przy podawaniu danych, sam musisz zdecydować jakie dane chcesz wyświetlać
W czym mogę Ci pomóc to pokazać jak łatwo można opublikować dane na danym porcie
Użyjemy do tego serwera xidetd
W pliku konfiguracyjnym serwera /etc/inet.conf, na naszym komputerze z którego dane mają zostać pobrane należy umieścić linie
8748/tcp stream tcp nowait exampleuser /home/exampleuser/bin/script.shPrzykładowa ścieżka /home/exampleuser/bin/script.sh powinna wskazywać na skrypt który zwraca zawartość do wyświetlenia.
Uwaga! należy nadłożyć starań, aby nie stworzyć luki w zabezpieczeniach podaną metodą publikacji danych
Teraz czas na najłatwiejszą część, wykończenie.
Ja swój wyświetlacz pomalowałem tylko na czarno, lecz istnieje wiele opcji, można samemu postarać się wytrawić płytkę, stworzyć odpowiednią obudowę, a nawet zaprojektować cały układ nie wymagający korzystania z raspberry, wybór należy do Ciebie
Moje Raspberry i tak cały czas mam podłączone, gdyż dostarcza mi potrzebnych usług, więc opcji tej nie rozważam.