Nowy system deweloperski IoT dla automatyki i robotyki

Nowy system deweloperski IoT dla automatyki i robotyki
Pobierz PDF Download icon
Coraz większą popularność zdobywa łączenie otaczających nas przedmiotów z Internetem. Ten nowy nurt polega w skrócie na rozszerzaniu funkcjonalności istniejących urządzeń lub tworzeniu rzeczy, o których nikt wcześniej nie myślał. Aby ułatwić włączanie nowych urządzeń do Internetu Rzeczy (IoT), na rynku pojawia się wiele zestawów startowych z modułami do komunikacji bezprzewodowej. W szerokiej gamie dostępnych zestawów rozwojowych wyróżnia się Husarion CORE2 ? kontroler przeznaczony do urządzeń mechatronicznych połączonych z Internetem.

Czym się wyróżnia? Na to pytanie warto odpowiedzieć, mówiąc osobno o sprzęcie, a osobno o oprogramowaniu.

Kontroler CORE2

CORE2 to nazwa zestawu rozwojowego, opartego o 32-bitowy mikrokontroler z rodziny STM32F4. Zarówno podstawowe parametry użytego STM-a (zegar 168 MHz, 1 MB Flash, 196 kB RAM), jak i zestaw zintegrowanych peryferii sprawiają, że jest on jedną z najlepszych propozycji na rynku dla urządzeń z zakresu automatyki i robotyki. Atuty mikrokontrolera zostały świetnie wykorzystane w CORE2. Jego zewnętrzne interfejsy dobrane są w ten sposób, aby łatwo można było integrować go z urządzeniami mechatronicznymi. Są to przede wszystkim porty dla czujników oraz silników – elementów kluczowych w robotach (autonomicznych lub półautonomicznych) czy w urządzeniach automatyki.

Jakie interfejsy mamy do dyspozycji? Wymieniono je w tabeli 1.

Porty dla silników wyróżniają się możliwością wykorzystania enkoderów kwadraturowych, w które jest wyposażonych coraz więcej silników DC dostępnych na rynku. Sygnały z enkoderów dekodowane są bezpośrednio w timerach mikrokontrolera, co oznacza, że do ich obsługi nie potrzeba ani przerwań, ani mocy obliczeniowej procesora. Dostajemy po prostu na bieżąco informację o kącie obrotu każdego silnika. Dla tych, którym wystarczają serwomechanizmy modelarskie, przewidziano możliwość podłączenia 6 serw. Aby „nie robić zamieszania” na głównej linii zasilania 5 V, do zasilania serwomechanizmów służy odrębna przetwornica typu step-down. Prąd maksymalny pobierany przez serwa może osiągać 3 A, a napięcie zasilania kontrolowane jest programowo.

Na zakończenie opisu sprzętu parę drobiazgów. Płytka Husarion CORE2 ma wymiary 85 mm×94 mm×14 mm, waży 67 g. Można go zasilać napięciem z przedziału 6…16 V oraz ma wbudowane zabezpieczenia: nadprądowe, nadnapięciowe i przed odwrotnym podłączeniem zasilania.

Sam zdecyduj jak łączyć z Internetem

Sterownik CORE2 nie ma wbudowanego modułu komunikacji bezprzewodowej, ale do zestawu producent dołącza moduł Wi-Fi wraz z przejściówką, która umożliwia podłączenie modułu do CORE2. Dlaczego moduł Wi-Fi nie jest po prostu wlutowany w PCB? Ponieważ ten jeden, dedykowany moduł to niejedyna opcja. Na płytce drukowanej sterownika znajdziemy złącze kompatybilne z Raspberry Pi w wersji 2.0, 3.0 lub Zero. Połączenie sił CORE2 oraz komputera jednopłytkowego pracującego z systemem Linux pozwala na wykorzystanie wielu atrakcyjnych w robotyce bibliotek, takich jak OpenCV czy ROS (Robot Operating System). Zestaw zawiera też złącza i elementy mocujące do montażu każdej wersji Raspberry. Zarówno dołączony moduł Wi-Fi, jak i Raspberry Pi czerpią zasilanie prosto z CORE2 poprzez wspomniane złącze.

Husarion Cloud

O ile sprzęt jest po prostu dobrze skomponowanym zestawem peryferii z mocnym mikrokontrolerem, o tyle na szczególną uwagę zasługuje oprogramowanie. Husarion proponuje bardzo wygodne podejście: wszystkie narzędzia, potrzebne do rozpoczęcia pracy, dostępne są online – z poziomu przeglądarki internetowej – w tzw. chmurze.

Dzięki temu możemy z jednego miejsca, bez instalacji dedykowanego środowiska programistycznego na komputerze, realizować następujące funkcje:

