22

Pogromca Raspberry Pi? Sprawdzamy Intel Galileo

Fenomen minikomputera Raspberry Pi przełożył się na prawdziwą lawinę alternatywnych rozwiązań tego typu. Szybko jednak okazało się, że nie wystarczy więcej mocy obliczeniowej, aby zagrozić pozycji Malinki. Tą drogą nie poszedł Intel, który swoją alternatywę o nazwie Galileo oparł na układzie x86. Raspberry Pi jest swoistym fenomenem w dość dynamicznie rozwijającym się segmencie minikomputerów do […]

Fenomen minikomputera Raspberry Pi przełożył się na prawdziwą lawinę alternatywnych rozwiązań tego typu. Szybko jednak okazało się, że nie wystarczy więcej mocy obliczeniowej, aby zagrozić pozycji Malinki. Tą drogą nie poszedł Intel, który swoją alternatywę o nazwie Galileo oparł na układzie x86.

Raspberry Pi jest swoistym fenomenem w dość dynamicznie rozwijającym się segmencie minikomputerów do zastosowań edukacyjnych, amatorskiej robotyki i nie tylko. Nic dziwnego, że koncern taki, jak Intel chciałby powtórzyć ten sukces. Ma mu to umożliwić płytka Galileo oparta na układzie X86 Intel Quark. Na pierwszy rzut oka to rozwiązanie z zupełnie innej półki cenowej, za które musimy zapłacić ok 300 zł. W tej cenie spokojnie kupimy dwie malinki. Czy zatem można śmiało powiedzieć, że mamy do czynienia ze sprzętem dwukrotnie lepszym od prekursora?

Intel wie, jak wywrzeć wrażenie na użytkowniku. Galileo została zapakowana w niebieskie, świetnie wyglądające pudełko, które kryje kilka niespodzianek. Pierwszą zobaczyłem, a właściwie usłyszałem, tuż po wyjęciu płytki z opakowania. Tuż pod nią umieszczono niewielki otwór, a w nim czujnik jasności, który po przyjęciu dawki światła odtworzył za pomocą wbudowanego głośnika charakterystyczną intelowską melodyjkę. Magia. Mało tego, w pudełku poza standardowym okablowaniem (zasilacz z wymiennymi końcówkami i kabelek USB), nóżkami i śrubkami znalazłem również pluszowego „pomocnika”. Wszystko to uzupełniono krótką broszurą informacyjną. Nie pozostało zatem nic innego jak przystąpić do zabawy.

Arduino Uno R3 i Intel Quark X86 w jednym stali domu…

Intel Galileo wyposażono w procesor Intel Quark SoC X1000. Jest to 32-bitowy system klasy Pentium z zegarem 400 MHz oraz 16 KB pamięci podręcznej L1. Jest to jednocześnie pierwsze rozwiązanie tego typu oparte na procesorze Intela. Co najważniejsze, producent zadbał o kompatybilność z Arduino Uno R3, a na 8 MB wbudowanej pamięci wewnętrznej zainstalował system Linux z odpowiednimi bibliotekami. Zapowiada się zatem obiecująco.

Płytkę wyposażono w 512 KB pamięci SRAM oraz 256 MB RAM DDR3. Znaczącą przewagą w porównaniu z Raspberry Pi jest zegar czasu rzeczywistego, który możemy zasilać baterią 3V. Nie zabrakło też dwóch przycisków do resetowania urządzenia.

Galileo ma typowo intelowski, niebieski kolor. Płytkę wyposażono w szereg złącz, które znacząco rozszerzają jej możliwości. Na górnej krawędzi znajdziemy port Ethernet 10/100, a także dwa złącza Micro USB – USB hosta i konektor USB (oczywiście standard 2.0).

Lewa krawędź to gniazdo zasilania. I tutaj pojawia się istotna informacja. Płytkę należy podłączać zawsze w określony sposób – najpierw zasilacz, a dopiero potem Micro USB. W przeciwnym wypadku grozi jej uszkodzenie. To trochę kuriozalne, bo zabezpieczenie całego układu przed negatywnymi skutkami pomylenia kolejności nie jest jakimś dużym wyzwaniem. Wystarczyło zablokować USB do czasu otrzymania zasilania z gniazdka. Całość wymaga zasilania 5V 400 mA i tylko taki zasilacz możemy do niej podłączyć.










