Kolejowe tablice paletowe leżą od wielu miesięcy w magazynie i być może niedługo znów zostaną wprawione w ruch – dobrą rozgrzewką przed tym projektem jest zadanie którego podjąłem się kilka dni temu, czyli opracowania mechanizmu sterowania reklamową tablicą LED.

Zasady podobne co ostatnio – projekt zakłada automatyczne wyświetlanie na tablicy wiadomości z mediów społecznościowych i trzeba go wykonać maksymalnie w kilkanaście dni. Problem: Zgodnie z informacjami obsługi, tablicę można oficjalnie obsługiwać tylko z użyciem specjalnego programu, który działa jedynie pod Windowsem ME. Rozpracowanie sterowania taką tablicą brzmi jak doskonała zabawa, a więc zaczynamy!
Na samym początku otrzymałem samą tablicę i archiwum z programem do jej obsługi. Jedyną formą kontaktu z tablicą (oprócz kabla zasilającego) było gniazdo USB. Na liście plików widać pliki sterownika do konwertera USB↔UART CH340 – bardzo popularnego i taniego modułu, wszechobecnego w chińskich klonach Arduino. Pierwsza teoria – tablicą steruje się przez właśnie taki moduł – Windows faktycznie potrzebuje do niego dodatkowego sterownika, więc może co tłumaczyłoby obawy pracownika dotyczące systemu.

Wśród plików jest też instrukcja i od jej lektury zacząłem zabawę z urządzeniem. Instrukcja jest pisana chińskim dialektem angielskiego i nie wiadomo do końca od czego właściwie jest – czy opisuje jak działa sam sterownik do diod, czy jest w ogóle od innej tablicy – moja była jednobarwna, podczas gdy w opisie jest coś o 64 tysiącach kolorów. Jedyne co miało jakikolwiek związek z moim urządzeniem, to opis zapisywania stworzonej w programie XYLED animacji do pliku który to później można za pomocą pamięci USB załadować na urządzenie.

5 minut i 20zł później miałem już dysk i spróbowałem uruchomić program (ambitnie! – z użyciem wine). Okazało się wtedy, że brakuje mi jeszcze jednego elementu układanki – tajemniczej biblioteki BridgeMini.dll. Problem był trudniejszy niż by się wydawało – plik ten był bardzo trudny do znalezienia w morzu serwisów z „brakującymi plikami DLL” (tych kilka prawdziwych nie posiadało w zbiorach tej biblioteki, a dla reszty nie chciałem uruchamiać maszyny wirtualnej). Uratowała mnie podstawowa znajomość języka rosyjskiego – dzięki niej mogłem pobrać właściwy plik ze znalezionego rosyjskiego forum i przeczytać do czego właściwie on służy (kolejny sterownik USB↔UART, niewiadomo dlaczego wymagany do uruchomienia).
Po dodaniu brakującego pliku program w końcu się uruchomił! Powitało mnie archaicznie wyglądające okno z wieloma guzikami i najważniejszym – polem do wpisywania tekstu. Na chwilę wstąpił we mnie duch młodego polskiego kapitalisty będącego o krok od wielkiej chwili – zareklamowania całemu światu swojego przedsiębiorstwa wielobranżowego oferującego absurdalną liczbę usług. Program ma całkiem sporo opcji, ale zanim wszystkie zostaną przetestowane, spróbujmy cokolwiek w ogóle wyświetlić.
Okazało się to jednak mocno nietrywialne – zgodnie z instrukcją, po skomponowaniu swojego programu artystycznego (XYLED pozwala dodać wiele odmiennie skonfigurowanych tekstów, grafiki i aktualną godzinę) za pomocą guzika U-Disk (?) mogę zapisać plik na pamięci USB (program sam je wykrywa i nie pozwala zapisać pliku gdzie indziej). Mam do wyboru dwie opcje których nazwy niewiele mówią i dodatkowo jedna z nich jest chroniona hasłem – brzmi jak typowa przygoda z chińskim oprogramowaniem do wewnętrznego użytku. Po kliknięciu „Save” Plik faktycznie powstaje na dysku, nie czekając długo wkładam go do portu tablicy. I… nic, absolutnie nic się nie dzieje.

Eksploracja okien programu zanosi mnie do (chronionych oczywiście możliwym do znalezienia w internecie hasłem) ustawień, w których można wybrać setki opcji. O ile szerokość i wysokość tablicy jestem w stanie poznać licząc diody, to reszta wygląda na bardzo niskopoziomowe ustawienia sterownika i właściwie na poziomie takiego programu nie powinna w ogóle istnieć. Nie mając żadnego innego pomysłu zdecydowałem po kolei testować elementy z listy i sprawdzać, czy tablica zareaguje na moje próby. No i w końcu, po około dwudziestu podejściach, diody przemówiły.

W mojej głowie już rodziło się pomysł, jak rozwiązać automatyczne sterowanie – stary telefon z Androidem mógłby być zasilany przez USB i jednocześnie symulować dysk USB kiedy trzeba by przeprogramować tablicę. Niestety, nie udało mi się znaleźć działających ustawień, a co więcej – te kombinacje które wcześniej działały, po jakimś czasie nie robiły żadnego wrażenia na tablicy.
Pozostało mi czekać, aż będę mógł porozmawiać z osobą która tym cudem kiedyś sterowała, ale o tym będzie już w następnej części.