- Rozwijanie oprogramowania (firmware) dla urządzenia – służy do tego Web IDE, czyli środowisko, w którym edycja kodu odbywa się w przeglądarce internetowej. Web IDE oferuje oczywiste funkcje typu kolorowanie składni, podpowiadanie kodu czy zarządzanie plikami źródłowymi. Kompilacja również odbywa się na serwerze – gwarantuje to, że wszystkie biblioteki są zawsze aktualne. Oprogramowanie dla urządzenia tworzymy w języku C++.

- Wgrywanie nowego oprogramowania do kontrolera CORE2. To również można robić zdalnie i jest świetnym rozwiązaniem, gdy trzeba np. zdalnie przeprogramować większą liczbę podobnych urządzeń.

- Tworzenie interfejsu użytkownika dla urządzenia – do tego również służy Web IDE, ale tym razem zamiast w C++, piszemy w HTML (z wykorzystaniem CSS, JavaScript lub innych technologii internetowych). Kod odpowiadający za interfejs użytkownika danego urządzenia nie jest przechowywany w pamięci Flash mikrokontrolera, lecz na serwerze.

- Korzystanie z urządzenia z wykorzystaniem wyżej wymienionego interfejsu. Warto wspomnieć, że interfejs może wykorzystywać strumieniowanie obrazu i dźwięku w dwóch kierunkach oraz dodatkowe komendy sterujące czy strumieniowanie innych danych. Jest to ciekawa propozycja szczególnie w przypadku robotów pół autonomicznych lub tzw. robotów do teleobecności. Interfejs użytkownika może tworzyć lub zmieniać tylko właściciel urządzenia.

- Udostępnianie interfejsu urządzenia innym osobom. Możemy udostępniać cały interfejs innym użytkownikom Husarion Cloud lub dowolnej osobie, której prześlemy specjalnie wygenerowany link. W praktyce oznacza to, że nasz kolega będzie mógł sterować naszymi żaluzjami bądź robotem-szpiegiem z kamerą, ale np. bez możliwości zmiany oprogramowania.

Husarion Cloud to narzędzie wygodne dla firm, dzięki którym mogą one w łatwy sposób budować połączone z Internetem mechatroniczne urządzenia, bez potrzeby utrzymywania własnej infrastruktury. Klienci tych firm korzystają ze swoich urządzeń przez Internet z poziomu konta użytkownika na http://cloud.husarion.com. Tam też producenci mogą zamieszczać aktualizację firmware’u urządzeń połączonych z chmurą Husarion. Zatem odpada problem przyjeżdżania z usługą wymiany firmware'u do klienta. Husarion udostępnia również internetowe API do usług oferowanych przez chmurę i do samych urządzeń połączonych z chmurą.

Wydajne oprogramowanie

Całości ekosystemu Husarion dopełnia platforma programistyczna do rozwoju firmware'u dla samego CORE2. Kod źródłowy piszemy w języku C++11, który umożliwia m.in. korzystanie ze wszystkich peryferii w sposób obiektowy. Możemy też korzystać z wyrażeń lambda, dzięki którym w łatwy sposób możemy przekazywać tzw. handlery do funkcji albo definiować nowe zadania systemu operacyjnego. Nie mogłoby być inaczej – CORE2 wykorzystuje system operacyjny czasu rzeczywistego i jest to jedna z najważniejszych cech systemu, który przecież ma z założenia kontrolować niedeterministyczne procesy w świecie automatów i robotów (w tym autonomicznych). Zestaw bibliotek do kontrolera został napisany w taki sposób, aby jak najmniej wykorzystywać rdzeń mikrokontrolera do obsługi peryferii, czyli stosując kanały DMA, przerwania i timery w maksymalnym stopniu. Wszystko to jest ukryte za łatwym w użyciu API.

Czas potrzebny na rozpoczęcie własnego projektu jest bardzo krótki dzięki kompletnej dokumentacji i przykładom pokazującym, jak wykorzystać każdy z interfejsów. Z poziomu chmury dostępne są też szablony kodów źródłowych odpowiednie dla różnych wariantów wykorzystania – od klasycznego „Hello World”, który w świecie embedded jest znany bardziej jako „LED blink”, po np. kompletny kod źródłowy samobalansującego, dwukołowego robota do zdalnej obecności.

Podsumowanie

CORE2 to bardzo ciekawa propozycja dla osób i firm szukających solidnej platformy rozwojowej do tworzenia urządzeń, które naprawdę „żyją” w globalnej sieci, a jednocześnie wydajnej jednostki do kontrolowania urządzeń w czasie rzeczywistym. Nie jest to sprzęt „do wszystkiego”, ale dzięki skupieniu się na aplikacjach mechatronicznych mamy pewność, że spełni nasze oczekiwania w tym obszarze zastosowań – zarówno offline, jak i online.

Radosław Jarema

Artykuł ukazał się w
Elektronika Praktyczna
listopad 2016
DO POBRANIA
Pobierz PDF Download icon
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik styczeń 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio styczeń 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje styczeń 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna styczeń 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich styczeń 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów