Dlaczego komputery jednopłytkowe (SBC) i zestawy programistyczne mają zasadnicze znaczenie dla upowszechniania IoT

Platformy programistyczne — obejmujące zarówno zestawy do programowania, jak i komputery jednopłytkowe (SBC) — rozwinęły się znacząco w ostatnich latach, stając się motorem napędowym dla projektowania i opracowywania zintegrowanych rozwiązań, które będą stanowić szkielet Internetu rzeczy (IoT).

Platformy programistyczne są ważne, ponieważ stały się kluczową częścią procesu projektowania na wczesnym etapie. Umożliwiają inżynierom szybkie i efektywne kosztowo testowanie swoich projektów, a także służą weryfikacji koncepcji. W pełni przetestowane zestawy, które są łatwo dostępne i gotowe do użycia, eliminują ograniczenia dla inżynierów w zakresie używania zestawów programistycznych i komputerów SBC do testowania pomysłów — teraz mogą je bezpośrednio integrować w swoich projektach.

Innym powodem, dla którego te platformy programistyczne odgrywają tak ważną rolę w tworzeniu systemów i rozwiązań IoT jest fakt, że stały się one przystępne cenowo, kompaktowe i dosłownie wypełnione mocą, wydajnością i zintegrowanymi funkcjami łączności, a to kluczowe wymagania dla każdego urządzenia, które ma być zgodne z IoT.

Redukcja wielkości i rozmiarów, w połączeniu z możliwością upakowania tak dużej mocy w małym pakiecie, sprawiła, że platformy programistyczne są gotowe do produkcji. Oznacza to, że inżynierowie mają teraz możliwość projektowania bram IoT w sposób znacznie łatwiejszy niż kiedykolwiek wcześniej, w bardzo krótkich okresach wymaganych od tej rozwijającej się technologii.

Inżynierowie mogą wykorzystywać nie tylko najnowsze zestawy programistyczne jako projekty referencyjne do rozwijania swoich projektów, ale także sami mogą wykorzystywać płytki do produkcji małych ilości. Ta możliwość dostępu do szybkiego budowania prototypów typu plug-and-play okazała się skutecznym narzędziem umożliwiającym projektantom skrócenie czasu wprowadzania na rynek nowych produktów związanych z IoT.

Poznaj Internet rzeczy

Zanim przejdziemy dalej, warto przyjrzeć się krótko temu, co kryje się pod pojęciem „Internet rzeczy” (IoT) — przepraszamy tych odbiorców, dla których Internet rzeczy jest już drugą naturą. Zasadniczo IoT jest środkiem łączenia przez Internet praktycznie każdego obiektu fizycznego (na przykład czujników lub innych modułów), który zawiera wbudowaną technologię umożliwiającą im wykrywanie i nawiązywanie łączności.

Skąd wzięła się ta koncepcja ekosystemu IoT? Mówiąc krótko, jest to przejaw ewolucji Internetu, systemów mikroelektromechanicznych i technologii bezprzewodowych. Mówi się, że do 2020 r. około 50 urządzeń w przeciętnym gospodarstwie domowym będzie połączonych za pośrednictwem IoT, tworząc interaktywną, inteligentną sieć domową. Wiele urządzeń, takich jak telewizory i systemy grzewcze, jest już połączonych, co umożliwia ich zdalną obsługę i zdalne sterowanie ich pracą. Jednocześnie prognozuje się, że w ciągu zaledwie trzech lat na całym świecie będzie połączonych od 25 do 100 miliardów urządzeń.

Efekt możliwości połączenia niezwykle szerokiego wachlarza różnorodnych urządzeń i obiektów z poszczególnymi systemami operacyjnymi i oprogramowaniem zależeć będzie w dużej mierze od chmurowych platform komunikacyjnych, sprzętu open source i łatwych w użyciu narzędzi programistycznych. W przypadku rozwiązania IoT sterującego i zarządzającego ogromną liczbą ważnych urządzeń składniki oraz węzły elektroniczne i elektromechaniczne, które współdziałają przez bramę i komunikują się z chmurą lub systemem głównym, muszą spełniać dwa kryteria: niezawodności i ekonomiczności.

Zestawy programistyczne

Ustaliliśmy, że dla zaawansowanych projektów IoT zestawy programistyczne i komputery jednopłytkowe są najbardziej efektywnymi narzędziami projektowania i opracowywania wymaganych rozwiązań.

