Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Onion Omega2 — płytka dla IoT

W moje ręce trafiła kolejna płytka służąca do budowania rozwiązań Internetu Rzeczy Onion Omega2, która posiada wbudowany moduł wifi oraz złącza GPIO. Kupiłem ją przede wszystkim bo zainteresowała mnie informacja, że płytka pracuje pod lekkim systemem Open-WRT i przyznam, że tym mnie zachęciła do zakupu. Cebula (z angielskiego Onion) jest udanym projektem crowdfundingowym a jego twórcy wykorzystali do tego platformę kickstarter.

Specyfikacja Onion Omega2

  • Procesor: 580 MHz Mediatek MT7688
  • Pamięć RAM: 64 MB
  • Pamięć Flash: 16 MB
  • Moduł WiFi b/g/n
  • Ilość GPIO: 15
  • Rozstaw pinów: 2mm
  • Interfejsy: 2x PWM, 2x UART, 1x I2C, 1x SPI, 1x I2S
  • Zasilanie i logika: 3,3V

Urządzenie może nie posiada zbyt ciekawych podzespołów jeśli chodzi o procesor i pamięć w porównaniu do np. Raspberry Pi Zero ale ma swój urok bo czy duża wydajność jest potrzebna do rozwiązania IoT, które mają za zadanie zbierać informacje i pozwalać na sterowanie modułami i układami?. Urządzenie na pinach GPIO (oprócz 15 pinów IO) umożliwia dodatkowo podłączenie portu USB 2.0 oraz karty sieciowej 100Mbit za pomocą gotowych modułów oferowanych przez producenta lub własnych. Cena modułu Onion Omega2 to koszt 5$ zaś jego mocniejszej wersja oznaczona "Plus", która posiada 128MB ram i 32MB Flash oraz dodatkowo złącze kart MicroSD kosztuje już 9$. Odpowiednio w polskim sklepie moduły kosztują 49zł i 79zł. Największą bolączką w płytce jest użycie przez producentów rozstawu pinów GPIO z rastrem 2mm przez co jesteśmy zmuszeni albo zrobić sobie sami przejściówkę na raster 2,54 taki jak używa się np w RPi czy Arduino lub oczywiście dokupić jeden z gotowych rozszerzeń do cebuli, które jak się nie trudno domyśleć są droższe od podstawowych modułów. Ceny rozszerzeń zaczynają się od 10$.

Rozszerzenia i moduły

  • Breadboard Dock (10$) - Posiada wyprowadzenia na raster 2.54 do płytki uniwersalnej, złącze microUSB tylko do zasilania i przycisk reset.
  • Expansion Dock (15$) - Posiada wyprowadzenie pinów GPIO na listwie żeńskiej 2.54mm 2x 30, port USB, Włącznik zasilania, przycisk reset, złącze microUSB do zasilania i komunikacji oraz diodę RGB.
  • Power Dock (15$) - Posiada wszystko to samo co Expansion Dock poza diodą RGB oraz dodatkowo moduł zasilający z baterii 3.7V LiPo.
  • Mini Dock (15$) - Posiada port USBm, miniUSB do zasiania i komunikacji, przycisk reset oraz włącznik.
  • Arduino Dock (20$) - płytka posiadająca po prostu układ Arduino UNO ze standardowymi dla niego złączami, wyprowadzenia pinów GPIO, port USB, microUSB do zasilania i komunikacji oraz przycisk reset.

Oprócz rozszerzeń producent przygotował też dodatkowe moduły tj. kontroler sieciowy (15$), dwóch przekaźników (15$), 16 złącz PWM (15$), ekranu OLED (15$), płytki prototypowej (5$) oraz modułu GPS na USB (24.99$).

Jak widać większość modułów można łączyć ze sobą w tak zwaną kanapkę ;)
Dobranie nawet podstawowych portów jest sporym wydatkiem i widać, że producent liczy na zarobek właśnie na rozszerzeniach oraz pokazuje to, że projekt jest dedykowany głównie dla osób zaczynających zabawę z elektroniką bo nie każdy był by w stanie samemu stworzyć płytki rozszerzające.

Oprogramowanie i biblioteki

