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

BeagleBone to seria zintegrowanych komputerów (SBC – single-board computer) z otwartym kodem, których zastosowanie jest zbliżone do setek innych urządzeń SBC. Warto zainteresować się płytkami BeagleBone, ponieważ stanowią one małe i niedrogie, a przy tym wydajne komputery. Jest to też wyśmienita platforma dla studentów, hobbystów i profesjonalistów, która upraszcza proces projektowania.

Jednak osoby, które zamierzają rozpocząć projekt, powinny poznać kilka rad, dzięki którym będzie to łatwiejsze,

Na rynku pojawiło się wiele różnych wersji BeagleBone (BB) od czasu premiery pierwszego modelu w roku 2008. Ten artykuł skupia się na seriach płytek BeagleBone Black i Green.

Niniejszy artykuł nie stanowi kompletnego przewodnika. Zawiera natomiast garść informacji i porad wynikających z doświadczenia, przygotowanych z myślą o nowych użytkownikach. Dzięki temu mogą oni uniknąć niektórych pułapek i problemów, które mogłyby wystąpić podczas rozpoczynania pracy z tym urządzeniami.

1. Rozpoczęcie pracy z BeagleBone

Nie jest potrzebna oddzielna klawiatura, myszka ani monitor. W rzeczywistości niektóre modele BeagleBone nie mają wcale wbudowanego portu HDMI ani Display-port. To jednak nie przeszkadza w uruchomieniu płytki. Wystarczy podłączyć BeagleBone do komputera PC za pomocą kabla USB i zainstalować najnowsze sterowniki BeagleBone. Następnie należy zestawić tunel do BeagleBone przez SSH w oknie przeglądarki. Lepiej nie używać do tego Internet Explorera.

Należy też pamiętać o kupnie karty MicroSD, na przykład AF8GUD3-OEM firmy ATP Electronics (klasa szybkości 10, pojemność 8 GB). Ta dodatkowa pamięć będzie potrzebna do aktualizacji systemu operacyjnego.

2. Osłona

Poza sytuacją, w której BeagleBone zostanie zamontowana bezpośrednio w obudowie, potrzeba będzie osłona. Jeśli nie jest możliwe zdobycie osłony, warto przynajmniej przymocować płytkę do plastikowej powierzchni. Bardzo dobrym wyborem będzie solidny kawałek polietylenu przeznaczony do obróbki. Osłona lub plastikowa płyta ochroni BB przed przesuwaniem i przypadkowymi zwarciami.

Decydując się na kupno osłony, warto wybrać taką, która nie zasłania portu GPIO ani przycisku resetu, na przykład model 1593HAMBONETBU firmy Hammon Manufacturing (rys. 1). Odsłonięcie portu GPIO i resetu pozwala uniknąć rozbierania całości w przypadku konieczności resetu lub przy podłączaniu akcesoriów przez GPIO.

Rys. 1. Obudowa pozwoli ochronić płytkę i zapobiec zwarciom – należy jednak wybrać taką, która odsłania port GPIO i przycisk resetu. Na zdjęciu model 1953HAMBONETBU firmy Hammond Manufacturing

3. Uwaga: Płytki BeagleBone są bardzo wymagające pod względem zasilania

Bardzo częstym problemem podczas pierwszego użycia BB bywa niepoprawne bootowanie płytki po włączeniu zasilania. Zdarza się tak, jeśli zasilacz zbyt wolno zwiększa napięcie lub nie jest w stanie utrzymać stałego napięcia w momencie, gdy zostaje do niego podłączone obciążenie.

W celu wykluczenia tych niedogodności w serii BeagleBone Black (BBB) niektóre komponenty zostały wymienione. Mimo to wciąż zalecany jest dobry zasilacz, nie warto na nim oszczędzać. Tańszy zasilacz może sprawić, że urządzenie nie za każdym razem będzie działać i potencjalnie może on uszkodzić płytkę BB. Dobrym wyborem będzie KTPS12-05025WA-V1-P1 produkcji Volgen America/Kaga Electronics. Zapewnia on napięcie 5 V i wydajność prądową 2,5 A i wyposażony jest w złącze beczkowe. Wejście zasilania BeagleBone jest przeznaczone dla złączy beczkowych o średnicy wewnętrznej i zewnętrznej odpowiednio 2,1 oraz 5,5 mm.

