Interfejs użytkownika w aplikacjach IoT

| Technika

Słowo klucz do współczesnego świata elektroniki to Internet of Things, który w dużym uproszczeniu opiera się na tym, aby za pomocą inteligentnych sensorów zbierać, przetwarzać i analizować rozproszone dane na temat wielkości fizycznych w naszym otoczeniu. Można powiedzieć, że IoT to nowe wersje aplikacji M2M, od których odróżniają się one miniaturowymi wymiarami, stosunkowo niską mocą obliczeniową wbudowanego mikrokontrolera oraz oczywiście bardzo małym poborem mocy.

Interfejs użytkownika w aplikacjach IoT

Większość aplikacji IoT jest dzisiaj sterowana za pomocą aplikacji na smartfonie lub tablecie, niemniej w niedalekiej przyszłości bardziej perspektywiczne stają się nowoczesne technologie interfejsów użytkownika, dające nową jakość obsługi i sterowania urządzeniami.

Rozpoznawanie mowy, sterowanie gestami, mimiką twarzy, wykrywanie ruchomych obiektów to obszary, które wymagają po stronie aplikacji znacznej mocy obliczeniowej do obsługi złożonych, a więc też pamięciożernych algorytmów. Dlatego w aplikacjach M2M, sprzęcie przemysłowym i popularnych urządzeniach mobilnych na razie takich rozwiązań nie ma.

A te, które są, opierają się na dostępności komunikacji bezprzewodowej i działają w taki sposób, że aplikacja jedynie odczytuje informacje (np. zapisuje polecenie dźwiękowe) i nie przetwarza go sama, tylko wysyła do silnego komputera zdalnego, a po krótkiej chwili odbiera przetworzone, gotowe dane.

Tak działa Siri Apple, wyszukiwanie głosowe Google i Microsoft Kinect, które za pomocą techniki odsyłania do hosta złożonych obliczeniowo zadań (off-loading) przerzucają nagrany glos lub zapisany ruch obiektu przez Internet do zespołu komputerów działających w chmurze (Computational Cloud), aby po kilkunastu milisekundach otrzymać gotowe wyniki.

W ten sposób można wydajnie kontrolować działanie aplikacji IoT, niemniej nietrudno dostrzec wady tych metod. Konieczne jest szybkie połączenie internetowe oraz dobre warunki akwizycji sygnałów (cisza, równomierne oświetlenie). Gdy warunki nie są idealne, pojawiają się błędy lub opóźnienia w dostarczaniu wyników.

Efekt jest taki, że aplikacje IoT muszą być kontrolowane z aplikacji przez połączenie bezprzewodowe, gdy zależy nam na pewności lub poprzez nowoczesny system interfejsu, gdy da się zapewnić dobre warunki otoczenia. Nie tylko chodzi o hałas, który powoduje błędy, ale też o to, że przypadkowy dźwięk, na przykład pojawiający się w reklamie we włączonym odbiorniku TV może wyzwolić działanie aplikacji sterowanej głosem.

Platforma SmartEverything

Arrow Electronics wprowadza na rynek rodzinę produktów Smart-Everything. Są to gotowe do użycia platformy sprzętowe wraz z oprogramowaniem. Płytki te są zgodne z Arduino, bogato wyposażone w interfejsy, czujniki, a także komunikację bezprzewodową Bluetooth Low Energy, NFC a nawet Sigfox. Są one przeznaczone do prototypowania i wspomagania projektowania aplikacji w obszarze IoT. Centralnym elementem płytki jest mikrokontroler Atmel SAM D21 z rdzeniem ARM Cortex-M0+ i taktowany zegarem 48 MHz.

Zapewnia on bardzo niski pobór prądu przy dużej wydajności - poniżej 70 μA/MHz, a także ma wiele niezbędnych układów peryferyjnych jak chociażby I²C taktowany zegarem 3,4 MHz, USB 2.0, 12-bitowy ADC i 10-bitowy DAC, a nawet kontroler DMA. Jednostka ta wyposażona została w pamięć 32 KB SRAM i 256 KB Flash. Działanie mikrokontrolera wspomaga dodatkowa jednostka szyfrująca dane Atmel ATSHA204A z pamięcią EEPROM do przechowywania klucza i generatorem liczb pseudolosowych, co ma duże znaczenie dla zapewniania bezpieczeństwa i prywatności działania aplikacji IoT.