Oczywiste jest, że im łatwiejsze są te zestawy w użyciu, tym lepiej, ponieważ IoT ma oczywisty potencjał bycia niezwykle skomplikowanym i trudnym celem w projektowaniu. Osadzone oprogramowanie, łączność bezprzewodowa, platformy chmurowe, szybka i dokładna analiza danych... proces opracowywania rozwiązań, które mogą współpracować i współdziałać w tym wieloaspektowym i szybko zmieniającym się środowisku w czasie rzeczywistym, musi zostać maksymalnie uproszczony.

Zestaw programistyczny przeszedł długą drogę od czasu, kiedy był platformą umożliwiającą testowanie funkcjonalności mikrokontrolerów, co 10 lat temu było celem głównym. Obecnie wiele takich zestawów projektuje się z myślą o niskich kosztach oraz dostosowaniu do potrzeb zastosowań i są one przyjaznymi dla użytkownika, a jednocześnie wydajnymi, narzędziami projektowymi dla projektantów pracujących nad rozwiązaniami IoT. Z drugiej strony komputery SBC są obecnie dostępne w bardzo małych rozmiarach, z dużą funkcjonalnością i możliwościami łączności w przystępnej cenie, co czyni je gotowymi do produkcji rozwiązaniami i pomaga użytkownikom szybciej wejść na rynek.

Dzięki zwiększonej przystępności cenowej i dostępności zapotrzebowanie na rozwiązania programistyczne związane z IoT, z których mogłaby korzystać jak największa liczba projektantów, pozwoliło zrezygnować z kart programistycznych nastawionych na konkretne zastosowania, kosztownych i projektowanych w celu pokazania wszystkich możliwości danego układu scalonego lub urządzenia — w szczególności mikrokontrolerów (MCU), mikroprocesorów (MPU), cyfrowych procesorów sygnałowych (DSP) i bezpośrednio programowalnych macierzy bramek (FPGA).

Ilustracja 1. Anatomia typowej płytki

Ilustracja 1. Anatomia typowej płytki

Niezależni twórcy komputerów jednopłytkowych upraszczają budowanie prototypów IoT

Obecnie na rynku dostępnych jest wiele komputerów SBC, które nadają się do budowania prototypów IoT, a ich różnorodność jest oszałamiająca. Wzrost liczby płytek i spadek ich cen był napędzany przez niezależnych, zorientowanych na ceny producentów i przez start-upy, a skutkiem było obniżenie kosztów przy jednoczesnym zwiększeniu funkcjonalności i mocy. Można z pewnością stwierdzić, że ten rozwijający się sektor przeniósł rynek na zupełnie nowy poziom, otwierając świat IoT. Duża część tego rynku była napędzana przez wprowadzenie na rynek niezwykle przystępnego cenowo i popularnego na całym świecie komputera SBC Raspberry Pi, który akceptuje typowe akcesoria podłączane do komputera, takie jak mysz, monitor i klawiatura.

Podczas gdy komputer Raspberry Pi — który działa pod kontrolą zindywidualizowanego systemu Debian Linux o nazwie Raspbian, zapewniając użytkownikom doskonałe wrażenia — zapoczątkował ewolucję komputerów SBC w kierunku wysoce wydajnych i efektywnych kosztowo rozwiązań nadających się do wykorzystania w szerokiej gamie zastosowań ogólnego przeznaczenia, rynek wkrótce stał się bardziej zatłoczony szeregiem innych komputerów SBC.

Jednym z nich jest w pełni otwarta płytka programistyczna BeagleBone, która łączy w sobie wysoką wydajność z niskim zapotrzebowaniem na energię i przystępną ceną. Płytka BeagleBone, która ma oddawać funkcje systemów Android, Ubuntu i innych wariantów systemu Linux w ręce projektantów, umożliwia programistom szybkie przejście do fazy produkcji bez zbędnego zamieszania i niepotrzebnych wydatków. Jak stwierdza producent płytki: „Beagles to małe otwarte komputery bazujące na otwartym oprogramowaniu, które łączą się z wszystkimi urządzeniami w domu”.

