Rzut oka na Beaglebone Black - minikomputer stworzony do skryptowania elektroniki

Beaglebone Black to mini komputer na płytce i poniekąd odpowiedź fundacji BeagleBoard.org na mini komputer Raspberry Pi. W zbliżonej do konkurenta cenie Beaglebone Black oferuje nowszy procesor z obsługą m.in. Androida jak i znacznie większa ilość pinów GPIO (95 3.3V). W tym artykule przedstawię ten komputer, jego możliwości i osiągi.

Beaglebone Black rev C

Hardware

Najnowsza rewizja C zawiera 4GB pamięci eMMC, na której zainstalowana jest domyślna dystrybucja Linuksa. Do pobrania są obrazy innych dystrybucji, jak i androida. 8-bitowa pamięć eMMC zapewnia lepszą wydajność niż karty SD poprzez 4-bitowy interfejs. Na płytce znajdziemy też jednordzeniowy procesor XAM3359AZCZ100 - Sitara Cortex A8. Jest to nowsza generacja niż Broadcom BCM2835 w Raspberry Pi, dzięki czemu BeagleBone łapie się na kompatybilność z Androidem. W różnych testach wydajności powinien on być nieco wydajniejszy, Za grafikę odpowiada układ PowerVR SGX530, który nie jest zbyt wydajny. Multimedialnie Raspberry będzie miało jednak przewagę (szczególnie przy odtwarzaniu wideo). Czysto graficznie trudno określić który układ będzie lepszy.

Całość uzupełnia 512 MB RAM, slot microSD, 100 mbit Ethernet, micro HDMI (max 1280×1024) oraz port USB i mini USB. Rozmiar praktycznie taki jak Raspberry Pi.

Za Beaglebone Black zapłacimy co najmniej 250 zł, czyli o jakieś 90-100 zł więcej. W Polskich sklepach cena będzie wyższa.

Osiągi

Korzystając z okazji odpaliłem testy phoroniksa na tym mini komputerze. Rekordów nie ma co oczekiwać, a wyniki zobaczyć można na openbenchmarking.org. Na początek może nieco o szybkości pamięci RAM i eMMC:

Benchmark RAM i Nginx dla Beaglebone Black

Pamięć RAM jest tylko minimalnie szybsza od tej w Raspberry Pi. Prędkość pamięci ma lub może mieć w zależności od przypadku znaczący wpływ na wydajność układu graficznego, który współdzieli pamięć. Wpływa też na działanie np. baz danych, czy innych usług mocno zależnych od tego komponentu. 512 MB nie pozwoli na wiele. Razem z eMMC pozwala jednak osiągnąć nieco ponad dwa razy więcej współbieżnych połączeń na serwerze Nginx. Choć czterordzeniowy dongiel Measy z 2 GB RAM osiąga znacznie lepszy wynik przy niskiej cenie.

Sporo w sieci porównań Beaglebone Black z Raspberry Pi. Wielokrotnie podkreśla się różnice układów graficznych, mniejsze możliwości PowerVR. W testach to wyszło, choć czasami w zaskakujących benchmarkach:

Benchmark C-ray, lame, Pi dla Beaglebone Black

C-ray ma testować wydajność operacji zmiennoprzecinkowych procesora. W teorii ma być wykonywany tylko na procesorze. Wydajność zależeć może od obecności i rozmiaru pamięci podręcznej (cache) procesora. Na układach ARM niektóre takie jak Allwinner A10, czy Sitara z Beaglebone osiągają znacznie słabsze wyniki od teoretycznie słabszego procesora na Raspberry Pi. Sitara ma koprocesor NEON do takich operacji i jakoś mu to na dobre nie wyszło. Możliwe też że układ graficznych w układach ARM też jakoś bierze udział w tych obliczeniach. W każdym bądź razie Beaglebone wypada drastycznie słabiej.

Wyznaczanie liczby Pi podobnie nie zachwyca wydajnością, tak jak konwersja waw do mp3. Multimedialnie Beaglebone raczej wypada blado, ale o tym już pisano dawno temu.

Desktop wydaje się jednak nieco bardziej responsywny od tego w Raspberry Pi. Nowsza generacja ARM powinna być bardziej wydajna od poprzedniej nawet dla tej samej częstotliwości zegara. Widać to w pozostałych testach, np:

Benchmark Dcraw i pybench dla Beaglebone Black

Desktop ani laptop z tego nie będzie, ale do prototypowania i pracy w sieci Beaglebone będzie bardzo fajne i przydatne. Jak chcesz coś multimedialnego to bierz dongla z Androidem. Chromium w chrome://gpu pokazuje też brak akceleracji ze strony układu graficznego:

  • Canvas: Software only, hardware acceleration unavailable
  • 3D CSS: Unavailable. Hardware acceleration unavailable
  • Compositing: Software only, hardware acceleration unavailable
  • CSS Animation: Software only, hardware acceleration unavailable
  • Flash 3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D Baseline profile: Unavailable. Hardware acceleration unavailable
  • WebGL multisampling: Unavailable. Hardware acceleration unavailable
  • Texture Sharing: Unavailable. Hardware acceleration unavailable
  • Video: Software only, hardware acceleration unavailable
  • Video Decode: Software only, hardware acceleration unavailable
  • Video Encode: Software only, hardware acceleration unavailable
  • WebGL: Unavailable. Hardware acceleration unavailable

Co w Beaglebone jest fajnego?

Nieco droższa od Beaglebone jest Radxa, do tego wiele innych dwu i czterordzeniowych minikomputerów. To co odróżnia Beaglebone Black od wielu innych (choć nie wszystkich) mini komputerów to wsparcie programistyczne jakie dostajemy gdy chcemy wykorzystać GPIO na tej płytce. W sieci dostępne są tutoriale i przewodniki dotyczących bibliotek i przykładów jak to wykorzystać. Cieszy wsparcie dla Pythona. Poczytać o GPIO i Beaglebone możemy na slideshare, czy learn.adafruit.com. Może nie ma za wiele gotowców, ale jest dobra baza. W przypadku Radxy, Marsboard, Iteaduino mamy minimalne ilości informacji o wykorzystaniu GPIO i brak poręcznych wysokopoziomowych bibliotek. Nieco przeszkadzać może 3.3V gdybyśmy chcieli użyć popularne i tanie 5V chińskie płytki tworzone pod Arduino.

Na ile Beaglebone Black jest fajna do skryptowania elektroniki Pythonem okaże się niebawem. Planuję nieco jej poużywać co zaowocuje wpisami na python.rk.edu.pl.

RkBlog
Comment article
Comment article RkBlog main page Search RSS Contact