Ale większe emocje konstruktora wzbudzą smoduł komunikacyjny Telit LE51-868 S dla sieci LPWAN Sigfox, jednostka GPS ze zintegrowaną anteną (Telit Jupiter SE868-A) i oczywiście czujniki: zbliżeniowy (ST VL6180X), wilgotności i temperatury (ST HTS221), ciśnienia (ST LPS25H) i akcelerometr (ST LSM9DS1). Są też układy realizujące komunikację bezprzewodową za pomocą NFC (NXP NT3H1101FHK) i BLE (TDK SESUB-PAN-T2541).

Jednostki te pozwalają połączyć platformę z telefonem komórkowym lub tabletem (łączność na niewielkim dystansie). Bogate zasoby sprzętowe można dodatkowo rozbudować za pomocą płytek nakładkowych zgodnych z Arduino Uno, Diecimila lub Duemilanove. Płyta zawiera przetwornicę pozwalającą na zasilanie całości pojedynczym napięciem 1,4-3,2 V lub 5-45 V oraz przez złącze microUSB, z baterii lub praktycznie dowolnego zasilacza sieciowego.

Do programowania można wykorzystać środowisko Arduino IDE, w wersji ze wsparciem dla SAMD i przy wykorzystaniu biblioteki SmartEverything pozwalającej na obsługę czujników i komunikacji. Dane pomiarowe z czujników mogą być przesyłane i przechowywane w chmurze.

Sterowanie głosem

Bezsprzecznie najbardziej perspektywicznie i naturalne jest sterowanie działaniem aplikacji IoT w języku naturalnym. Niemniej dobre rezultaty może zapewnić jedynie użycie specjalizowanych rozwiązań w formie chipu, bez konieczności uciekania się do technik off-loadingu zadań obliczeniowych. Dodatkowo mechanizmy eliminacji zakłóceń powinny bazować na wielomikrofonowych rozwiązaniach z kierowaną wiązką akustyczną. To dlatego, że utrzymanie szybkiego połączenia internetowego nie tylko kłóci się z zapewnieniem wydajności energetycznej, ale także przy dużej liczbie aplikacji staje się nieekonomiczne.

Innymi słowy, przyszłością są aplikacje działające autonomicznie. Spore dokonania mają w tym obszarze firmy takie jak Conexant i Microsemi, które pracują nad systemami przetwarzania języka naturalnego. Technologia AudioSmart firmy Conexant bazuje na wielokanałowym systemie, w którym wykorzystywane są mikrofony o dużej dynamice. Z kolei AcuEdge firmy Microsemi ma zaawansowane techniki kierowania wiązki akustycznej, tłumienia echa i sygnałów niepożądanych i inne rozwiązania spotykane do niedawna wyłącznie w procesorach audio wysokiej klasy. Zdaniem firmy ma to zapewnić selektywność słuchania i niewrażliwość na inne źródła.

Pierwsze produkty pozwalające na sterowanie głosem, takie jak Amazon Echo, już są na rynku, niemniej nie wykorzystują jeszcze takich zaawansowanych technologii.

Sterowanie gestami

Nowe czujniki obrazu produkowane przez On Semi AP020x typu HDR (High Dynamic Range) są zdolne nie tylko zapisywać szybkie sekwencje obrazów, ale także są zdolne pracować w słabych warunkach oświetleniowych. Daje to możliwość analizy obiektów szybko poruszających się, gestów i mimiki twarzy przy niekorzystnych warunkach oświetleniowych, a więc bez straty informacji o szczegółach. Są one kierowanie nie tylko do aplikacji IoT, ale także do systemów wizyjnych, dronów i sprzętu security.

Na koniec warto zwrócić uwagę na rozwiązania radarowe, które również próbuje się wykorzystać do rozpoznawania gestów. Przykładem może być projekt Soli realizowany przez Google razem z Infineonem. Pozwala on stworzyć interfejs użytkownika rozpoznający położenie dłoni i palców oraz udostępniający wirtualne przyciski, pokrętła, suwaki itp. elementy znane doskonale z tradycyjnych urządzeń.

Arrow Electronics
www.arrow.com