Producent dostarczył biblioteki do sterowania GPIO oraz w/w modułami dla języków C, Python oraz Javascript (NodeJS). Dodatkowo przygotował pakiety do instalacji dla w/w języków oraz PHP wraz z serwerem do serwowania stron www.
Żeby nie było za mało udostępnił też narzędzia cli do sterowania GPIO, dzięki czemu z poziomu systemu w konsoli możemy wydawać polecenia, sterować i odczytywać stany pinów:
  • gpioctl
  • omega2-ctrl
  • fast-gpio

Najbardziej ciekawym narzędziem jest fast-gpio, za pomocą którego możemy odczytywać i ustawiać stany pinów, kierunek (input, output) oraz sterować pinami PWM fast-gpio set-input <gpio> fast-gpio set-output <gpio> fast-gpio get-direction <gpio> fast-gpio read <gpio> fast-gpio set <gpio> <value: 0 or 1> fast-gpio pwm <gpio> <freq in Hz> <duty cycle percentage> omega2-ctrl natomiast pozwala odczytywać i zmieniać funkcje pinów.omega2-ctrl gpiomux set <HARDWARE PIN GROUP> <MODE>

Mało miejsca na dane i aplikacje

Wersja, którą posiadam ma tylko 16MB na dane w tym pliki systemowe, dlatego chcąc zainstalować trochę potrzebnego oprogramowania musimy użyć jakiejkolwiek pamięci na usb (wersja Plus posiada dodatkowo złącze kart pamięci, które można do tego użyć).
Opis jak rozszerzyć pamięć dysku a w rzeczywistość montować katalog /overlay z zewnętrznej pamięci opisany jest w dokumentacji.

Wifi

Wbudowany moduł wifi w obecnej chwili ma problemy z łączeniem się do Routerów Asusa oraz Mikrotika. Póki co producenci cebuli nie potrafią poradzić sobie z tym problemem i nie odpisują w tym temacie użytkownikom od 3 miesięcy co wygląda słabo. Tak się składa, że akurat w domu posiadam Mikrotika RB2011UiAS-2HnD-IN i przewertowałem wszystkie podpowiedzi na forum cebuli i nie udało mi się połączyć jej do mojej domowej sieci. Bez problemu połączyłem się np. do sieci udostępnionej z telefonu. Ciężko mi jest na chwilę obecną powiedzieć co jest przyczyną ale obstawiam, że jest to jakiś problem z konfiguracją lub firmwarem wbudowanej karty Wifi. Sama cebula ustawiona jest w trybie AP i można się z nią połączyć z komputera lub innego urządzenia. Cebula posiada wbudowaną antenę wifi ale również złączę do podłączenia zewnętrznej anteny.

Pierwsze uruchomienie

Jak wspomniałem wyżej po podłączeniu cebuli do prądu jest widoczna sieć Omega-XXXX (gdzie XXXX oznacza ostatnie znaki adresu mac karty sieciowej wifi) a hasło do niej to 12345678.

Po połączeniu do do sieci wystarczy wpisać w przeglądarce adres 192.168.3.1 (lub Omega-XXXX.local) i przeprowadzić wstępną konfigurację. Przed samą konfiguracją musimy się zalogować podając dane:

login: root
hasło: onioneer
W kolejnym etapie musimy podać dane do naszej sieci domowej wybierając sieć z listy i podając hasło do niej. Jeśli połączenie się uda przejdziemy do kolejnej zakładki, gdzie możemy skonfigurować dostęp do usługi Onion Cloud (dostęp również do API), za pomocą której możemy mieć zdalny dostęp do naszej cebuli (ten etap możemy pominąć).
W kolejnym etapie możemy zainstalować aplikację konsola dzięki czemu będziemy mogli w przeglądarce sterować naszą cebulą. Opcjonalnie jeśli zostanie wykryta stara wersja firmware-u pokaże się przycisk aktualizacji.
Jeśli wszystko przebiegnie dobrze otrzymamy informację o zakończeniu instalacji.
Warto poczekać kilkanaście sekund bo w tle jest instalowane oprogramowanie. Po pewnej chwili gdy odświeżymy stronę będziemy mieli już dostęp do aplikacji konsola gdzie możliwe jest sterowanie naszą cebulą.
Od tej chwili możecie po sprawdzeniu na routerze jaki adres otrzymała cebula z waszego routera łączyć się z waszej sieci domowej do niej. Webowa aplikacja pozwala na sterowanie niektórymi modułami, instalowania dodatkowego oprogramowania, konfiguracji cebuli itd.
Sporo informacji o instalacji, konfiguracji i przykładowych projektach znajdziecie na wiki projektu.

