Blog (83)
Komentarze (2k)
Recenzje (1)

Onion Omega2 — płytka dla IoT

@cyrylloOnion Omega2 — płytka dla IoT30.04.2017 03:35

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.
[1/2] Breadboard Dock
[2/2] Expansion Dock

[join][img=ed2][join][img=mini][join][img=arduino]

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$).

[1/2] Onion Servo (PWM)
[2/2] Onion Ethernet

[join][img=przekazniki][join][img=oled][join][img=proto][join][img=gps]

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.

Taka tam kanapka
Taka tam kanapka

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

[code=C] 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> [/code]

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
[1/2]
[2/2]

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ąć).

[1/2]
[2/2]

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.

[1/2]
[2/2]

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ą.

[1/2]
[2/2]

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.

Cebulowy torrent !
Cebulowy torrent !

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ć repozytoria

opkg update

i instalować co potrzebujemy. Listę dostępnych pakietów możemy sprawdzić za pomocą polecenia

opkg list

Pliki 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.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.