Orange Pi 2G-IoT — kolejny produkt dla IoT z modułem GSM

Na bazie popularności Raspberry Pi powstało już wiele podobnych płytek. Niektórzy producenci wyprodukowali jedną lub dwie płytki a niektórzy jak Xunlong Software wydaje swoje płytki Orange Pi jak piekarnia pieczywo. Ostatnio w ofercie producenta pojawiła się ciekawa płytka bazująca na słabszym 1GHz procesorze niż wcześniejsze o nazwie Orange Pi 2G-IoT, która jest dedykowana do Internetu Rzeczy i kosztuje jedyne 9,90$. Od początku mam mieszane uczucia co do płytek Orange Pi, ale tym razem zainteresowałem się płytka bo ma już wbudowany modem GSM i sprawdziła by się do kilku moich pomysłów.

Specyfikacja


  • Procesor: 1.0 GHz RDA Micro 8810PL ARM Cortex A5, 256KB L2 cache.
  • Pamięć: 256 MB LPDDR2 RAM.
  • Pamieć Flash: 500MB SLC Nand Flash.
  • Grafika: Vivante GC860 3D GP.
  • Komunikacja bezprzewodowa: WiFi 802.11 b/g/n + Bluetooth 2.1/EDR na układzie RDA5991, Moduł GSM/GPRS/EDGE (4 zakresowy).
  • Złącza: MIPI CSI-2 (do 2MP), DSI, 40 pinów GPIO (kompatybilne z RPi), Audio/Mic/FM-Jack, Debugger, USB 2.0, microUSB do zasilania i OTG, slot karty SIM, slot karty microSD, pady na baterię, antenowe wifi i GSM.
  • GPIO: SPI, I2C, ADC, IO, PWM, UART
  • Rozmiar: 68x42mm

Zamawiając płytkę nie wiedziałem czego mogę się spodziewać bo na stronie producenta nie było żadnych informacji a tym bardziej gotowych obrazów systemów. Wg opisu z aukcji dostępne miały być obrazy systemów Android, Ubuntu, Debian i Raspbiana. Brak jakiekolwiek dokumentacji mnie w ogóle nie zdziwił bo producenta słynie z tego, że dostarcza lub wcale nie dostarcza dobrej dokumentacji a tym bardziej dostatecznego wsparcia. Po prawie miesiącu od zamówienia otrzymałem płytkę i zabrałem się za jej uruchamianie.

W dniu kiedy uruchamiałem płytkę producent udostępnił już kilka systemów. Dostępne są wersje Androida zarówno na kartę SD jak i na pamięć NAND, systemy Linuksowe takie jak Ubuntu i Armbian. Oczywiście jak zwykle nic nie działa na początku z obrazami. Obraz Androida na NAND nie można wgrać bo coś jest nie tak z obrazem. Z doświadczenia wiem, że obrazy przygotowane przez producenta są dalekie od ideałów i się nie zdziwiłem że obraz Armbiana uruchamia się tylko raz. Po ponownym restarcie nie można już uruchomić systemu. Co prawda użytkownicy znaleźli rozwiązanie na to ale jednak postanowiłem poprosić jednego z aktywnych użytkowników społeczności na FB pomarańczy o obraz systemu opartego na Ubuntu. Pobrałem obraz a następnie wgrałem na kartę microSD. Na dzień dzisiejszy jest już kilka nowych obrazów. Ale ja dalej pracuję na systemie, który podesłał mi znajomy.

Pierwsze co należy zrobić przed uruchomieniem systemu z karty microSD to zmienić zworkę z NAND na T-card. Zworka ta odpowiada za przełączanie źródła bootowania z Pamięci NAND lub kart pamięci.

Jako, że w tej wersji pomarańczy nie mamy wyjścia wideo np. hdmi musimy posłużyć się złączem Debuggera UART podłączając do niego konwerter USB-UART 3 pinami RX, TX i GND. Oczywiście jest złącze do podłączenia ekranu LCD poprzez DSI, ale w obecnej chwili brak informacji jak tego dokonać i odpowiednio skonfigurować. Zasilać polecam z portu microUSB.

Oczywiście do komunikacji i wyświetlania z konsoli polecam użycie PuTTY.
Prędkość komunikacji należy ustawić na wartość 921600 zaś port w zależności od systemu i przyznanemu numeru portowi.

GPIO

Jak podaje producent złącza są kompatybilne z pinami z Raspberry Pi. Ale warto tu zwrócić szczególna ostrożność bo złącza GPIO nie są jak w innych płytkach ułożone po prawej stronie płytki ale od lewej strony i wszystkie gotowe moduły w rzeczywistość będą nie nad sama płytką a obok po podłączeniu.

Jest to bardzo ważne aby przez przypadek nie podpiąć np zasilania 5V do pinu 39 co może uszkodzić układ dlatego wyżej poleciłem podłączyć się z zasilaniem przez port microUSB. W chwili wydania mikrokomputera nie było bibliotek do sterowania GPIO działającymi z 2G-IoT. Z samego schematu płytki można się dowiedzieć tylko informacji o rozłożeniu pinów GPIO oraz ich funkcji i nic więcej co było by potrzebne. Jak zwykle bieda i społeczność sama musi szukać i testować i tak powstał fork biblioteki WiringPi na tą pomarańczę co prawda jest jeszcze w becie ale już możemy coś w prostszy sposób zrobić. Jak zwykle na społeczność można liczyć.

Modem GSM

Moduł GSM znajduje się pod adresem /dev/modem0 i do jego obsługi można wykorzystać np. aplikację wvdial. Jest to mode pracujący w trybach GSM/GPRS/EDGE, wiec wystarczy na komunikację do rozwiązań internetu rzeczy.

Ale o tym jak działa moduł oraz przykładową konfigurację pokażę już w kolejnym wpisie w którym też opiszę i pokażę jak działa biblioteka WiringPi do sterowania GPIO i ile zużywa samo urządzenie w trybie działającego modemu bo tutaj jest ważna kwestia przy rozwiązaniu IoT.