SSH

Dla bardziej zaawansowanych użytkowników i nie lubiących ograniczeń polecam pominięcie konfiguracji poprzez przeglądarkę i zalogowanie się od razu do cebuli za pomocą ssh. Dostępne są różne narzędzia m.in. do konfiguracji wifi (skrypt wifisetup) i inne znane z OpenWRT. Możliwa jest instalacja pakietów i programów linuksowych za pomocą instalatora pakietów opkg. W pierwszej kolejności skonfigurować należy dostęp do naszej sieci za pomocą wifisetup.
Następnie warto sprawdzić czy mamy aktualny system. Do tego służy polecenie oupgrade, które sprawdza czy jest nowa wersja i instaluje ją.
Po tym zabiegu możemy rozszerzyć dostępne miejsce na dane i instalować co nam repozytorium daje. Ale zanim zaczniemy cokolwiek instalować musimy odświeżyć repozytoriaopkg updatei instalować co potrzebujemy. Listę dostępnych pakietów możemy sprawdzić za pomocą polecenia opkg listPliki konfiguracyjne znajdziemy w katalogu /etc/config gdzie możemy sami zmienić konfigurację sieci i usług.
Sporo informacji i przykładów o Onion Omega2 znaleźć można w przewodniku, gdzie znajdziemy m.in. opis instalacji i konfiguracji pythona, nodejs, php, C, sterowania pinami GPIO i modułami producenta
.

Trzeba przyznać, że producent postarał się bardziej i dostarczył sporo dokumentacji i materiałów dla użytkowników, ale również nie postarał się o dostateczne wsparcie jeśli chodzi o problemy z niektórymi routerami. Liczę na to, że projekt będzie się rozwijać i producent postara się naprawić niedociągnięcia i problemy użytkowników. Na pewno jeszcze napiszę coś o cebuli bo jest wg mnie fajną alternatywą dla innych płytek i zaprezentuję ją w akcji.
 

sprzęt oprogramowanie hobby

Komentarze

0 nowych
Color Mint   9 #1 30.04.2017 15:30

Ciekawa płytka. Pytanie, wiadomo czy da się podłączyć dwa takie same moduły, np 2x Onion Ethernet, żeby mieć dwie karty sieciowe?

PaPuX   9 #2 30.04.2017 17:29

Może być fajna kanapka do sterowania plt i systemów alarmowych.

  #3 30.04.2017 18:21

Pierwszy model byl fajny i zastanawialem sie nad kupnem, drugi nie stanial i ... tele konkurencji, chocby c.h.i.p. ze nie warto w ogole sie tym zajmowac. obecnie uzywam Orange pi z wylaczonymi rdzeniami i przetaktowana pamiecia, zuzycie pradu mniej wiecej podobne a to normalny linux.

taki sprzet mialby sens jak by dalo sie z niego zrobic porzadny router (6-8 portow gigabitowych, wan, GSM, usb i dyski) a tak to fajny pomysl kiedys ale nie dzis.

kaszak696   6 #4 30.04.2017 18:33

Mediatek? Znaczy, że nie ma źródeł sterowników i nie ma szans na aktualizację kernela? Mam nadzieję, że nie, ale biorąc pod uwagę wcześniejsze wyczyny Mediateka na tym polu...

  #5 30.04.2017 19:57

Wpis ciekawy ale sama płytka w ogóle mi przypadłą do gustu i polecam każdemu trzymać się od niej z daleka i wybrać rozwiązania konkurencji.

cyryllo   18 #6 30.04.2017 20:43

@Color Mint: Niestety ale nie ;) tylko jeden moduł możesz podłączyć.

