Banana Pi i ekran LCD podłączony po i2c

Dawno temu NAS został wyłączony, ale zmierzam do jego reaktywacji. Po głowie chodziło mi zamknięcie wszystkiego (zasilacz, dysk, Banana Pi) w zgrabnej, tym razem dedykowanej do elektroniki, obudowie.

Trochę z myślą o programie do przełączania łącza internetowego, a trochę o pomiarze temperatury przy pomocy komputera, przyszedł mi pomysł, by sygnalizować stan różnych rzeczy w sposób nie wymagający łączności sieciowej, czyli najdoskonalszy, analogowy: migając diodą. Oczywiście szybko doszedłem do wniosku, że jedna dioda nie wystarczy, wbudowane diody to trochę mało, ale przecież w Raspbery Pi i analogach mamy GPIO, możemy tych LEDów podłączyć kilka…

Nie wiem jak dokładnie doszło do tego, ale podczas poszukiwań szybko wpadłem na ekrany LCD z serii 1602, które również można podłączyć przez GPIO. Skoro tak, to pomyślałem, że nie ma się co ograniczać. Zamiast prostej sygnalizacji stanu i konieczności pamiętania która kombinacja co oznacza można po prostu wyświetlać dowolny tekst. Niezbyt długi, ale nadal jest to znacznie większa ilość informacji, niż z kilku czy nawet kilkunastu LEDów. W dodatku cena takiego jest bardzo przystępna, czego o różnych ekranach dotykowych czy e-ink powiedzieć nie można.

Pierwotnie chciałem podłączyć LCD do Orange Pi zero, ale niestety, nie ma on pinów GPIO – są wyprowadzenia, ale trzeba by lutować, co pewnie docelowo zrobię, ale bardziej chodziło mi o sprawdzenie sterowania, a mam pod ręką Banana Pi. Gdy szukałem schematu jak podłączyć ekran do Banana Pi, natknąłem się na coś znacznie ciekawszego – wersję ekranu LCD ze sterownikiem podłączanym przez interfejs i2c. Dzięki podłączenie temu jest bardzo proste – raptem cztery przewody, nawet nie trzeba lutować, o ile używa się gotowych przewodów z końcówkami. Dodatkowo – i to najlepsza część –  całością daje się w elegancki sposób sterować za pomocą Pythona.

Efekt końcowy wygląda tak:

LCD 1602
LCD 1602 Źródło: fot. własna

Zdjęcie zrobione telefonem, po ciemku. Z tyłu płytki jest potencjometr pozwalający na regulację kontrastu. Poziom podświetlenia jest stały, można tylko włączyć i wyłączyć LED, zarówno hardware’owo (zworka), jak i programowo. Ekran LCD bierze bardzo mało prądu – przy pomocy watomierza nie udało mi się zarejestrować różnicy, czyli całość zużywa poniżej 0,1 W.

Jak to zrobić? Powtórzę instrukcje, z których korzystałem. Instalujemy dodatkowe pakiety:

apt-get install i2c-tool python-smbus

Następnie podłączamy ekran i sprawdzamy adres przy pomocy polecenia:

i2cdetect -y 1

Otrzymaną wartość należy wpisać w skrypcie (stała ADDRESS, linia 29 w przytoczonym przykładzie).

Następnie możemy sterować ekranem z poziomu języka Python. Na przykład wywołanie efektu widocznego na ekranie można zrobić przy pomocy polecenia:

python test_lcd.py "Pomiedzy bitami" "https://zakr.es/"

Gdzie test_lcd.py ma zawartość:

import sys

from i2c_lcd import *

display = lcd()
display.lcd_display_string(sys.argv[1], 1)
display.lcd_display_string(sys.argv[2], 2)

Biblioteka pozwala na dużo więcej, między innymi na własne znaki, ale tym się póki co nie bawiłem. Wyświetlony tekst pozostaje na ekranie po zakończeniu programu do momentu wpisania nowego lub skasowania poprzedniego. Jeśli do ekranu będzie dostarczone napięcie, to wyłączenie Banana Pi nie wpływa na wyświetlany tekst. Dlatego jeśli chcemy monitorować, czy nasz komputer się nie zawiesił, musimy zmieniać okresowo tekst – w innym wypadku zawartość LCD nie świadczy o niezawieszeniu się komputera.