Słaby zasilacz może także negatywnie wpłynąć na opcjonalną kartę Wi-Fi. Niestabilna praca i błędy połączenia są typowymi objawami niewystarczającego zasilania takiej karty. Używając jej, należy dobrać taki zasilacz, jak KTPS12-05025WA-VI-P1, który może dostarczyć prąd przynajmniej 2 A.

W przypadku problemów z bootowaniem, spróbuj przytrzymać przycisk resetu wystarczająco długo, aby zasilacz miał szansę się ustabilizować i dopiero po pewnym czasie puść przycisk. Warto również wyłączać płytkę BB przy użyciu przycisku zasilania, zamiast odłączać kabel zasilacza.

Nie należy też zasilać płytki BB przez złącze GPIO, taka próba może doprowadzić do uszkodzenia procesora ARM.

4. Tajna broń BeagleBone Black: PRU

Tajną bronią BeagleBone są moduły PRU – programowalne jednostki czasu rzeczywistego. Są to mniejsze, pomocnicze mikrokontrolery, którym główny procesor może przekazać zadania do wykonania.

Bez modułów PRU do realizacji szybkiej kontroli wejść I/O lub sterowania w czasie rzeczywistym mogłyby być potrzebne dodatkowe komponenty. Teoretycznie wyjścia można przełączać tak szybko, jak szybko moduły te wykonują kod. Ponadto moduły PRU maja własny zestaw układów peryferyjnych, takich jak UART i PWM. Wszystkie zasoby PRU są dostępne dla głównego procesora. Warto się nauczyć korzystać z PRU, pozwalają one znacznie zwiększyć możliwości BB.

5. Naucz się Pythona

Być może najszybszym sposobem, aby opanować sterowania wyjść GPIO BeagleBone, jest napisanie odpowiedniego kodu w języku Python. Z kolei Debian jest dystrybucją Linuksa, która obecnie stanowi domyślny system operacyjny BeagleBone. W systemie Debian jest dostępne środowisko programistyczne o nazwie Cloud9. Pozycja Cloud 9 powinna być widoczna w menu po lewej – wybierz ją po zestawieniu połączenia SSH z BeagleBone.

Na stronie Python.org można pobrać dokumentację dla dowolnej wersji, która jest dostępna na płytce. Aby sprawdzić wersję, wystarczy w linii komend wpisać „python”. To spowoduje uruchomienie powłoki Pythona i wyświetli jego wersję na początku tekstu okna.

Jedną z metod utworzenia interfejsu graficznego (GUI) jest wykorzystanie bibliotek Tkinter. Znakomitym źródłem informacji na ten temat jest eBook, którego autorem jest Jan Bodner.

Ostatnia uwaga, która może nie być oczywista dla początkujących – wersje Pythona 2.x.x i 3.x.x są niekompatybilne. Aby uruchomić kod, musi on mieć składnię zgodną z wersją Pythona dostępnego na BeagleBone. Mimo to, fragment niekompatybilnego kodu można edytować, aby umożliwić jego uruchomienie pod daną wersją Pythona.

6. Wydrukuj układ wyprowadzeń BeagleBone

Płytki BeagleBones praktycznie nie mają oznaczeń pinów na laminacie. Jest to niewygodne, choć pozwoliło uzyskać małe wymiary płytki i uporządkowany układ ścieżek. Warto zatem wydrukować sobie układ wyprowadzeń (rys. 2.) i trzymać go pod ręką.

Rys. 2. Układ wyprowadzeń złącza GPIO BeagleBone. (Źródło: Embedded Basics)

O autorze