Husarion CORE2 – polski kontroler IoT z ogromnym potencjałem

Husarion CORE2 – polski kontroler IoT z ogromnym potencjałem06.08.2017 22:49

Konstruując robota, nie trzeba korzystać tylko z importowanych rozwiązań. W Krakowie powstał kontroler, który daje bardzo szerokie możliwości, a przy tym nie wymaga ogromnego nakładu pracy – CORE2 firmy Husarion – kontroler IoT z ogromnym potencjałem. Nie jest to urządzenie polecane na początek przygody z robotyką, ale mimo wszystko okazało się bardzo przyjazne. Przede wszystkim pozwala skupić się na budowaniu robota, a nie na nauce nowego języka czy przeszukiwaniu dokumentacji.

W pudełku znajdziemy tylko kontroler, bez żadnych dodatków. Warto zwrócić uwagę na to, że wszystkie piny i gniazda zostały opisane, co bardzo ułatwia montaż wszelkich peryferiów. Doświadczony konstruktor bez zastanowienia połączy swoją maszynę. Trzeba też zaznaczyć, że to nie jest konkurent Raspberry Pi czy Arduino – najbliżej mu do BeagleBone Blue.

Specyfikacja CORE2 wymienia 32-bitowy mikrokontroler STM32F4 z rdzeniem ARM Cortex-M4 168 MHz, 192 KB RAM-u i 1 MB pamięci flash na oprogramowanie. Więcej informacji można zapisywać na karcie microSD z pomocą funkcji API, operując na plikach jak w każdym innym programie. Testowany przez nas CORE2 ma moduł WiFi, ale można też połączyć kontroler bezpośrednio z Raspberry Pi i korzystać z jego peryferiów. Jest tu też host USB (5V, 1 A) i port szeregowy z FTDI (wtyczka micro USB), jest więc możliwość komunikacji z urządzeniami wysyłającymi sygnały RS232 i TTL. Mamy też 5 LED-ów, z których trzema można sterować samodzielnie, dwa przyciski wejściowe, przełącznik do konfiguracji, złącze diagnostyczne (interfejs SWD) i włącznik. Nie zabrakło „resetu”, ale nie przydawał się zbyt często.

Do dyspozycji mamy 6 portów sensorów z zasilaniem 5 V, masą i 4 pinami GPIO (uniwersalne wejście / wyjście), 6 portów dla serwomechanizmów z możliwością wyboru napięcia wyjściowego (5 V, 6 V, 7,4 V i 8,6 V) i 4 porty dla silników z enkoderem (z kwadraturą). Uniwersalne wyjście dla rozszerzeń daje możliwość przetwarzania analogowo-cyfrowego, SPI (komunikacja synchroniczna) i UART (komunikacja asynchroniczna). W sumie więc możemy bezpośrednio podłączyć sporo zewnętrznych urządzeń, wygodnie i szybko. Co ważne, CORE2 nie sprawiał żadnych problemów i zasilony odpowiednim zasilaczem pracował bez zarzutu.

[1/2]
[2/2]

Przy pierwszym uruchomieniu trzeba pod ręką mieć uniwersalny zasilacz (6-16 V), smartfon i dostępne WiFi (o ile oczywiście nie korzystamy z wariantu z Raspberry Pi). Proces ten przebiega z pomocą aplikacji na Androida – hConfig, widocznej poniżej.

[1/2]
[2/2]

Wskaże ona, jak włączyć CORE2 w trybie konfiguracji i poprowadzi za rękę przez pierwsze połączenie z domową siecią WiFi. Kolejnym krokiem jest rejestracja w chmurze cloud.husarion.com, gdzie można prowadzić swoje repozytorium projektów i sterować urządzeniami, oraz połączenie konkretnego kontrolera z kontem. Jest tu też możliwość aktualizacji oprogramowania i narzędzia pozwalające połączyć kamerę z interfejsem webowym przyszłej aplikacji. Dla bardziej rozbudowanej wersji CORE2-ROS dostępny jest również terminal SSH.

Nasz pierwszy projekt jest bardzo skromny – składa się z czujnika i jednego silnika, ale dobrze pokazuje, jak korzystać z autorskiego API kontrolera. Silnik zostanie włączony, gdy coś zbliży się na odpowiednią odległość. Za podanie sygnału odpowiada optyczny czujnik odbiciowy (QRD1114).

[1/2]
[2/2]

