Specyfikacja i pierwsze wrażenia
Luckfox Pico 86 Panel to zestaw rozwojowy zaprojektowany z myślą o zastosowaniach smart home i automatyki przemysłowej. Do wyboru są cztery modele: dwa posiadają 128 MB pamięci RAM, a dwa – 256 MB. Dwa modele mają wbudowany moduł Wi-Fi/Bluetooth, a dwa nie. Wszystkie modele mają wbudowaną parę przekaźników 230 V/7 A NO, port RS485 i LAN oraz przyłącze zasilania 6…30 V. Moduł można zamontować w puszce elektrycznej kwadratowej standardu 86 (86×86 mm) o minimalnej głębokości 33 mm. Moduł ma też wbudowany zegar czasu rzeczywistego z możliwością jego podtrzymania baterią. Sercem tego panelu jest moduł Luckfox Core1106 z układem SoC Rockchip RV1106 G2 lub G3. Modele 0208 i 1208 zawierają wariant G2, 128 MB pamięci RAM i oferują wydajność w zastosowaniach AI na poziomie 0,5 TOPS. Modele 0408 oraz 1408 używają układu RV1106 G3, mają 256 MB pamięci RAM i oferują większą wydajność AI – 1 TOPS. Modele zaczynające się od cyfry 1 zawierają moduł Wi-Fi/Bluetooth 5.2. Wszystkie modele są taktowane zegarem 1,2 GHz. Wnętrze modułu ukazuje fotografia 1.
Z zewnątrz moduł sprawia całkiem pozytywne wrażenie. Na froncie znajduje się kwadratowy ekran dotykowy IPS o wymiarach 84×84 mm i rozdzielczości 720×720 px, z prawej strony znajduje się port USB-C, z lewej zaś kratka głośnika i mikrofonu. Ten panel można odpiąć od tylnej części z terminalami i gniazdem LAN (fotografia 2). Panel łączy się z tylną częścią zestawu dzięki prostemu złączu płytka-płytka. Całość wygląda estetycznie, a ekran oferuje szerokie kąty widzenia i przyzwoitą czytelność wewnątrz pomieszczeń. Domyślnie zainstalowana aplikacja demonstracyjna pozwala na połączenie się z siecią Wi-Fi, pokazuje stan połączenia z siecią Wi-Fi i LAN (wraz z przypisanymi adresami IP), podaje datę i godzinę, a także na drugim ekranie oferuje prosty odtwarzacz muzyki z dwiema piosenkami testowymi oraz przyciski do przełączania wbudowanych przekaźników. Aplikacja jednak wyświetla niewłaściwą godzinę, prawdopodobnie ze względu na zapisanie danych strefy czasowej w kodzie źródłowym tej aplikacji.
W celu skonfigurowania Wi-Fi jednakże nie użyto aplikacji, lecz podłączono moduł do routera sieci lokalnej przez gniazdo LAN. Używając SSH, nawiązano połączenie z systemem operacyjnym Buildroot pracującym na module, a następnie ręcznie wprowadzono nazwę sieci Wi-Fi i hasło do pliku konfiguracyjnego. Buildroot to okrojona, minimalistyczna wersja systemu Linux przeznaczona do zastosowań wbudowanych. Ze względu na ograniczenia sprzętowe aplikacje dla Luckfox Pico 86 Panel (i dla całej rodziny modułów Luckfox opartych na układzie RV1106) tworzone są w języku C/C++. Producent zdawał sobie doskonale sprawę z faktu, iż popularny w wielu podobnych platformach Python, nawet w wariancie okrojonym, nie oferuje odpowiedniej wydajności. Za realizację graficznego interfejsu użytkownika odpowiada biblioteka LVGL (Light and Versatile Graphics Library). Biblioteka ta jest lekka i zoptymalizowana do współpracy z ekranami dotykowymi. Alternatywą jest równie lekka biblioteka MiniGUI. Warto zaznaczyć, iż aplikacja demonstracyjna wygląda i prezentuje się dobrze, mimo swojej prostoty. Szkoda jedynie, iż nie ma większej liczby gotowych aplikacji do zademonstrowania możliwości modułu.
Praca z Luckfox Pico 86 Panel
Narzędzia SDK są dostępne dla Ubuntu LTS w wersji 22.04. W systemie Windows SDK można wykorzystać z pomocą narzędzia WSL (Windows Subsystem for Linux) oraz trzech rozszerzeń do IDE VS Code. Wymaga to zmiany ustawień na poziomie BIOS-u (uruchomienia funkcji SVM/wirtualizacji dla procesora – funkcja ta czasem jest dość głęboko ukryta), a także instalacji składników systemowych związanych z wirtualizacją. Kolejnym krokiem jest dodanie samego podsystemu Windows dla Linuksa i instalacja odpowiedniej wersji Ubuntu. Po uruchomieniu wiersza poleceń jako administrator należy wpisać komendę:
Następnie zrestartować system i ponownie włączyć wiersz poleceń jako administrator. Kolejne polecenie to:
Opcjonalnie można stworzyć dedykowany folder na innej partycji niż systemowa i przenieść tam stworzony właśnie dysk wirtualny poleceniem:
Rozwiązanie to jest użyteczne, gdy nie chcemy zajmować miejsca na partycji systemowej. Ostatnim krokiem po stronie wiersza poleceń jest aktywacja WSL i wyodrębnienie potrzebnych plików:
git clone https://github.com/LuckfoxTech/luckfox-pico.git
Następnym etapem jest konfiguracja środowiska VS Code. Należy zainstalować następujące rozszerzenia:
- WSL;
- C/C++;
- CMake Tools.