10 rzeczy, które należy wiedzieć przed rozpoczęciem pracy z BeagleBone

7. BeagleBone Black wymaga konkretnej karty Wi-Fi

Przystępując do pracy należy się upewnić, że mamy dostęp do sprawdzonej karty, która działa z BeagleBone – na przykład 814 Wi-Fi USB Dongle firmy Adafruit (rys. 3).

Rys. 3. Płytka BeagleBone Black jest wymagająca jeśli chodzi o kartę Wi-Fi. Problemy z łącznością można rozwiązać, wybierając sprawdzony model, takich jak Adafruit 814. (Źródło: Adafruit)

Innym sposobem zapewnienia łączności Wi-Fi może być użycie modeli BeagleBone Black Wireless (rys. 4.) lub BeagleBone Green Wireless (rys. 5). Te wersje płytek mają wbudowany moduł Wi-Fi, dzięki czemu nie ma potrzeby stosowania dodatkowej karty.

 

Rys. 4. Innym sposobem zapewnienia łączności Wi-Fi jest wybór modelu BeagleBone Black Wireless (źródło: GHI Electronics)

Należy jednak pamiętać, że aby zrobić miejsce dla Wi-Fi, niektóre funkcje zostały usunięte względem wersji tych płytek bez łączności bezprzewodowej. Dla przykładu, BeagleBone Green Wireless zyskała łączność Wi-Fi i Bluetooth kosztem wbudowanego Ethernetu.

 

Rys. 5. W płytce BeagleBone Green Wireless wbudowany Ethernet został poświęcony, aby zrobić miejsce dla Wi-Fi. (Źródło: Seeed Technology)

8. Przygotuj listę komend Linuksa (Debiana)

Aby skutecznie nawigować w systemie Linux (Debian), potrzebna jest znajomość obsługi linii komend. Rozpocznij sesję SSH z BeagleBone i otwórz nową zakładkę w środowisku Cloud9. Listę dostępnych poleceń można uzyskać przy pomocy komendy „help”. Szczegółowe informacje zwraca  komenda „man” z argumentem będącym nazwą interesującego nas polecenia.

9. Linux nie jest systemem czasu rzeczywistego

Większość użytkowników BeagleBone będzie korzystać z Debiana. Debian, inne dystrybucje Linuksa i większość systemów operacyjnych dzieli czas pracy między dowolne procesy uruchomione na tym systemie. Czas procesora musi być podzielony między jądro, interfejs użytkownika, inne dodatkowe procesy i dowolny uruchomiony w danej chwili kod programu. System operacyjny będzie zajmował większość dostępnego czasu. Dopiero w dalszej kolejności pozostałe zasoby są przeznaczane na wykonanie kodu. Wobec tego procesor nie zapewni wysokiej precyzji czasu wykonania zadań. Przykładowo BeagleBone nie jest w stanie zapewnić dokładności czasowej potrzebnej np. do komunikacji z kontrolerem popularnych taśm LED WS2812. Zadania wymagające czasu rzeczywistego powinny być przekazane do PRU.

10. Mając działający system, można go przyspieszyć dzięki płytkom rozszerzeń Capes

„Capes” to nazwa płytek rozszerzeń, które pozwalają zwiększyć możliwości BeagleBone i szybko dodać nowe moduły sprzętowe. Dostępne są rozszerzenia do realizacji wielu typowych zadań.

Przykładowo, w żadnej z płytek BeagleBone nie ma wbudowanej implementacji protokołu CAN. Zamiast  pisać dodatkowy kod, aby obsłużyć komunikację CAN bit po bicie, wystarczy kupić odpowiedni moduł Cape, który obsłuży całość komunikacji na magistrali CAN.

Dostępne są rozszerzenia z wyświetlaczami, czujnikami, sterownikami silników i płytki prototypowe – płytki perforowane, które można podłączyć do gniazda GPIO BB. Firma Texas Instruments dostarcza także płytki PRU, które ułatwiają dostęp do układów peryferyjnych PTU.

Rys. 6. Płytka PRU zapewnia dostęp do układów peryferyjnych PRU. (Źródło: Texas Instruments)

Podsumowanie

Zintegrowane komputery BeagleBone są platformami obliczeniowymi, które maja duże możliwości  i pozwalają szybko zrealizować interesujące projekty. Mając na uwadze powyższe rady, przy odrobinie nauki można znacznie łatwiej z nimi pracować.

O autorze