Arietta G25 – nowy miniaturowy komputerek

Dzisiaj dotarła do mnie zamówiona paczka z nowym miniaturowym komputerem SoM (System on Module) o nazwie Arietta G25 z 256MB RAM. Planując rozbudowę mojej sieci wahałem się pomiędzy Arduino Yun a właśnie Arietta G25, która całkiem niedawno pojawiła się w ofercie Nettigo.pl (to nie jest celowa reklama a za wszystko uczciwie zapłaciłem 😛 ).

Wybór padł na Arietta G25 z uwagi na rozmiary oraz możliwości m.in. dostępne kilka portów USB oraz oczywiście wsparcie dla różnych dystrybucji Linuxa. AcmeSystems dostarcza obrazy na bazie Debiana Wheezy.

Sama płytka wygląda niepozornie i ma wymiary 25mm x 51mm. Jest dostarczona bez przylutowanych złącz tylu goldpin w firmowym pudełku.

AriettaG25_Box2 AriettaG25_Box1
AriettaG25_InFoil
AriettaG25_Top AriettaG25_Bottom

Do Arietta G25 można zakupić dedykowany moduł WiFi, co w większości przypadków, jeżeli chcemy dostarczyć interface komunikacyjny z modułem jest wskazane, gdyż Arietta w standardzie nie posiada złącza Fast Ethernet.

AriettaG25_WiFi_Top AriettaG25_WiFI_Bottom
AriettaG25_Antenna

Podstawowa specyfikacja Arietta G25
•    CPU: Atmel AT91SAM9G25 (ARM9 taktowany 400Mhz)
•    RAM: 128 lub 256 MByte DDR2
•    Gniazdo MicroSD dla systemu max. 64GB
•    Porty USB 2.0: 1 hi-speed host/device (współdzielony z microUSB), 1 hi-speed host (współdzielony z modułem WiFi), 1 full-speed
•    UART: 3
•    I2C bus: 2
•    SSC/I2S – Interface do SoC audio
•    SPI bus: 1 z 3 liniami CS (5 do 50 MHz)
•    PWM: 4 linie
•    Wejścia analogowe : 4 kanały, rozdzielczość 10 bit
•    Wymiary: 25x51mm
•    Zasilanie:  3.3 V DC przez złacze lub 5V przez port microUSB/złącze
•    Poziomy portów: TTL 3.3V (nie tolerują  5V)
•    Zakres temperatur w czasie działania: -20 – +70 °C – wersja 128M RAM, 0 – +70 °C – wersja 256M RAM
•    I/O: 20×2 rozkład 2,54mm (100mils)
•    PCB ilość warstw: 8
•    Dioda LED konfigurowana przez użytkownika; domyślnie działa jako wskażnik heartbeat
•    Przycisk monostabilny konfigurowany przez użytkownika
•    Interface DPI (Debug Port Interface) 3,3V TTL
AriettaG25_exposed_signals

Producent płytki dostarcza praktycznie pełną dokumentację do modułu

http://www.acmesystems.it/hardware_reference

Większość wyprowadzeń na złączu J4 posiada kilka funkcji. Domyślna konfiguracja pinów wejść/wyjść określana jest przez plik at91-arietta.dtb który musi znajdować się na pierwszej partycji karty microSD i jest używany w czasie startu systemu. Narzędzie dostępne na stronie

http://www.acmesystems.it/pinout_arietta

Powyższe narzędzie pozwala wygenerować wcześniej wymieniony plik wg własnych potrzeb.

Producent dostarcza także informacje na temat zużycia energii przez płytkę w różnych konfiguracjach:AriettaG25_PowerProfile

Dodatkowy, opcjonalny moduł WiFi dostępny i kompatybilny z Arietta G25 łączy się przy pomocy 6 pinów znajdujących się pomiędzy gniazdem kary microSD a procesorem. Sam moduł komunikuje się za pomocą interface USB i jest zgodny ze standardem IEE802.11 b/g/n. Adapter zbudowany jest na bazie układu RaLink RT5370N, który jest wspierany przez większość dystrybucji Linuxa. Moduł WiFi występuje w 2 wersjach: ze zintegrowaną bądź z zewnętrzną anteną (na płytce jest tylko złącze U.FL), która nie wchodzi w skład zestawu i należy ją zakupić osobno.

