Na rynku dostępnych jest kilkaset różnych modeli wyświetlaczy LED i LCD dla Raspberry Pi, Arduino i innych platform tego typu. Wyświetlacze te różnią się niemal wszystkim: sposobem podłączenia, sposobem przesyłu danych, jakością diod LED lub ekranu LCD, możliwościami odnośnie liczby kolorów, poziomów jasności, poborem mocy, czy wreszcie parametrami fizycznymi jak rozmiary czy jakość montażu.
Celem tego artykułu jest przybliżenie tematu wyświetlaczy z perspektywy Funkcjonariusza Mobilnego, ukazując różnice między nimi i wskazując kilka rekomendowanych modeli.
GPIO czy HDMI
Najważniejszym z kryteriów podziału wyświetlaczy jest sposób podłączenia – przy czym nie chodzi tutaj tylko o rodzaj złącza, ale również o całą filozofię sterowania:
- GPIO – skrót ten oznacza 40-pinowe złącze szpilkowe na płytce Raspberry Pi, umożliwiające komunikację z różnego typu nakładkami. Komunikacją przez to złącze można sterować przez interfejs /sys/class/gpio, jak również z poziomu języka Python. W obu wariantach sterowanie odbywa się z poziomu konkretnego programu, a nie systemu – a zatem wyświetlacz sterowany przez GPIO nie potrzebuje systemu pracującego w trybie graficznym.
- HDMI – wyświetlacze podłączane w ten sposób działają po prostu jak monitor komputerowy, tj. wyświetlają sygnał video generowany przez komputer, w tym przypadku Raspberry Pi. Z użytkowego punktu widzenia jest to absolutnie zasadnicza zmiana: cały system musi pracować w trybie graficznym, z automatycznym logowaniem i automatycznym uruchamianiem wybranych aplikacji. System taki jest znacznie mniej bezpieczny i trudniejszy do poprawnej konfiguracji od systemu pracującego w trybie headless, w którym wyświetlaczem steruje pojedynczy program.
LED czy LCD
Teoretycznie różnice są dość oczywiste, natomiast podczas akcji w terenie mogą wyjść różnice, o których wcześniej nie pomyśleliśmy:
- LED to pojedyncze wielokolorowe diody, najczęściej pakowanie w zestawy od 8 do 64 sztuk. Wyświetlacz taki wymusza większe skondensowanie przekazywanych informacji, dzięki czemu funkcjonariusz w terenie nie musi się zastanawiać nad zawiłymi komunikatami, może za to polegać na komunikatach przekazywanych prostymi kodami kolorów. Dodatkową zaletą wyświetlaczy LED jest możliwość regulacji intensywności świecenia diod, tak aby były widoczne choćby przy dużym nasłonecznieniu.
- LCD to wyświetlacz o dużo większych możliwościach, mogący pokazywać grafikę lub tekst, a więc nadający się do dużo bardziej skomplikowanych zastosowań. Z drugiej strony większość wyświetlaczy LCD dla Raspberry Pi jest monochromatyczna, a więc pozwala na wyświetlanie treści w tylko jednym kolorze – przede wszystkim jednak wyświetlacze te (a co za tym idzie, wyświetlane na nich komunikaty) są bardzo małe, co bardzo utrudnia korzystanie z nich w terenie, np. podczas jazdy samochodem, czy w nasłonecznionym miejscu. Są one polecane raczej do pracy w ramach zamkniętego laboratorium kryminalistycznego, albo do konstruowania urządzeń udających „niewinne” zastosowania, np. odtwarzacz MP3 itp.
Przyciski
Niektóre wyświetlacze są wyposażone w sprzętowe przyciski, pozwalające na sterowanie urządzeniem Raspberry Pi nie tylko poprzez eventy wyzwalane podłączaniem i odłączaniem kabli USB, ale również przyciskami.
W olbrzymiej większości przypadków przyciski te sprzęgnięte są z poszczególnymi pinami interfejsu GPIO, dzięki czemu ich obsługa odbywa się poprzez odczyt odpowiednich danych z interfejsu /sys/class/gpio.
Różne standardy GPIO
Nie istnieje żaden pojedynczy standard interfejsu GPIO. Płytki Raspberry Pi w wersjach od 1 do 3B+ są ze sobą kompatybilne, natomiast już wersja 4B wprowadza drobne zmiany. Jeszcze większe zmiany wprowadzają płytki innych producentów, np. Asus Tinker Board.
Zmiany te mogą dotyczyć:
- układu pinów
- szczegółów dot. zachowania poszczególnych pinów, choćby jeżeli ich całościowy układ jest teoretycznie taki sam
- napięcia (3.3V vs 5V)
W efekcie urządzenie (wyświetlacz lub inne) projektowane dla określonej wersji Raspberry Pi może działać z tą wersją, ale nie działać z nowszymi lub starszymi wersjami, a w szczególności z płytkami innych producentów. Tak jest np. z opisywanym niżej wyświetlaczem NanoHat OLED, przeznaczonym dla płytek NanoPi.
Wyświetlacze testowane z Funkcjonariuszem Mobilnym (do 2020)
- Pimoroni Blinkt! – rekomendowany wybór, kompatybilny ze wszystkimi modelami Raspberry Pi, najbardziej energooszczędny
- Waveshare RGB LED Hat – matryca 8×4 diod LED, pozwala na wyświetlenie znacznie większej ilości informacji, zwłaszcza w przypadku pracy z nośnikami zawierającymi więcej niż jedną partycję – niestety wyświetlacz ten pracuje stabilnie tylko z Raspberry Pi 3B+
- NanoHat OLED – 8-liniowy wyświetlacz tekstowy dedykowany do urządzeń NanoPi, dodatkowo zawierający 3 programowalne przyciski