@kaszak696 Nie interesowałem się jak z aktualizacja kernela ale obawy masz słuszne ;) Mediatek jak dotąd nie popisuje się na tym polu ;) Obecnie znajduje się kernel 4.4.46 z lutego tego roku.
@kentaro niby czemu polecasz trzymać się od niej z dala? uzasadnij :P

Xyzz   5 #7 30.04.2017 21:18

@PaPuX: "Może być fajna kanapka do sterowania plt i systemów alarmowych."

To się od biedy do sterowania lampkami led w ogrodzie mogłoby nadawać.

Nie ma nic gorszego od stosowania takich rzeczy jako PLC (domyślam się, że "sterowania plt" oznaczało sterowanie PLC).

Przygniotłoby kogoś, mogłoby urwać/zmiażdżyć/poszatkować rękę tylko dlatego, że takie coś postanowiłoby sobie wystawić losowe stany wyjść podczas nieplanowanego resetu. Drastycznie? A może z zakładu chemicznego do powietrza wydostałoby się kilka ton substancji dwa rzędy wielkości bardziej toksycznej od osławionego cyjanku bo "CebulaPaj zaprogramowana by Zbychu4553" odmówiła posłuszeństwa i otworzyła nie ten zawór? Na bezpieczeństwie się nie oszczędza.

Brakuje zabezpieczenia gpio (ten moduł z przekaźnikami zasilanymi z tej samej linii to żadne zabezpieczenie), brakuje zewnętrznego układu watchdoga (który zresetowałby procesor w razie zawieszenia), brakuje gwarancji poprawnego działania (nie wiadomo do końca co siedzi w środku), brakuje testów w warunkach w jakich mogą pracować sterowniki PLC, brakuje pewnego i bezpiecznego sposobu komunikacji, brakuje redundancji...

Jeszcze jedna rzecz - brakuje atestów chroniących "w razie wypadku" tyłek projektujących, wdrażających i dopuszczających do użytku system z takim urządzeniem. Pierwszą rzeczą jaką przy śledztwie z powodu wypadku spowodowanego awarią automatyki byłoby sprawdzenie, czy wszystko było dopuszczone do użycia w danych warunkach i miało ważne badania techniczne.

wefhy   11 #8 30.04.2017 21:23

Hmm, no nie wiem, cena taka jak za raspberry pi zero(w), za moduły też dużo biorą, a raczej nie dostaję nic w zamian. Pi może wydaje się przestrzeleniem, ale w swojej cenie... nie ma powodu, żeby stosować czegoś słabszego(nie licząc uC rzędu stm32, atmega8 itp - bo to do innego rodzaju projektów ;) )
Mamy też przecież świetne moduły ESP8266, od niedawna też ESP32, które pod względem mocy obliczeniowej reprezentują ten sam przedział, co ww płytka.

TestamenT   13 #9 30.04.2017 22:18

Lubię takie urządzenia za to że można programować w dowolnym języku. Tylko cenowo wypada dość niekorzystnie. Bo o ile 5 dolców czyli 20 zł jest dla mnie ceną jak najbardziej akceptowalną, tak 50 zł zdecydowanie nie. Dlatego kupowałem RPi Zero z PiHut mimo że za przesyłkę musiałem zapłacić drugie tyle.
Podoba mi się w Onion to że można zasilić napięciem 3V3. Miło byłoby gdyby RPi Zero można było zasilać takim napięciem.

cyryllo   18 #10 30.04.2017 22:27

@TestamenT: Ceny w PLN-ach podałem z Botlandu, gdzie kupowałem swój zestaw zaś taniej zapewne wychodzi z modmypi.com. Nie wiem czy Botland zamawiał prosto od producenta czy sam kupił od modmypi. Ale ceny maja jakoś dziwnie ustalone. Zresztą jak im cło dodali i vat w naszym pięknym kraju to może i tak im to się skalkulowało.

Autor edytował komentarz w dniu: 30.04.2017 22:28
muska96   9 #11 30.04.2017 23:44