Kolejnym popularnym komputerem SBC jest platforma programistyczna WaRP7, która została zaprojektowana w celu zapewnienia elastyczności i szybkiego opracowywania rozwiązań dla rynku IoT i urządzeń elektronicznych „do noszenia”. Ta platforma SBC, będąca jedną z najmniejszych i najbardziej bogatych w funkcje platform dostępnych do zastosowań IoT „do noszenia”, ma zaletę polegającą na gotowości do produkcji. WaRP7 ma upraszczać projektowanie inżynierom projektantom poprzez zapewnienie łączności, długiego czasu pracy na baterii i odpowiedniego rozmiaru. Pakiet projektów i oprogramowania typu open source umożliwia programistom wprowadzanie innowacji bez ograniczeń licencyjnych, skracając czas wprowadzania produktów na rynek i umożliwiając projektowanie produktów, które wyróżniają się na coraz bardziej złożonym i konkurencyjnym rynku IoT.

Poza komputerami jednopłytkowymi do wyboru dostępne są obecnie płytki oparte na mikrokontrolerach, płytki typu system-on-chip oraz płytki zaprojektowane i zbudowane specjalnie do określonego celu. Wszystkie płytki programistyczne oferują szereg opcji łączności bezprzewodowej — Wi-Fi, Bluetooth, ZigBee i LoRa, które tworzą sieci rozległe o małej mocy (LPWAN) do zastosowań IoT, maszyna-maszyna, inteligentnego miasta i przemysłowych. Oczywiście płytki umożliwiają również łączność poprzez przewodową sieć Ethernet.

Zestawy programistyczne przeznaczone dla IoT

Inne platformy programistyczne dostępne na rynku to m.in. płytki programistyczne różnych producentów, które zapewniają funkcjonalność komunikacyjną wymaganą dla zastosowań IoT.

Należą do nich m.in. projekty referencyjne Wi-Fi Texas Instruments CC3100 i CC3200 LaunchPad z procesorami Wi-Fi SimpleLink. Te elementy zestawów przeznaczone są do zastosowań przemysłowych maszyna-maszyna, inteligentnych zastosowań energetycznych, automatyki domowej, systemów bezpieczeństwa i zabezpieczeń oraz urządzeń multimedialnych.

Urządzenie CC3100, zaprojektowane z myślą o „radykalnym uproszczeniu implementacji łączności z Internetem”, jest wyposażone w procesor sieci Wi-Fi i podsystemy zarządzania mocą z interfejsem Wi-Fi „Internet-on-a-chip”. Urządzenie integruje wszystkie protokoły dla sieci Wi-Fi i Internetu, co znacznie zmniejsza wymogi mikrokontrolera hosta w zakresie oprogramowania.

Urządzenie CC3200 jest wyposażone w bezprzewodowy mikrokontroler, który zawiera wydajny rdzeń ARM Cortex-M4 pracujący z częstotliwością 80 MHz, dzięki czemu klienci mogą opracować całą aplikację w jednym układzie scalonym (IC). Dzięki wbudowanej w układ scalony łączności Wi-Fi i internetowej oraz solidnym protokołom zabezpieczającym urządzenie umożliwia szybsze opracowywanie rozwiązań bez potrzeby korzystania z sieci Wi-Fi.

Płytki LaunchPad zostały również zaprojektowane tak, aby były bardzo małe. Dzięki temu jest bardziej prawdopodobne, że będą spełniać wymagania mechaniczne zastosowań IoT, w których przestrzeń jest szczególnie ważna.

Dostępne są również procesory serii NXP i.MX 6 do zastosowań ogólnych, takich jak motoryzacyjne, konsumenckie i przemysłowe. Ta wielordzeniowa platforma obejmuje rodziny jedno-, dwu- i czterordzeniowe oparte na architekturze ARM Cortex, w tym Cortex-A9 i połączone rozwiązania Cortex-A9 + Cortex-M4 i Cortex-A7.

Podobnie seria i.MX 7 to zintegrowany procesor oferujący rozwiązania o niskim poborze mocy do rozmaitych bezpiecznych zastosowań IoT „do noszenia” i przenośnych. Jest to również platforma wielordzeniowa z rdzeniami ARM Cortex-A7 i ARM Cortex-M4. Warto jeszcze raz wspomnieć o platformie WaRP7, która jest jednym z najmniejszych systemów programistycznych z płytką CPU o wymiarach około 2 cm × 4 cm.