API zostało tak skonstruowane, by oznaczenia w kodzie zgadzały się z tymi na kontrolerze, a więc silnik będzie identyfikowany jako hMot1, czujnik zaś jako hSens1. Sygnał zostanie podany na pin hSens1.pin1. Warto zwrócić uwagę, że pin1 to pin GPIO z możliwością przetwarzania sygnału analogowego na cyfrowy, co można oczywiście wyłączyć w programie.

W projekcie wykorzystany został silnik z enkoderem. Jego obroty zależeć będą od napięcia podanego przez czujnik. Enkoder będzie obracał silnikiem o 300 kroków przez cały czas, gdy coś znajduje się blisko czujnika, a po oddaleniu się wróci do pozycji wyjściowej, ale nieco wolniej. Za obrót względny odpowiada funkcja hMot1.rotRel(), można też korzystać z pozycji bezwzględnych i hMot1.rotAbs() albo uruchamiać silnik z podaną mocą hMot1.setPower(). Jak widać, nazwy funkcji są bardzo intuicyjne, co znacznie ułatwia programowanie budowanego robota. Więcej przykładów znajdziecie na stronie z dokumentacją, ale już na pierwszy rzut oka widać, że trudno sobie z tym API nie poradzić. Dokumentacja jest dopiero budowana i może mieć braki, ale w takich przypadkach z pomocą przychodzi forum.

Kod programu można wprowadzić w przeglądarce albo korzystając z SDK do pobrania i ulubionego edytora (na przykład Visual Studio Code). Większość kodu projektu znajduje się GitHubie, razem z modelami płytek, by można było łatwo zaprojektować obudowy. Ponieważ program ma raptem 30 linii kodu, wystarczy, że wykorzystamy webowe IDE. Nie ma ono rozbudowanych funkcji, ale do takiego projektu spokojnie wystarczy. Przydałyby się jednak jakieś ułatwienia, jak szybki dostęp do przykładów czy działające przejścia do dokumentacji. Zapewne i tego się doczekamy. Jest tez możliwość wysyłania własnych plików do chmury.

Na początku można uruchomić także kilka przykładowych projektów, by przyjrzeć się działaniu CORE2 w praktyce i rozwiać wątpliwości. Wszystko jest bardzo czytelne, a firmware można skompilować i wysłać bezpośrednio do kontrolera jednym kliknięciem. Co ważne, CORE2 nie sprawiał żadnych problemów i zasilony odpowiednim zasilaczem pracował bez zarzutu przez cały czas testów, mimo że projekt jest wciąż jeszcze rozwijany.

Na potrzeby sterowania i debugowania można zaprojektować także prosty interfejs przeglądarkowy – wystarczy podstawowa znajomość HTML-a i CSS. Na stronie naszego projektu można zobaczyć czas pracy, napięcie podawane z czujnika i liczbę kroków, wykonanych przez silnik, co pozwala precyzyjnie określić jego pozycję i kontrolować, czy wszystko działa jak należy, jeśli nie ma możliwości obserwowania silnika.

Post udostępniony przez dobreprogramy (@dobreprogramy)

Jak widać powyżej, można też uruchomić tu transmisję wideo, jeśli mamy pod ręką wolny smartfon z Androidem albo kamerkę USB, podłączoną do Raspberry Pi lub Tinkerboarda. Transmisja jest prowadzona za pośrednictwem WebRTC, a dodawanie kamerki do robota odbywa się z także z poziomu chmury. Smartfon może być „oczami i uszami” robota, jeśli zainstalowana na nim zostanie aplikacja hVideo.
[1/2]
[2/2]

Ponadto na stronie można umieszczać przyciski do sterowania robotem albo korzystać z klawiszy, co świetnie demonstruje robot do teleprezencji. Mieliśmy okazję sprawdzić także ten projekt i mimo że łączył się przez LTE, działał prawidłowo, spełniał swoje zadanie i reagował na sterowanie z niezauważalnymi dla nas opóźnieniami. Wszystko jednak zależy od tego, jakie potrzeby ma spełniać aktualnie rozwijany projekt.

Sterowanie interaktywne przez przeglądarkę jest dobrą zabawą, ale ponieważ dane muszą przejść przez chmurę, lepiej wykorzystywać CORE2 do projektów automatycznych i półautomatycznych, by uniknąć ewentualnych opóźnień. Jako że działa na nim system czasu rzeczywistego, w takich zastosowaniach sprawdzi się najlepiej.