Na tym liczba złącz się nie kończy. Galileo dysponuje slotem na karty MicroSD, a także gniazdem Mini-PCIe, co jest ogromnym atutem płytki. Dzięki temu możemy do niej w prosty sposób podłączyć moduł Bluetooth, dysk SSD czy nawet kartę WiFi (będzie śmigać w oparciu o biblioteki Arduino). Ponadto producent zastosował tutaj 14 cyfrowych i 6 analogowych pinów GPIO. Do tego należy jeszcze dodać interfejsy: ICSP, UART, SPI, I2C, a także złącza JTAG i RS-232. Dużo tego, choć zabrakło jakiegoś wyjścia audio/wideo z wtyczką typu Jack 3,5 mm oraz portu HDMI. To jednak dość zrozumiałe, zważywszy na fakt, że Galileo nie dysponuje procesorem graficznym ani kartą dźwiękową.

Całość możemy postawić na blacie, przykręcając cztery plastikowe nóżki, które znajdują się w zestawie. W odróżnieniu od Raspberry Pi, Galileo (przynajmniej na razie) nie dysponuje żadnymi dodatkami w postaci obudów.

Działanie i możliwości

Zanim w ogóle zaczniemy cokolwiek tworzyć z udziałem Intel Galileo, musimy zainstalować sterowniki do płytki. I tutaj zaczynają się pierwsze schody. Jestem świadomy, że opisywany sprzęt nie jest adresowany dla laików. Użytkownicy Linuksa zapewne zainstalują kilka dodatkowych pakietów i bez większego problemu rozpoczną zabawę. Posiadacze Windowsa (tak wśród użytkowników Galileo, są tacy) muszą jednak się gimnastykować z plikami systemowymi i menedżerem urządzeń. Czy tak trudno było stworzyć prosty instalator? Niby drobiazg, ale skutecznie psuje dobre wrażenie.

Galileo będziemy programować za pomocą Arduino IDE. Nie jest to oczywiście jedyne narzędzie. Spokojnie możemy użyć też m.in. Atmel Studio (wystarczy doinstalować plugin) czy Eclipse. Ogólnie rzecz biorąc, to co działało z Arduino R3, powinno też śmigać z intelowską płytką. I to jest jej największy atut.

Na pokładzie Galileo znajdziemy dość egzotyczną dystrybucję Linuksa o nazwie clanton. Z jego poziomu możemy programować w różnych językach. Aktualnie najlepszym wyborem, jeśli chodzi o Galileo jest jednak Python. Powód jest bardzo prosty – jako jedyny dysponuje bibliotekami, które pozwolą m.in. sterować pinami GPIO i wycisnąć maksimum z naszej płytki. Mowa tutaj o przygotowanej przez społeczność paczce pyGalileo.

Szkoda, że Intel pokpił sprawę i nie zadbał o analogicznie biblioteki dla C oraz C++. Znacząco zwiększyłoby to możliwości Galileo. Oczywiście nie wszystko stracone – pozostaje czekać, aż „niebieskich” wyręczy społeczność. Przykład Raspberry Pi pokazuje, że to wykonalne i jak najbardziej efektywne. Ubolewam też nad tym, że urządzenie nie pracuje pod kontrolą Debiana. Ogólnie rzecz biorąc, mówimy tutaj o sprzęcie do zastosowań edukacyjnych, a więc oparcie go o tej najpopularniejszej dystrybucji znacząco ułatwiłoby pierwszy kontakt z Galileo – bez konieczności żmudnego kompilowania pakietów, sterowników itd. Znów nawiążę tutaj do „Malinki”, która pod kontrolą Raspbiana może służyć jako pełnoprawny minikomputer, a po wrzuceniu XBMC przekształcić nasz telewizor w Smart TV. W Galileo takich typowo „gadżeciarskich” rozwiązań brakuje. Oczywiście są próby postawienia tutaj Debiana, ale to na razie mglista przyszłość.