Inne dostępne na rynku rozwiązania IoT to m.in. płytki programistyczne PIC32 firmy Microchip, które są wyposażone w różne wbudowane urządzenia peryferyjne służące do opracowywania urządzeń z wysoko wydajnymi mikrokontrolerami PIC32. Płytka programistyczna PIC32MZ EF „Curiosity” została zaprojektowana z myślą o uproszczeniu łączenia produktów z chmurą, szczególnie podczas opracowywania aplikacji IoT Amazon Web Services (AWS) z wykorzystaniem systemu Amazon FreeRTOS. Płytka ta jest zintegrowaną 32-bitową platformą programistyczną, która zawiera również dwa gniazda rozszerzeń mikroBUS ułatwiające projektantom dodawanie kolejnych funkcji.

Zestaw programistyczny STMicroelectronics Nucleo IoT z węzłem Wi-Fi umożliwia użytkownikom przesyłanie danych z czujników przez sieć Wi-Fi do chmury i odbieranie poleceń z aplikacji chmurowych. Zestaw programistyczny zawiera płytkę programistyczną Nucleo-64 z mikrokontrolerem Cortex-M4F, płytkę rozszerzeń Wi-Fi, moduł ruchu MEMS i płytkę rozszerzeń dla czujników środowiskowych oraz dynamiczną płytkę rozszerzeń do obsługi etykiet NFC. Osadzone oprogramowanie zawiera pakiet funkcjonalny STM32 ODE dla węzła IoT z funkcjami Wi-Fi, NFC i czujnikami, który łączy się z chmurą Microsoft Azure IoT Cloud. Istnieje również pakiet funkcjonalny STM32 ODE dla węzła IoT z funkcjami Wi-Fi, NFC i czujnikami do analizy drgań podłączony do chmury IBM Watson IoT Cloud.

Firma STMicroelectronics produkuje też płytki i zestawy programistyczne STM32 „Discovery”, które stanowią niedrogie rozwiązanie do oceny możliwości mikrokontrolerów STM32. Zestawy te, oferujące możliwość elastycznego opracowywania węzłów IoT, obsługują łączność Wi-Fi oraz wiele standardów bezprzewodowych o niskim zapotrzebowaniu na energię i zawierają czujniki ruchu, gestów i środowiskowe, które nie są dostępne w innych zestawach. Zestawy z wbudowanym debugerem/programatorem zawierają również złącza rozszerzeń, które zapewniają dostęp do większości wejść i wyjść urządzenia, umożliwiając podłączanie dodatkowego sprzętu.

Podsumowanie

Obserwowana ostatnio dostępność platform programistycznych wysoce przystępnych cenowo, w wygodnych rozmiarach i zapewniających niezwykłą wydajność oraz funkcjonalność umożliwiła inżynierom projektantom tworzenie i opracowywanie bram IoT szybciej i taniej niż dotychczas.

Te zestawy programistyczne, w tym komputery jednopłytkowe, odegrają kluczową rolę w umożliwieniu szybkiego i skutecznego wdrażania rozwiązań IoT, które staną się rzeczywistością obiecywaną przez twórców i programistów od dziesięcioleci.

Komunikacja i łączność mobilna stanowią obecnie kluczowy element życia większości ludzi, którzy w szerokim zakresie już wykorzystują takie technologie jak Wi-Fi, Bluetooth, 4G, NFC czy GPS. Obecnie działa również wiele sieci osobistych, miejskich i rozległych (WAN), a magazyny chmurowe są wykorzystywane na całym świecie. Rozwój ten położył podwaliny pod Internet rzeczy, ale to właśnie nadejście tanich komputerów SBC i płytek programistycznych przyspieszy wdrożenie rozwiązań IoT i przekształci je w coś, co — podobnie jak smartfony i Internet — będzie oczywistością dla następnego pokolenia, które będzie się dziwić, jak świat mógł się kręcić bez tego.

Dzięki tym platformom programistycznym Internet rzeczy stanie się istotną częścią życia każdego człowieka znacznie wcześniej, niż jego wynalazcy byliby w stanie kiedykolwiek sobie wyobrazić.

Dlaczego komputery jednopłytkowe (SBC) i zestawy programistyczne mają zasadnicze znaczenie dla upowszechniania IoT. Data publikacji: 15 stycznia 2018 r., Farnell