Chmurowe rozwiązanie jest bardzo wygodne, pozwala łatwo udostępniać własne programy innym, ale nie każdemu się spodoba potrzeba wysyłania programu przez serwery Husariona. Autorzy chcą skupić się na rozwijaniu swojego oprogramowania, ale myślą też o udostępnieniu oprogramowania chmury firmom, które chciałyby trzymać wszystkie dane we własnej infrastrukturze i operować w sieci lokalnej. Będzie to jednak opcja dostępna dla klientów o specyficznych wymaganiach i większym budżecie. Nasz kod musi przejść przez chmurę Husariona, pracującą na ich własnych dedykowanych serwerach. Warto jednak zauważyć, że platforma CORE2 jest otwarta i można opracować własne metody połączenia z Internetem.

Kontroler na pewno można uznać za udany. W typowo robotycznych zastosowaniach rzeczywiście sprawdzi się lepiej niż jednopłytkowe komputery. Autorzy CORE2 jako przykład podali robota mapującego przestrzeń w 3D. Ponadto CORE2 i chmura Husariona nie sprawiają żadnych problemów i mimo że oprogramowanie jeszcze jest poprawiane, działają stabilnie i niezawodnie.

Kilka słów o firmie Husarion

Husarion to młoda firma. Powstała 4 lata temu w Krakowie i realizuje wizję przystępnej robotyki. Praca z kontrolerem ma być możliwie przystępna i możemy to potwierdzić – pierwszy projekt ruszył kilka minut po wyjęciu kontrolera z pudełka, mimo że testerka na co dzień nie ma do czynienia z robotyką. Próg wejścia w to środowisko jest na tyle niski, że osoba mająca niewielkie nawet doświadczenie w programowaniu poradzi sobie bez problemu. CORE2 jest kierowany między innymi do takich osób, które już programowały, ale dla odmiany chcą stworzyć coś „namacalnego”.

Przykładowy projekt – zdalnie sterowany robot telekonferencyjny
Przykładowy projekt – zdalnie sterowany robot telekonferencyjny

Można się zastanawiać, dlaczego autorzy zdecydowali się na projektowanie specjalistycznego kontrolera, a nie produkcję uniwersalnego jednopłytkowca. Uznali, że na tym polu będzie im łatwiej konkurować i zdobyć pierwszych użytkowników. Rynek uniwersalnych jednopłytkowców ma wielu starych i cenionych graczy, trudno na nim zacząć i trudno się utrzymać. Poza tym trzeba też zaznaczyć, że Husarion celuje konkretnie w kontrolery z systemem czasu rzeczywistego, czego jednopłytkowce tak łatwo nie zapewniają. Nie można jednak wykluczyć, że i taki projekt powstanie w Krakowie, jeśli pozwolą na to okoliczności. Być może doczekamy się krakowskiego Raspberry Pi.

Produkty Husariona mają sprawdzać się w wyspecjalizowanych zadaniach, współpracując z Raspberry Pi lub pracując samodzielnie. Projektanci starają się zachować maksymalną kompatybilność z „malinką”, dzięki czemu ułatwiają sobie start, a klientom zapewniają wygodę. Kontrolery są produkowane w Krakowie, ale Husarion prowadzi też negocjacje z wykonawcą z Poznania. Komponenty są oczywiście importowane, ale projektowanie i montaż odbywają się w całości w Polsce, więc odważymy się powiedzieć, że to polski kontroler.

[1/2]
[2/2]

CORE2 nie jest ostatnim produktem Husariona. Właśnie zakończyła się zbiórka na CrowdSupply, oczywiście sukcesem, a kolejnym krokiem będzie produkcja nieco mniejszej wersji – CORE2mini. Partia pilotażowa jest już testowana, ale dowiemy się o niej więcej po sfinalizowaniu akcji związanej z CORE2. Z CORE2 powstały już różne projekty studenckie w Krakowie, a także kilka prywatnych robotów, które można obejrzeć między innymi na Hacksterze. Na razie jest ich niewiele, ale po ostatniej akcji kontrolery CORE2 powinny nabrać rozpędu.

Plusy
  • Łatwa wstępna konfiguracja
  • Uniwersalne wejścia i wyjścia
  • Wygodna praca z chmurą
  • Otwartość platformy
  • Przystępna dokumentacja
Minusy
  • Potrzeba łączenia się z chmurą
  • Ubogie IDE webowe
Źródło artykułu:www.dobreprogramy.pl
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.