Sterowanie włączaniem i wyłączaniem podświetlania to:

display.backlight_on(False)
display.backlight_on(True)

Wyświetlać można cokolwiek – temperaturę, zajętość dysku, opóźnienia/straty na sieci, kurs BTC (pozdro dla L.!), adres IP (po starcie!), informacje o nowych mailach…

Pozostało mi wymyślenie, w jaki sposób zrobić sensowne sterowanie. Po głowie chodzi mi demon, który będzie pobierał informacje do wyświetlenia z jakiejś kolejki, w zależności od ich priorytetu, czasu ostatniego wyświetlenia i pory dnia sterował oświetleniem i wyświetlał informacje. A może już jest coś takiego?

I garść linków pomocnych przy tworzeniu ww. rozwiązania AKA źródła:

  1. pinout Banana Pi
  2. LCD i2c dla Raspberry Pi
  3. Banana Pi i urządzenia i2c
  4. Skrypt w Pythonie
  5. Biblioteka Python do obsługi ekranów LCD po i2c

UPDATE Dla zainteresowanych kupnem – ekran z modułem do komunikacji i2c kosztuje ok. 12 zł na Allegro. Na zdjęciu jest wersja zielona, ale istnieją też wersje niebieskie, gdzie tło jest ciemne, a napisy jasne.

Koniec projektu Bananian

Twórcy dystrybucji Bananian, czyli modyfikacji Debiana dedykowanej dla Banana Pi, którą opisywałem, ogłosili blisko kwartał temu, że kończą działalność projektu. Powody standardowe – brak czasu, wynikający z tego brak supportu dla nowszych wersji sprzętu, konieczność przesiadki na wydanego niedawno Debiana 9 (nie, nie przegapiłem, ale czekam z notką na wrażenia z upgrade) i… lepsze wsparcie dla płytek w wersji 4.x kernela Linuksa.

Jako sugerowanego następcę wskazują dystrybucję Armbian, która wspiera wiele płytek opartych o ARM (m.in. Banana Pi, Orange Pi, Odroid) i którą już wcześniej zachwalali znajomi, ale… skoro byłem zadowolony z Bananiana, to nie było potrzeby korzystać. Armbian występuje w dwóch wersjach – opartej na Ubuntu, dedykowanej na desktop oraz opartej na Debianie, dedykowanej na serwery.

Bananian nie jest całkowicie porzucany, wersja 16.04 nadal będzie otrzymywać, do kwietnia 2018 aktualizacje bezpieczeństwa. Przesiadka jest zatem zalecana, ale nie ma pośpiechu.

Uruchomienie karty Wi-Fi Mediatek MT7601U na Banana Pi

Jakiś czas temu kupiłem małe, tanie karty USB Wi-Fi w Chinach. Stwierdziłem, że przydadzą się do niewyposażonych we wbudowane karty płytek z ARM, czy nawet żeby któryś komputer podpiąć na szybko do sieci Wi-Fi w standardzie N. Karty przetestowałem na szybko na laptopie i wszystko było fajnie, ale… uruchomienie ich wymagało rzeźby i dokompilowania modułu. Dla jasności: chodzi o karty, które sprzedawane są jako Mediatek MT7601U USB bgn WiFi dongle.

Po podłączeniu w wyniku lsusb widać:

Bus 002 Device 002: ID 148f:7601 Ralink Technology, Corp.

 

a wymagany driver dla tej karty to mt7601u. W momencie podłączania karty USB w dmesg pojawia się:

[ 1075.027898] usb 2-1: new high-speed USB device number 2 using ehci-platform
[ 1075.189356] usb 2-1: New USB device found, idVendor=148f, idProduct=7601
[ 1075.196330] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1075.203764] usb 2-1: Product: 802.11 n WLAN
[ 1075.208160] usb 2-1: Manufacturer: MediaTek

 