Do uruchomienia Arietta G25 będziemy potrzebowali samego modułu, kartę microSD na system, kabla microUSB oraz komputera z dostępem do sieci Internet (w celu pobrania obrazu systemu)
Sama instalacja ogranicza się do pobrania obrazu systemu oraz wgraniu go na kartę poleceniem dd lub np. win32diskimage pod systemem Windows.
Po załadowaniu do gniazda przygotowanej wcześniej karty microSD i podłączeniu poprzez złącze microUSB do komputera płytka rozpocznie ładowanie systemu. Aktywność diody LED na module poinformuje nas o właściwym starcie systemu. Moduł w systemie komputera zostanie rozpoznany jako adapter USB Ethernet co pozwoli na dostęp do Arietta G25 przy pomocy SSH lub Web z poziomu komputera do którego jest podłączona.
I tu napotkałem pierwszy problem. O ile pod Linux wszystko zadziałało bez problemu, pod Windows 7 x64 nie został znaleziony sterownik. Na szczęście w miarę szybko znalazłem paczkę z plikiem .inf niezbędnym do właściwej identyfikacji modułu. Po wejściu w menedżera urządzeń aktualizujemy sterownik wskazując rozpakowany plik .inf, który można pobrać tutaj:

AriettaG25_WindowsDriver.zip (54 pobrania) MD5 Checksum: FE05E273218C83B6255A5709786CE37B
SHA-1 Checksum: D68E1B453193D7EBD0E30F63A2F8283A7ABA591F

Po potwierdzeniu błędu związanego z brakiem podpisanego sterownika urządzenie instaluje się nam poprawnie. Aby nawiązać pierwszą komunikację poprzez wirtualną kartę sieciową należy skonfigurować nowo powstałą kartę sieciową w komputerze adresem ipv4 np: 192.168.10.20/255.255.255.0 Po zatwierdzeniu konfiguracji otwieramy przeglądarkę i po wpisaniu adresu http://192.168.10.10 (domyślny adres Arietta G25), powinna pojawić się plansza startowa Arietta G25 wraz z informacjami i narzędziami pomocnymi w rozpoczęciu pracy z płytką. AriettaG25_WebOczywiście nic nie stoi na przeszkodzie, żeby przy użyciu adresu 192.168.10.10 zalogować się przy pomocy SSH.

AriettaG25_ AriettaG25_Cpuinfo
AriettaG25_Meminfo

W tym momencie mamy już możliwość zainstalowania niezbędnych pakietów i zaprogramowania wymaganych funkcjonalności w dowolnym dostępnym pod platformę ARM języku programowania: C, C++, Python, Perl, Bash i wielu innych.

Dodatkowo obrazy przygotowane przez AcmeSystems co widać na wcześniejszym obrazku zawierają dodatkowe narzędzia, takie jak:
•    CODIAD – Zintegrowane środowisko programistyczne dostępne poprzez przeglądarkę internetową
•    Shell-in-a-box – dostęp do linii komend z poziomu przeglądarki przy użyciu technologii Ajax

Kolejnym etapem jest instalacja modułu WiFi. Akurat u mnie w komplecie znajdowało się gniazdo 6-pinowe, które pozwala na swobodne odłączanie/podłączanie modułu w zależności od potrzeby. Niestety brak podparcia dla modułu powoduje, że cała konstrukcja nie budzi zaufania. Można oczywiście moduł WiFi wlutować bezpośrednio do płyty dzięki czemu uzyskamy niższy profil i będzie stabilniej, ale tracimy tym samym możliwość szybkiego demontażu. Chwilowo jednak pozostanę przy możliwości odłączania modułu.

AriettaG25_WiFi_Connector AriettaG25_WiFi_Mounted

Po zainstalowaniu całości, podłączeniu anteny i wgraniu obrazu systemu z zaimplementowaną obsługą WiFi całość konfiguracji ogranicza się do wyedytowania pliku /etc/network/interfaces, podając oczywiście ustawienia właściwe dla swojej sieci WiFi.

Arietta G25 – małe, niepozorne, ale z potencjałem. Na chwilę obecną widzę kilka zastosowań, ale co i jak z tego wyjdzie okaże się po kolejnych testach. W planach jest podłączenie czujników, próba podłączenia kamerki USB oraz streaming obrazu z podłączonej kamerki przez sieć. Po drodze może jeszcze znajdą się jakieś zastosowania. Dobrze, że zbliżają się święta, będzie trochę wolnego czasu na testowanie.

Wynik polecenia dmesg (bez zainstalowanego modułu WiFi)