Ciekawa płytka, ale do IoT za silna (mając na uwadze to, że nawet esp8266 ma już obsługę TLS 1.2), a na jakiś serwer za słaba. Ale muszę przyznać, że jest to ciekawe rozwiązanie, ale bardziej liczę na https://www.indiegogo.com/projects/licheepi-zero-6-extensible-linux-module-on-fi...#/ które ma mieć wsparcie dla najnowszych kerneli i może się jakoś nadać na serwerek czy coś.

cyryllo   18 #12 01.05.2017 00:07

@muska96: rzeczywiście wygląda ciekawie a zwłaszcza nakładka na Lorę ;) Ja zazwyczaj czekam jak zaczną normalnie sprzedawać i poczytam o tym co na to pierwsi użytkownicy ;)
Ehh czemu wszyscy muszą zawsze nazywać podobnie do malinek ;)

KyRol   19 #13 01.05.2017 08:24

Mnie zniechęciła adaptacja pythona na Onionie. Zasadniczo trzeba modyfikować istniejące skrypty i nie ma gwarancji na to, że uda się przeportować każdy projekt w pythonie. Moją uwagę zwrócił później LinkIt Smart 7688 https://www.seeedstudio.com/LinkIt-Smart-7688-p-2573.html tym niemniej wyszło na to, że będzie drożej, a wsparcie jest niepewne.

Skończyło się na tym, że kupiłem to co znam i to co ma wsparcie społeczności https://wiki.openwrt.org/toh/gl-inet/gl-ar150. Kupiłem najzwyklejszy router podróżny GL-AR150, jego gabaryty to w przybliżeniu dwie paczki zapałek, ma dwa gniazda RJ-45, zasilany jest z microUSB i ma też USB na urządzenia peryferyjne. Na płycie do tego GPIO (nie wiem w jakim rastrze). Na sporadyczne podróże i do projektu, który mam w planach zasadniczo niczego mi więcej nie trzeba.

Jedynie nie uciekłem od konieczności portowania skryptów w pythonie, no ale potrzebuję zasadniczo przeportować tylko jeden skrypt i myślę, że z tym nie będzie problemu, bo jest to udokumentowane na stronach Open WRT. Jednak głównym zadaniem routera w moim projekcie będzie transmitowanie setek megabajtów, ma też serwować webową aplikację, tak więc w moim wypadku lepiej się sprawdzi router. Onion raczej ma zastosowania do tego aby reagować na niewielkie pakiety danych i odpowiadać ma również niewielkimi pakietami danych.

Autor edytował komentarz w dniu: 01.05.2017 08:40
muska96   9 #14 01.05.2017 13:00

@cyryllo: To proste - dużo łatwiej zachęcić klienta nazwą, która kojarzy się z tak znanym produktem jak Raspberry Pi, niż czymś własnym.

W sumie to Onion ma tą przewagę nad takim ESP8266, że nie ma ograniczenia co do języków programowania - można pisać w czym się chce.

cyryllo   18 #15 01.05.2017 13:26

@muska96: tak tylko kolejny Pi się nudzi i portowanie bibliotek i tych samych narzędzi z różnym rezultatem. Ale rozumiem ich :P Mi sie osobiście podoba że mają inne narzędzia chociaż by do sterowania gpio.

@KyRol Python to python co innego biblioteki głównie do GPIO czy jakichś specyficznych urządzeń ;)

KyRol   19 #16 01.05.2017 21:15

@cyryllo: Ja wiem, że składnia w pythonie się nie zmienia, jakby się on nie nazywał, tyle, że twórcy odchudzonych projektów stosują odrębne nazewnictwo. Wiele kodu i projektów jest zależnych od bibliotek i właśnie tu zaczyna się wyzwanie, które trzeba podjąć i zasadniczo to miałem na myśli;)

Autor edytował komentarz w dniu: 01.05.2017 21:16
erkede1   2 #17 01.05.2017 21:39

3.5 V czy to wystarczy?.

cyryllo   18 #18 02.05.2017 01:49

@erkede1: w malinach 3.3V wystarcza to czemu i tu miało by nie wystarczyć?

  #19 30.05.2017 14:26

...cło to już chyba w naszym pięknym kontynencie dodają :-P.