Dziś potrzebowałem uruchomić Banana Pi pod kontrolą dystrybucji Bananian z tą kartą, wetknąłem ją w lapka, żeby odświeżyć sobie budowanie modułu i… miło mnie zaskoczył – działało od kopa. Stwierdziłem, że może zasługa nowszego kernela (4.5), ale prawdopodobnie nie – brakujący firmware jest dostarczany w Debianie w pakiecie firmware-misc-nonfree. Niedostępnym w Jessie, ale nie jest to wielki problem. Poniżej krótka instrukcja, co zrobić, żeby zadziałało (dla Bananiana 16.04 (released 2016-04-23)). Być może zadziała także na starszym kernelu, ale nie testowałem. Zgodnie z tym, co piszą na GitHubie projektu, driver jest dołączony do mainline kernela, i opisany poniżej sposób powinen działać dla kerneli od 4.2 w górę.

Instalacja kernela z linii 4.x na Banana Pi (niezalecana w FAQ Bananiana, ale…):

wajig install linux-image-4.4-bananian

 

Następnie reboot, by Banana Pi działało z nowym kernelem. Kolejnym krokiem jest pobranie pakietu z firmware dla karty:

wget http://ftp.de.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-misc-nonfree_20160110-1_all.deb

 

Usunięcie pakietów, które konfliktują z ww. pakietem (oczywiście wajig; wykonać dla wszystkich pakietów, które zgłoszą konflikt):

wajig remove firmware-ralink

 

Ostatnim krokiem jest instalacja pobranej paczki:

wajig install firmware-misc-nonfree_20160110-1_all.deb

 

Od tej pory karta USB Mediatek powinna po prostu działać po włożeniu do USB. Oczywiście należy połączyć się jeszcze z siecią bezprzewodową, ja polecam do tego wicd i wygodny konsolowy wicd-curses. Zadziała także dla Debiana w wersji stable (Jessie) – w zasadzie Bananian różni się tylko kernelem.

UPDATE Dobrzy ludzie słusznie donoszą, że firmware-misc-nonfree jest w repozytorium backports, więc instalacja jest prostsza – wystarczy dodać stosowne repozytorium do źródeł. Przyznaję, że nie sprawdzałem, bo jakoś mi się błędnie zakodowało, że ani armel, ani armhf nie są dostępne w backports.

Orange Pi – nowe modele

Przegapiłem premierę, ale warto wiedzieć, że pojawiły się dwa ciekawe nowe modele w rodzinie Orange Pi.

Pierwszy z nich, Orange Pi Plus, to odpowiedź na wyższe modele konkurencji. Ma… w zasadzie wszystko. Jest port SATA, jest mocny procesor (cztery rdzenie 1,6 GHz), jest Wi-Fi, są 4 porty USB 2.0, odbiornik podczerwieni i wbudowany mikrofon. W końcu jest wbudowana pamięć flash (8GB). Jedyna słabość to ilość wbudowanego RAM – nadal 1 GB, więc na desktop trochę mało, tj. można zrobić, ale trzeba będzie oszczędzać. Cena: około 50 USD z wysyłką. Zdjęcie Orange Pi Plus z opisem poniżej:

 Orange Pi plus

 Źródło: http://www.orangepi.org/orangepiplus/H3shuoming.jpg

Drugi model to Orange Pi PC. Dość okrojony, wygląda na alternatywę dla Raspberry Pi 2. Pierwsze co rzuca się w oczy to mocny procesor, ten sam co w ww. modelu. Pozostały wbudowany mikrofon oraz czujnik IR, ale zniknął port SATA, nie ma wbudowanego Wi-Fi, ani pamięci flash, a ethernet to – podobnie jak w Raspberry Pi – 100 Mbps. Standardowy 1GB RAM. Główny atut? Oczywiście cena. Ok. 23 USD z wysyłką, lub 15 USD + ok. 3 USD wysyłka. Zdjęcie Orange Pi PC wraz z opisem poniżej:

Orange Pi PC

