Płytka Arduino 101 ma takie same wymiary, jak płytka Arduino Uno. Pierwszy rzut oka wydaje się potwierdzać "skromne" wyposażenie wersji bazowej. Na płytce zamontowano gniazda USB-A. Szkoda, że nie są to gniazdo micro USB, ponieważ pozostawiono znany z wcześniejszych wersji problem z dopasowaniem wysokości płytek rozszerzeń. Oprócz tego są gniazdo zasilania DC, złącza rozszerzeń + ISP, dwa przyciski Reset i cztery diody LED sygnalizujące załączenie zasilania, aktywność portu szeregowego oraz standardowa dioda świecąca "L" na wyprowadzeniu P13.
Co więc usprawiedliwia połowę wyższą od Arduino Uno cenę płytki (wg cen z oficjalnego sklepu Arduino)? Pierwszym widocznym powodem jest wbudowany interfejs BLE (Bluetooth Low Energy) z anteną zintegrowaną na płytce, co sugeruje zastosowania przenośne oraz w IoT. Dalsze uzasadnienie różnicy wymaga zaglądnięcia do specyfikacji płytki, którą umieszczono w ramce.
Do dyspozycji użytkownika oddano wydajną platformę sprzętową z podstawowym wyposażeniem przydatnym przy tworzeniu aplikacji IoT lub Wearable, w tym szczególnie dzisiaj modnych urządzeń sprawdzających nasze parametry podczas wysiłku fizycznego. W dalszym ciągu programowanie odbywa się za pomocą środowiska Arduino IDE - platforma Arduino 101 jest wspierana od wersji 1.6.7 środowiska.
Ważniejsze parametry Arduino 101:
|
Układ SoC Curie ma wbudowany system operacyjny czasu rzeczywistego, który - co ciekawe - w marcu 2016 ma być udostępniony na zasadach licencji otwartej. Ciągły rozwój oprogramowania ma zapewnić poszerzanie funkcjonalności RTOS poza obsługę wbudowanych interfejsów USB, IMU, BLE.
Takie przynajmniej są zapewnienia producenta. Przed rozpoczęciem pracy jest wymagana aktualizacja bibliotek Arduino i dodanie płytki Arduino101 do listy obsługiwanych modułów, jak pokazano na rysunku 1. Razem ze środowiskiem otrzymujemy biblioteki z przykładami umożliwiającymi sprawdzenie wbudowanych peryferiów: CurieImu (moduł inercyjny obsługujący żyroskop i akcelerometr), CurieBle (obsługa modułu Bluetooth), CurieSoftwareSerial (programowy emulator interfejsu UART) oraz CurieTime (obsługa zegara czasu rzeczywistego).
Każdy z przykładów działa bez zarzutów umożliwiając szybkie sprawdzenie i dostosowanie do własnych potrzeb. Proces ładowania przebiega względnie szybko, wymagane jest tylko kilka sekund przerwy po załadowaniu szkicu na ponowną inicjację interfejsu USB (podobnie jak w Leonardo).
Po kilku dniach testowania płytki i sprawdzania jej cech użytkowych płytka pozostawia pozytywne wrażenie. Pojawia się jednak pytanie, skoro jest to płytka IoT/Wearables to dlaczego nie została zaprojektowana w formacie micro/nano? Trudno wyobrazić sobie wygodne bieganie z takim "klockiem".
Wiem, Walkman, był większy, ale jest XXI wiek i skoro zgodnie z obecnymi trendami powstaje wiele urządzeń opartych o gotowe zestawy startowe, to fajnie by było mieć coś bardziej przenośnego, bo raczej projektowanie kilku sztuk urządzenia z SoC Curie jest nieopłacalne, pomijając kwestę jego jednostkowej dostępności. A poza tym - jak zasilać płytkę?
Przydałaby się wbudowana ładowarka akumulatora Li-Po, nawet bez dostarczonego w komplecie akumulatora, umożliwiająca naładowanie go podczas programowania i prowadzenie testów w "terenie". W końcu mamy na zamontowany moduł BLE, a zasilanie pozostaje przewodowe... Oczywiście, można (a nawet należy!) wyposażyć się w UPS lub Powerbank, ale to kolejny "klocek" do noszenia.
Może w następnej wersji coś zostanie poprawione. W dalszym ciągu jednak płytka, oprócz walorów dydaktycznych, pozostaje ciekawą alternatywą lub ścieżką rozwoju w akceptowalnej cenie dla np.: konstruktorów amatorskich robotów, gdzie bez zmian sprzętowych dostajemy gotową platformę z niezbędnymi czujnikami oraz interfejsem komunikacyjnym zgodną z Arduino.
Adam Tatuś, EP