Wyświetlacz Flipdot Pixel Bydgoszcz
Co to
Wyświetlacz klapkowy produkcji Pixel Bydgoszcz, 84x16px, tablica boczna autobusu lub pociągu.
Procesor 8051 z zewnętrzną pamięcią EPROM programu oraz RAM. 3 segmenty matrycy, dedykowane drivery klapek.
Sterowany protokołem własnym produkcji Pixel z lat 90-tych po szynie RS485.
Jak to u nas działa
Sterowanie flipdotem
Przy flipdocie wisi Rpi Zero, z DIY hatem RS485 (działałby też CAN/RS485 hat od waveshare).
Na malinie jest raspbian oraz projekt https://github.com/domints/PixelRaspi
Projekt ten wystawia REST API (Flask), które umożliwia sterowanie wyświetlaczem bez zgłębiania tajników protokołu Pixela. Ponadto dostępny jest Swagger (przeglądarka API), opisujący endpointy: http://flipdot.at.hskrk.pl/swagger/
Dzięki temu można wyświetlić prosty tekst, obrazki czy trochę bardziej skomplikowany układ zbliżony do tego używanego w autobusach.
Przy użyciu tego API bezpośrednio, najlepiej wyłączyć flow node-redowe, które cały czas wysyła zmienną treść do wyświetlacza, np. używając panelu dla users.
Panel dla usera
Pod adresem https://nodered.apps.hskrk.pl/flipdot dostępna jest prosta stronka, pozwalająca kontrolować podstawowe aspekty funkcjonowania wyświetlacza, jak np. kontrola częstości zmian zawartości, całkowite zatrzymanie wyświetlania, wyświetlenie własnego tekstu, oraz podgląd aktualnie wyświetlanej zawartości.
Jednorazowe wyświetlenie tekstu
Aby wyświetlić tekst na flipdocie z poziomu panelu usera, możesz w sekcji Chwilowo wprowadzić tekst, który zostanie wyświetlony przez jakiś czas, natychmiastowo po jego wysłaniu.
Pola Linia 1 oraz Linia 2 pozwalają na wprowadzenie tekstu - tekst ten może zostać wyświetlony w dwóch liniach, lub w przypadku użycia tylko pola Linia 1 program spróbuje wyświetlić go w jednej linii.
Pole Jak długo to ilość 2-sekundowych cykli (well, naleciałość designu w noderedzie). Wpisanie wartości np. 2 spowoduje wyświetlenie zawartości przez 4 sekundy. Zalecam używanie wartości nie większej niż 20 (tj. 40 sekund), chyba jest to zablokowane w stronce :)
Kliknięcie Wyświetl spowoduje zatrzymanie wyświetlania normalnej treści, wyświetlenie wpisanego tekstu przez odpowiedni czas, a następnie kontynuację wyświetlania zmiennej treści.
Wygeneruje to zapytanie HTTP podobne do tego:
GET http://nodered.apps.hskrk.pl/flipdot/?line1=HSKRK&line2=rulezzzz&slots=10
Dodanie semi-permanentnego tekstu
Aby dodać tekst wyświetlający się na flipdocie we flow razem z innymi danymi, powtarzający aż do usunięcia, należy skorzystać z sekcji Na dłużej.
Pola działają jak w sekcji Chwilowo opisanej powyżej. Różnica polega na tym, że tekst taki zostanie dodany do listy poniżej formularza i wyświetlony zostanie dopiero gdy flow modułów dojdzie do modułu na "permanentne" teksty. Będzie się on wyświetlał za każdą pętlą wyświetlacza, aż do usunięcia go z listy poniżej, pryz pomocy przycisku Usuń.
Opisuję go jako semi-permanentny, gdyż na ten moment nie wiem co stanie się z pamięcią tekstów na przykład przy restarcie Node-Red. By stworzyć moduł w 100% permanentny należy stworzyć go w samym Node-Red, zgodnie z opisem, który muszę "zainspirować" z forum HSWRO, pkt 2: https://forum.hswro.org/t/wyswietlacz-flipdot-instrukcja/308
Zmiana szybkości wyświetlania zmiennej treści
Panel dla usera zawiera sekcję Jak często ma się zmieniać z przyciskami Wcale, Wolno i Normalnie. Przy normalnym działaniu wyświetlacza jeden slot wyświetlania trwa 2 sekundy - tj. co 2 sekundy może się zmieniać zawartość wyświetlacza (natomiast niektóre moduły, jak zegar mogą wyświetlać tę samą treść przez więcej niż jeden slot).
Kliknięcie w przycisk Wolno powoduje, że zmiana treści następuje co 30 slotów, efektywnie dając zmianę co minutę - na wypadek, gdyby komuś przeszkadzało ciągłe zmienianie się zawartości - bo to słychać.
Kliknięcie w przycisk Normalnie przywraca normalny cykl wyświetlania.
Zatrzymanie wyświetlania zmiennej treści
Kliknięcie w przycisk Wcale w sekcji Jak często ma się zmieniać spowoduje zatrzymanie wysyłania zmiennej treści do wyświetlacza jednocześnie nie blokując wewnętrznego procesowania noderedowegos flow, typu ładowanie rozkładów itd co ułatwia powrót do wyświetlania.
Aby ponownie uruchomić wyświetlanie, należy kliknąć przycisk Wolno lub Normalnie zależnie od preferowanej częstości zmian zawartości.
Flow Node-Red
W Node-Red (https://nodered.apps.hskrk.pl/#flow/010055504f2b95b1) mamy flow do obsługi flipdota, "dzielące czas" na sloty, pozwalające treści się zmieniać i wyświetlać w zależności od potrzeb.
- Last Author
- domints
- Last Edited
- Mon, Jan 20, 2:06 AM