Źródło: http://www.orangepi.org/orangepipc/images/orangepipc_info.jpg

W obu przypadkach można uruchomić Linuksa, w przypadku Orange Pi Plus dostępny jest Debian. Chipset ten sam, więc przypuszczam, że pojawienie się Debiana na model PC jest jedynie kwestią czasu.

Przyznaję, że rozważam zakup Orange Pi Plus i wymianę Dockstara – działa dobrze, ale 128 MB RAM zaczyna trochę boleć.

Handel po polsku – jednak się da? @XKOM_PL

Generalnie nie mam w zwyczaju opisywać każdego sklepu (chyba, że ostro skopią…), w którym kupuję, ale dla x-kom.pl zrobię wyjątek, bo mnie urzekli aktywnością na Twitterze. Chyba pierwsza polska firma, która robi sensowny i nienachalny marketing w social media (tu: Twitter), więc w nagrodę trochę konstruktywnej – mam nadzieję – krytyki (czepialstwa).

tl;dr – warto obserwować na Twitterze, dobre promocje, działają nieźle i szybko, choć pewne rzeczy, raczej kosmetyczne, można poprawić.

Zaczęło się od tego, że któryś ze znajomych podzielił się statusem o którejś promocji. I okazała się ona być sensowna. Znaczy faktycznie upust do dobrej ceny, a nie „mamy 30% drożej niż konkurencja, to obniżmy cenę o 25% i zróbmy szum”. Rzuciłem okiem, stwierdziłem, że warto dodać do obserwowanych, bo może kiedyś coś mi się przyda, a recenzje klientów dość entuzjastyczne. Poza tym, jest interakcja z użytkownikami i raczej niewiele „pustych” statusów typu „co u was słychać?”. Chociaż – po sprawdzeniu – takie też się pojawiają, ale normalnie nie rzuca się w oczy, więc strawna ilość.

Wczoraj nadszedł ten dzień, że pojawiły się w promocji karty microSD Sandisk 16GB class 10. Za 19,99 zł, czyli cena, w której normalnie można kupić class 4. Sprawdziłem dziś na popularnym portalu Aukcyjnym i najtańsze takie karty były po 24 zł. Pomyślałem, że do Banana Pi jak znalazł i kupiłem. No to obiecane wrażenia z zakupu.

Kupno w sklepie internetowym wymaga rejestracji. Nie przepadam, ale taki jest de facto standard, więc nie narzekam. Na plus – zgoda na wysyłkę info o promocjach nie jest obowiązkowa. Na minus – konieczne jest podanie numeru telefonu, który – uprzedzę fakty – do niczego nie jest tak naprawdę potrzebny.

Po finalizacji zamówienia pojawia się informacja, że mail został wysłany. I żeby sprawdzać folder Spam. Zwłaszcza to drugie dziwi, bo istnieją sposoby, żeby takie rzeczy nie miały miejsca. Dla leniwych: są serwisy, przy użyciu których rozwiązuje się ten problem rzutem pieniądza, także polskie. Kolejna rzecz na minus – na maila czeka się długo. Na tyle długo, że zacząłem się dopytywać na Twitterze, ile. I nie, nie chodzi o greylisting. Ani nie wymagam od poczty dotarcia w kilkanaście sekund (choć prawda jest taka, że z większości serwisów maile mam na skrzynce w małe kilkadziesiąt sekund).

Łącznie dostałem cztery maile, wszystkie z jednego adresu (OK!):

  1. Potwierdzenie rejestracji
  2. Twoje zamówienie zostało przyjęte
  3. Twoje zamówienie oczekuje na realizację
  4. Twoje zamówienie zostało przekazane do realizacji