intel galileo schemat

Aby wycisnąć z Galileo więcej musimy skorzystać z obrazów, które przygotował Intel. Wystarczy umieścić je na karcie Micro SD, a następnie wpiąć ją do slotu na płytce. W ten sposób możemy uruchomić m.in. takie narzędzia, jak LSA, V4L2, Python, SSH, node.js czy nawet openCV.

Społeczność i potencjał

Intel doskonale zdaje sobie sprawę, ze miarą sukcesu w tym segmencie jest odpowiednia aktywizacja społeczności. Aż 50 tys. egzemplarzy Galileo trafiło do tysiąca uczelni na całym świecie. Wśród nich znajduje się 18 polskich placówek. Są to m.in. Uniwersytet Warszawski, Uniwersytet Jagielloński, Politechnika Gdańska, Akademia Górniczo-Hutnicza w Krakowie, Wojskowa Akademia Techniczna, Warszawska Wyższa Szkoła Informatyki czy Polsko-Japońska Wyższa Szkoła Technik Komputerowych. Łącznie nad Wisłę w celach edukacyjnych trafiło 355 płytek. Na co to wszystko? Powód jest bardzo prosty. Setki prac magisterskich czy inżynierskich, w których urządzenia zostaną wykorzystane. W większości przypadków tego typu projekty trafiają potem do sieci i stanowią ogromną wartość.

Mapa Intel Galileo

Potęgą Galileo jest jednak zgodność z całym ekosystemem shieldów Arduino. Wbudowane w płytkę biblioteki oprogramowania stwarzają niemałe możliwości i powinny usatysfakcjonować liczne grono pasjonatów. Prowadzona przez Intela strona społeczności każdego dnia jest torpedowana nowymi wpisami. Widać zatem, że na tej płaszczyźnie dużo się dzieje, a to najważniejsze. Z aktywną społecznością Galileo być może doczeka się wielu dodatkowych bibliotek, a także projektów i tutoriali. Powiedzmy jednak sobie szczerze – powtórzenie fenomenu Raspberry Pi nie będzie proste.

Warto?

Mam bardzo mieszane uczucia w związku z Intel Galileo. Z jednej strony jest to arcyciekawa płytka o dużych możliwościach, ogromnym zapleczu zapewnianym przez renomowany koncern z branży IT, oferująca wszystko to co Arduino Uno, a nawet więcej. Niewątpliwym atutem jest złącze Mini-PCIe, wbudowana dystrybucja Linuksa, a także aktywne wsparcie ze strony producenta.

Jest jednak też druga strona medalu. Galileo póki co nie dysponuje bibliotekami do sterowania GPIO dla języków innych niż Python. Brakuje też możliwości uruchomienia alternatywnych, bardziej popularnych dystrybucji Linuksa, jak chociażby Debian. Do wad muszę zaliczyć też wysoką, jak na tę kategorię sprzętu cenę. Za 300 złotych kupimy dwie „Malinki”, albo zestaw Raspberry Pi z płytką Arduino. W zasadzie nie rozumiem, po co Intel bawił się w efekciarskie pudełka i maskotki w zestawie. Może gdyby nie to, udałoby się zmniejszyć cenę o jakieś symboliczne 30-50 złotych. Ewentualnie zawsze można by wprowadzić na rynek wersje OEM.

Opisywane rozwiązanie niewątpliwie ma potencjał. Optymizmem napawają działania Intela mające na celu popularyzację Galileo. Jestem przekonany, że dzięki wsparciu uczelni dziesiątkami tysięcy płytek, niebawem zobaczymy prawdziwą lawinę projektów opartych na tym mikrokomputerze. Ciągle jednak nie jestem przekonany, czy to wystarczająco, by zagrozić pozycji chociażby Raspberry Pi. Malinka jest urządzeniem zdecydowanie bardziej multimedialnym (wyjście audio 3,5 mm, mocny układ graficzny, port HDMI) oraz, co najważniejsze, tańszym.