Pierwszego nie trzeba komentować – po prostu potwierdzenie rejestracji. Drugi, wysłany 8 minut(!) później, potwierdza przyjęcie do zamówienia i mówi, że „W kolejnej wiadomości otrzymasz szczegółowe informacje na temat sposobu jego realizacji”. Ciekawostką jest trzeci „Twoje zamówienie nr xxx zostanie skompletowane najszybciej jak to możliwe. Poinformujemy Cię o tym w kolejnej wiadomości. Jeśli terminy dostawy produktów Ci nie odpowiadają, możesz anulować zamówienie klikając na ten link”. Kupiłem dwie sztuki z odbiorem w salonie, dostępna była jedna. Fajnie, że mogę zrezygnować z zamówienia, ale szkoda, że nie ma informacji, ile będę tak naprawdę czekał (brak nawet przybliżonego czasu). Ostatni mail zawiera informację o tym, że zamówienie można odebrać. I został wysłany 25h od złożenia zamówienia, czyli bardzo dobry wynik.

Co mi się nie podoba? Tematy maili. Pierwsze dwa są OK, ale trzeci i czwarty są IMO mylące. Jak dla mnie to zamówienie „oczekuje na realizację”  czy też „jest realizowane” od momentu przyjęcia zamówienia. Nazwałbym to po prostu „opóźnienie w realizacji zamówienia”, bo taka jest wymowa. I dodał orientacyjny termin. Ostatnie – zupełnie nie wiem, czemu nie „zamówienie gotowe do odbioru” ew., jeśli to wspólne dla wysyłek pocztą „zamówienie zrealizowane”.

I tu dochodzi ostatni element, czyli SMS. Po pierwsze, został on wysłany po ostatnim mailu. Minutę, ale jednak. Po drugie, nie zawierał numeru zamówienia. Po trzecie: nic nie wniósł całego procesu. Numer telefonu mógłby być niewymagany, tak naprawdę.

Wyszło, że narzekam. Ale nie narzekam, wręcz przeciwnie. Jest szybko (25h od zamówienia do odbioru w moim mieście) i sprawnie, ceny dobre. Miła odmiana po tym, co opisywałem ostatnio, choć przyznaję, że Chińczycy stawiają poprzeczkę wysoko, jeśli chodzi o ceny, czas realizacji i obsługę klienta (w tym bezpieczeństwo transakcji). Podsumowanie: dobre ceny (przynajmniej na promocjach), szybka realizacja. Będę kibicować i korzystać.

Rodzina Orange Pi

Jakiś czas temu zachwalałem Banana Pi. Twórcy w międzyczasie wypuścili Banana Pro, z m.in. dodaną kartą wifi. Nie pisałem, bo cena była mało atrakcyjna (obecnie wygląda lepiej ok. 50 USD), a zmiany tak naprawdę kosmetyczne.

Dziś dowiedziałem się o Orange Pi. Kolejny chiński produkt, który można określić mianem klona klonu Raspberry Pi. 😉

Poniżej zdjęcie jednej z wersji Orange Pi (wersja Mini):

Orange Pi Mini - front

Źródło: http://www.orangepi.org/orangepimini/minijieshao1.jpg

Tak naprawdę są to trzy produkty: Orange Pi zwykłe, mini i plus.

  • Zwykłe Orange Pi jest dłuższe od Banana Pi o 20 mm, za to dodatkowo ma kartę wifi oraz wyjście VGA. Cena: ok. 50 USD.
  • Orange Pi Plus ma ten sam rozmiar co zwykła wersja, nie ma wyjścia VGA, ale za to wyposażona jest w czterordzeniowy procesor A31S ARM. Brak portu SATA. Cena: ok. 70 USD.
  • Orange Pi Mini jest najbardziej zbliżone do Banana Pi – jedynie o 2 mm dłuższe i o 1 mm węższe. Od Banana Pi różni się głównie posiadaniem karty wifi. Cena: ok. 40 USD, czyli praktycznie tyle samo, co Banana Pi.

Wszystkie wersje posiadają port SATA, wszystkie mają 1 GB RAM. Producent twierdzi, że działa Android, Debian, Ubuntu itp. Ceny z AliExpress dla wersji z free shipping.

Wygląda ciekawie, choć dość niechlujnie (choćby widoczne literówki na opisach na zdjęciach). Sam pewnie nie kupię, a przynajmniej nie w najbliższym czasie, ale jakby komuś wpadło w ręce, to poproszę test i podzielenie się linkiem do testu.

UPDATE: Na portalu LinuxGizmos.com pojawiło się ciekawe zestawienie przyjaznych Linuksowi SoC na rok 2015. Polecam lekturę.

UPDATE 2: Wbrew temu, co napisałem, Orange Pi Plus nie posiada portu SATA.

 

Uruchomienie mikrofonu w Banana Pi

Jedną z przewag Banana Pi nad Raspberry Pi jest wbudowany mikrofon. Na początku nie byłem pewien, czy to mikrofon czy samo gniazdo. Jest mikrofon.

Mikrofon

Źródło: http://www.publicdomainpictures.net/view-image.php?image=25258

W przypadku użycia dedykowanej dystrybucji Bananian, wystarczy zainstalować pakiety alsa-base alsa-tools alsa-utils, poprawić w pliku /etc/asound.conf card 1 na card 0 i… uruchomić alsamixer, żeby zwiększyć głośność i… to wszystko. Czyli praktycznie z pudełka działa.

Czyli:

apt-get install alsa-base alsa-tools alsa-utilscat /etc/asound.confpcm.!default {        type hw        card 0 # for headphone, turn 1 to 0        device 0}ctl.!default {        type hw        card 0 # for headphone, turn 1 to 0}

Najprostszy sposób na „streamowanie” dźwięku z mikrofonu to:

ssh user@IP_banana_pi 'arecord -f S16_LE -' | aplay

Ale to raczej doraźne i do szybkiego zdalnego sprawdzenia. Muszę rozejrzeć się za czymś porządniejszym, z kompresją do mp3/ogg, uwierzytelnianiem i najchętniej w formie demona, który potrafi streamować po sieci. Dam znać jak znajdę, a tymczasem podpowiedzi mile widziane.

Bananian, czyli Linux dla Banana Pi

O Banana Pi pisałem już jakiś czas temu. Jeszcze wcześniej narzekałem na Raspbiana, że dziwne opcje ma, że bloat… Cóż, posiadacze Raspberry Pi nie mają specjalnie wyboru, natomiast w przypadku Banana Pi nie ma przeciwskazań, by korzystać z normalnej architektury armhf w Debianie. No dobrze, jest jeden wyjątek, czyli kernel…

Niedawno, po dłuższej, bo blisko dwumiesięcznej przerwie zajrzałem na forum producenta Banana Pi, a tam rzuciła mi się w oczy informacja o wydaniu dystrybucji Linuksa dla Banana Pi o nazwie Bananian. Wesoła nazwa, pomyślałem i stwierdziłem, że może faktycznie na popularności Raspberry Pi przesadnie bazują, skoro nawet Raspbiana przechrzcili… Potem wszedłem na stronkę dystrybucji, doczytałem i… jestem bardzo zaskoczony i zadowolony. Tak naprawdę autorzy poszli w tę stronę, w którą sam planowałem iść.

Czym jest Bananian? Bananian nie ma wiele wspólnego z Raspbianem, poza nazwą. To minimalna wersja (base system, zero raspbianowego bloatu!) Debiana, tuningowana pod Banana Pi (głównie kernel, plus skrypty pomocnicze). Dla pakietów (poza kernelem) korzysta z wyłącznie oficjalnych repozytoriów Debiana, czyli koniec z opóźnieniami w aktualizacjach pakietów (także security). Tuning polega na poprawieniu wydajności i bezpieczeństwa. Normalny swap (niestety włączony domyślnie), bez cudacznych skryptów. Tuning SSH pod kątem zwiększenia bezpieczeństwa zgodnie z wytycznymi z bettercrypto.org. Więcej o zmianach, ficzerach itd. na stronce.

Do tego obraz jest bardzo mały (spakowany poniżej 230 MB, po rozpakowaniu wchodzi na kartę 2GB), a developerzy sprawili na mnie znacznie lepsze wrażenie, niż ci od Raspbiana (bardziej przyjaźni i otwarci na propozycje/wiedzę).  Załapałem się na wydanie nowej wersji i nawet jakieś zgłoszone bugi na forum zostały naprawione (lub dodane do bugtrackera). Zdecydowanie Bananian mi się podoba. Taki minimalny (stronka też). 🙂

UPDATE: Projekt został zakończony, Bananian nie jest już rozwijany.

Dostępne wszystkie kody źródłowe dla Banana Pi

Developerzy postąpili zgodnie z zapowiedziami i udostępnili wszystkie kody źródłowe do Banana Pi. Są pierwsze doniesienia na forum o sukcesach z akceleracją GPU oraz potwierdzenia, że karta sieciowa działa na 1 Gbps na otwartym sterowniku. Nieoficjalnie słyszałem o prędkościach 520 Mbits/sec i 697 Mbits/sec (iperf; zależy czy serwer czy klient na bpi). Jak widać więcej, niż maksymalna przepływność USB. Czyli Raspberry Pi ma się coraz bardziej czego obawiać.

Biorę się do klonowania repozytoriów. 😉

Banana Pi – krótka recenzja

Jak wspomniałem, zamówiłem Banana Pi. Zamówienie na Aliexpress, cena – 50 dolarów z wysyłką do Polski. Zdziwieniem i niejakim problemem był fakt, że mało kto na Aliexpress obsługuje PayPala. Przynajmniej ze sprzedających Banana Pi z darmową wysyłką. Tu porada – WBK oferuje coś takiego jak karty internetowe. Tanie, bezpieczne (prepaid), wygodne, ekologiczne (są wirtualne, otrzymujemy tylko PDF, bez plastiku), działają. Można doładowywać. Polecam.

Sprzęt przybył do mnie do domu 14 dni od dokonania płatności. Trochę szczęścia, bo kumpel, który zamówił kilka dni wcześniej, dostał równocześnie, a ze śledzenia paczki[1] wynikało, że przyleciały jednym samolotem. Cła itp. nie ma z uwagi na wartość – zwolnione z cła są przesyłki do 150, tylko nigdy nie pamiętam czy euro, czy dolarów.

Jako dystrybucję wybrałem Raspbiana dla Banana Pi 3.0. Nagrałem na kartę microSD Goodram[2] (się naprawiła), podłączyłem identycznie, jak Raspberry Pi, czyli aktywny hub UnitekY-206P, jeden kabel do dysku, drugi do Banana Pi do gniazda zasilania, trzeci (sygnał) z Banana do huba. Włączenie zasilania i… nic.

Odłączyłem dysk, nadal nic. W końcu odłączyłem kabel sygnałowy do huba i… ruszyło. Jest zauważalnie szybciej, niż na rpi. Znajomy podłączał z monitorem i stwierdził, że spokojnie nadaje się do komfortowego przeglądania poczty i WWW (oczywiście bez flasha). Tak na szybko: jest jeden LED, którym można sterować analogicznie jak w rpi, na dodatek umieszczony w miejscu, gdzie go widać. Przygotowany obraz działa, ale szału nie czyni – jest trochę śmieci, które można usunąć, typu pakiety w cache apta. Zgłoszone, pewnie poprawią przy następnym wydaniu.

Nie udało mi się uzyskać działającej konfiguracji z podłączeniem dysku. Zarówno podłączenie kabla sygnałowego do huba, jak i dysku 2,5″ powodują u mnie zgaśnięcie wszystkich LEDów i zwis Banana Pi (prąd jest pobierany, więc nie wyłączenie). Podejrzewałem problem z USB lub ładowaniem modułu kernela (nie wiedziałem jeszcze o naprawieniu się karty microSD). Ale nie, podłączenie samego kabla czy pendrive nie powoduje problemów.

Ostatecznie wziąłem ładowarkę od komórki i podłączyłem Banana do niej, a dysk do huba USB. W takiej konfiguracji działa[3]. Tyle, że tak nie może zostać. Zadałem pytanie na forum o Banana Pi, parę osób odpisało. Nie jestem sam. Wygląda, że albo Banana Pi jest bardziej wrażliwe, albo znaczenie ma feature Raspberry Pi pozwalający na zasilanie po USB (czego Banana Pi nie ma).

Podsumowując, zapowiada się ciekawie, choć pracowicie (znaczy będzie zabawa). Już przytargałem multimetr i będę starał się wyjaśnić o co chodzi z zasilaniem. Parę pomysłów mam, ale brakuje mi kabelków do testów.

Poza tym, developerzy ciężko pracują i przepraszają, że nie opublikowali źródeł sterownika do karty sieciowej (łamiąc GPL, nawiasem). Czyli obecnie 1 Gbit można mieć działający, ale tylko pod warunkiem użycia zamkniętego kernela/modułu, ze źródeł się nie da. Mam nadzieję, że się uwiną szybko, bo Banana Pi zapowiada się ciekawie.

[1] W pozytywnym szoku byłem, jak dzień czy dwa po płatności dostałem maila z numerem przesyłki i mogłem śledzić na stronie Poczty Polskiej.

[2] Wcześniej tradycyjne zdjęcie journala z ext4, zgłoszone devom, dla odmiany przyjęli do wiadomości, więc jest szansa, że kolejne wydania będą przyjazne dla nośników flash by default.

[3] Zwykle, bo czasem w momencie podłączania huba do Banana Pi potrafi zwisnąć. Ale jak wszystko jest podłączone przy starcie, działa OK.

Banana Pi – alternatywa dla Raspberry Pi

Zwykle nie piszę o hardware, nawet opartym na ARM, ale tu zrobię wyjątek. Raspberry Pi od początku średnio mi się podobało, ale nowy projekt czyli Banana Pi, zrobiony przez inną ekipę jest naprawdę ciekawy. Jak to ktoś ładnie ujął, Chińczycy wezmą i zrobią lepiej.

 

Zmiany w stosunku do Raspberry Pi:

  • Ethernet 10/100/1000 (przy NAS po kablu może robić kolosalną różnicę, choć wątpię, by faktycznie wyciągało pełen gigabit),
  • Wbudowane złącze SATA (znowu spora różnica dla NAS),
  • Procesor Corex A7 dual core, czyli dwa rdzenie prawdopodobnie po 1 GHz każdy, czyli niemal trzy razy tyle MHz ile ma niepodkręcane Raspberry Pi,
  • 1 GB RAM, czyli dwa razy więcej,
  • wbudowany IR (odbiornik podczerwieni), czyli teoretycznie trywialne do zrobienia sterowanie pilotem

Zachowane złącza GPIO, wymiary i niska cena. Z tego co piszą, działa dedykowany dla Raspberry Pi Raspbian. Wspierany jest także Debian (czyżby niemodyfikowany?). Co lepsze, użycie nowszego procesora oznacza, że będzie działać architektura armhf, więc nie ma potrzeby stosowania protezy w postaci Raspbiana.

Koszt to niby 43 dolary, ale za mniej niż 50 nie znalazłem do kupienia. Tak czy inaczej IMO zdecydowanie warto dopłacić. Niebawem zamówię i najprawdopodobniej wymienię silnik obecnego NAS opartego na Raspberry Pi.

I jeszcze stronka w Wikipedii poświęcona Banana Pi.

UPDATE: Dzięki namiarom z komentarzy (thx Zal!) wiemy więcej. Zapowiadało się dobrze i jest dobrze. Przynajmniej jeśli chodzi o benchmark Banana Pi vs. Raspberry Pi. Dla niecierpliwych: banan ma sieciówkę (o go głównie były obawy) 6-7 razy szybszą (iperf). Za to uwaga, Banana Pi jest nieco większe od Raspberry Pi i nie wszędzie się zmieści. Jak donosi też mniej pochlebna recenzja, nie wszystkie rozszerzenia będą pasowały z uwagi na przesunięcie niektórych złącz.

UPDATE: W jednym z kolejnych wpisów opisuję, jak zrobić z maszynki z Linuksem router, GSM/LTE z Wi-Fi. Z uwagi na niewielkie rozmiary i mały pobór energii Banana Pi świetnie się do tego nada.