3 marca 2019

Open Source jako napęd dla Internet of Things

W dziejach świata zazwyczaj pierwotne odkrycie, czy wynalazek pociąga za sobą falę kolejnych opartych na jego bazie. Jest to piękne zachowanie ewolucji postępu w przemyśle i zadziwia mnie za każdym razem. Kiedy dodamy do tego społeczność ludzi udostępniających swoje rozwiązania za darmo, mamy niesamowity wachlarz narzędzi do wyboru zależnie od potrzeb.



Empiryczne Prawo Moore'a, nazwane tak na cześć współzałożyciela Intela, Gordona Moore'a, jest pomysłem, że moc obliczeniowa komputerów podwoi się co dwa lata. Okazało się to ważne w wielu obszarach, od komponentów (zakres początkowy) po urządzenia.




W szczególności nieubłagany wzrost mocy chipów i uderzający spadek kosztów ostatecznie umożliwiły urządzeniom na całym świecie umieszczenie w nich jakiejś formy "inteligencji".
Przeszliśmy od komputerów mainframe na stacje robocze, klient-serwer, przetwarzanie w sieciach komputerowych, przetwarzanie w chmurze, a dziś kolejnym naturalnym krokiem jest Internet przedmiotów. Inteligentne urządzenia, aktywne urządzenia na całym świecie są połączone, generując ogromne ilości danych i reagując na środki lub polecenia od władz centralnych lub rozproszonych.


Firma Gartner przewiduje, że w 2020 r. zainstalowanych zostanie 26 miliardów urządzeń IoT, które wygenerują 300 miliardów dolarów przychodu dla producentów sprzętu, a ogólny wpływ na gospodarkę wyniesie 1,9 biliona USD.

To rozprzestrzenianie danych dzięki IoT może być zniechęcające, ale jego siłą jest to, że umożliwia on wszystkie nowe dziedziny aplikacji, w szczególności wokół dużych zbiorów danych. Organizacje bardzo chętnie sięgają po ten nowy rynek i jego możliwości, ale są nieco zdenerwowane tym pierwszym krokiem. Przy wchodzeniu na nowe pole działania bardzo często występuje powiązana krzywą uczenia się i bariera wejścia. Na szczęście dzięki Internet of Things nie jest to tak skomplikowane i kosztowne, jak się wydaje. 

Ewolucją sprzętu, która cicho wkradła się do nas, można zarządzać, wykorzystując inną ewolucję technologii o równie dużych rozmiarach: oprogramowanie Open Source.

Oprogramowanie Open Source istnieje już od kilkudziesięciu lat i jest definiowane przez cztery swobody, jakie oferuje użytkownikowi:

Swoboda uruchamiania programu, jak chcesz, w dowolnym celu (swoboda 0).
Swoboda badania tego, jak program działa i zmieniaj go tak, aby komputer działał tak, jak chcesz (wolność 1). Dostęp do kodu źródłowego jest warunkiem wstępnym.
Swoboda redystrybucji kopii, abyś mógł pomóc swojemu sąsiadowi (wolność 2).
Swoboda dystrybucji kopii zmodyfikowanych wersji innym (wolność 3). W ten sposób możesz dać całej społeczności szansę skorzystania z twoich zmian. Dostęp do kodu źródłowego jest warunkiem wstępnym.
Te cztery swobody są powodem, dla którego otwarte źródło jest również określane jako wolne oprogramowanie. Umożliwiając i zachęcając do dzielenia się kodem źródłowym, pozwala użytkownikowi być tak kreatywnym, jak chciał i tworzyć aplikacje, których budowanie w przeciwnym razie byłoby niemożliwe od zera. A ponieważ coraz więcej osób opracowuje i wykonuje nowe kreatywne aplikacje, inspiruje jeszcze więcej nowych pomysłów i projektów - dzięki oprogramowaniu open source wszystkie te nowe pomysły i sposoby na ulepszenie istniejących aplikacji można zrealizować znacznie szybciej niż kiedykolwiek wcześniej. A "szybki" jest kluczowy dla IoT.

IoT to świat DevOps i innych zwinnych metodologii programowania oprogramowania (i sprzętu). Im szybciej zespół może wymyślić pomysł na produkt, opracować go, sprzedać go po niskiej cenie, ale z dobrym marginesem i iteracyjnie go poprawić, tym lepiej. Teraz setki, a nawet tysiące programistów i zespołów tworzących nowe produkty IoT, każda zaangażowana grupa lub projekt zwiększa wykładniczo liczbę nowych urządzeń, nowe źródła danych, a co za tym idzie liczbę aplikacji do uruchomienia wszystkich to.

Bariera zerowego dostępu dzięki wykorzystaniu Open Source, z kilkoma zestawami narzędzi, bibliotekami i sprzętem Open Source, takimi jak Arduino i Raspberry Pi, jest podstawą do pojawiania się na małych urządzeniach rozproszonych na całym świecie, od bezpieczeństwa w domu po zarządzanie energią systemy, od telematyki samochodowej po monitory zdrowia. 
Ponieważ oprogramowanie typu Open Source pomaga obniżyć koszty samego urządzenia, firmy mogą teraz eksperymentować i łączyć ze sobą rozwiązania, które w przeciwnym razie zostałyby zignorowane, ponieważ wymagałyby wcześniejszego zakupu drogich licencji na narzędzia programistyczne i środowiska, konkretne biblioteki i komponenty oprogramowania. 

Open Source to bardzo skuteczny sposób na poruszanie się po fali IoT z dużą prędkością, przy jednoczesnym zachowaniu ryzyka i kosztów, aby to zrobić pod kontrolą.
Dzięki Open Source możemy gromadzić dane z tysięcy czujników i urządzeń rozproszonych po całej planecie, co umożliwia kreatywność i innowacje na nowe sposoby. Te dane sprawiają, że IoT jest niezwykle ekscytujące i obiecujące dla organizacji i indywidualnych programistów. 
Ten trend może być wykorzystany do opracowania wewnętrznych narzędzi, komponentów istniejących większych systemów (takich jak czujniki pomiarowe dla większych maszyn) lub samodzielnych produktów (pomyśl o czujnikach automatyki domowej lub czujnikach środowiskowych). W rzeczywistości ankieta przeprowadzona przez ARM pokazuje, że blisko 75% organizacji korzysta już z internetu przedmiotów w ten czy inny sposób lub obecnie poszukuje sposobów, aby to zrobić.




Bill Joy, współzałożyciel Sun Microsystems, powiedział kiedyś, że
"innowacja dzieje się gdzie indziej"

To zdanie implikuje albo pozyskiwanie pomysłów z innych miejsc (przejęcia, zatrudnianie zewnętrznych talentów lub przeprowadzanie warsztatów z otwartymi innowacjami) lub dzielenie się pomysłami ze społecznością osób o podobnych zainteresowaniach.

Z tych wszystkich przemyśleń powstała w mojej głowie inicjatywa stworzenia meetupu, którego inaugurację dzięki zaangażowaniu znajomych udało się zrealizować. Tutaj znajdziecie szczegóły:

Internet of Things, Hardware & Robotics - Poznań




Open source to zdecydowanie najlepszy sposób na rozwijanie się w takim trybie współdzielonym, poprzez hosting twojego kodu w publicznie dostępnym repozytorium, w którym nie tylko jedna jednostka pisze kod, ale każdy może połączyć się z repozytorium, sprawdzić części kodu i wnieść wkład/modyfikacje lub dodatki do bazowego kodu. W ten sposób nie ma ograniczeń co do tego, skąd pochodzi innowacja lub jak szybko jest ona napędzana przez bardzo zmotywowanych współpracowników.


Otwarte źródło to także fantastyczne narzędzie do pokonywania przepaści cyfrowej. Bardzo łatwo jest rozpocząć tworzenie aplikacji z systemami IoT, takimi jak Arduino lub Raspberry Pi, które są w pełni oparte na otwartym źródle. Łatwo jest po prostu kupić sprzęt lub, alternatywnie, po prostu pobrać schematy i zbudować je bezpośrednio. Systemy te są dostarczane z darmowymi, otwartymi systemami operacyjnymi, takimi jak Contiki lub Raspian, zestawy rozwojowe, takie jak projekt Eclipse IoT, oprogramowanie pośrednie, takie jak IoTSys i wszelkiego rodzaju interfejsy do łączenia z czujnikami sprzętowymi i sprzętem. Każdy może rozpocząć prototypowanie urządzeń IoT, a następnie przekształcić je w pełnoprawne produkty. Ludzie używają tych platform do tworzenia urządzeń monitorujących dla swoich akwariów, ogrodów lub uzdrowisk lub do budowy stacji pogodowych i modułów sterujących dla wszystkich rodzajów systemów, takich jak drzwi garażowe, termostaty lub dzbanki do kawy, które nagle stają się w pełni zautomatyzowane i autonomiczne, a także zapewniają aktywny feedback w ich środowisku.


Open Source i Internet of Things, w połączeniu, mogą pomóc wprowadzić innowacje i wiedzę do każdego rodzaju społeczeństwa zarówno w krajach rozwiniętych, jak i rozwijających się. Na przykład innowatorzy w dżungli amazońskiej, mimo że mieli dostęp tylko do przestarzałego sprzętu, byli w stanie wdrożyć infrastrukturę typu Open Source i wykorzystać Internet rzeczy, aby stworzyć aplikację, która pozwoliła im używać starych telefonów komórkowych zasilanych zużytymi panelami słonecznymi słuchać dźwięków w bardzo odległych częściach lasu deszczowego. Następnie, dzięki przetwarzaniu dźwięku i rozpoznawaniu wzorca, mogli odczytać hałas wytwarzany przez piły łańcuchowe. Ta aplikacja, zbudowana przy użyciu ogólnodostępnych bibliotek Open Source, pozwoliła tym innowatorom ostrzec urzędników przed nielegalnym wylesianiem i chronić lasy deszczowe.


Zwykle zastrzeżone bazy danych, ze względu na wysokie koszty licencjonowania, mają tendencję do zwiększania barier wejścia do możliwości gromadzenia, przechowywania i przetwarzania danych wymaganych przez takie projekty. Jednak przy korzystaniu z Open Source istnieje wiele łatwych i dostępnych baz danych typu Open Source, takich jak MongoDB, MySQL / MariaDB, PostgreSQL i Cassandra, które pomagają zarządzać danymi po niższych kosztach i pomagają programistom przyspieszyć terminy realizacji projektów.

Narzędzia do zarządzania danymi również pojawiły się, w tym Redis, co pomaga zwiększyć użyteczność otwartych źródeł danych. Nie byłoby to możliwe bez oprogramowania Open Source - ponieważ otwarte oprogramowanie jest dostępne dla wszystkich, programiści ze świetnymi pomysłami nie muszą iść i ponownie wymyślać wszystkie szprychy koła. Dzięki otwartemu źródłu mogą oni po prostu sięgnąć do wcześniej istniejących bibliotek Open Source, a także zindywidualizować, zmodyfikować i ulepszyć kod, który mogą dostosować (następnie, co ciekawe, wesprzeć go ponownie w społeczności).


Startupy już tworzą przyszłość internetu przedmiotów, budując urządzenia do noszenia (ang. wearable), które wyczuwają środowisko - skład powietrza, zawartość drobnoustrojów, zawieszone cząstki stałe i dopasowują je do szerokiej gamy publicznych baz danych w czasie rzeczywistym, aby powiedzieć użytkownikowi: "Wyjdź teraz - powietrze ma ślady wirusa Ebola. "
Aby to osiągnąć, wykorzystują istniejące biblioteki i narzędzia Open Source, oprócz własnej własności intelektualnej. Tworzą nowe urządzenia, które żyją w IoT i zapewniają bardzo wysoką wartość dodaną. 
Venture Capitalists (True Ventures, Kleiner Perkins ...) i korporacyjne fundusze venture (Intel, Qualcomm, Cisco ...) wiedzą o tym i inwestują na tych rynkach. 

Open Source ma ogromne znaczenie dla przedsiębiorstw nabywających infrastrukturę IoT.

Ponieważ nie ma żadnych rzeczywistych ograniczeń pod względem liczby urządzeń, objętości danych, skonsolidowanej przepustowości, 

jedynym ograniczeniem, z IoT, jest twoja wyobraźnia. Więc na co czekasz? Zdobądź zestaw i zacznij tworzyć aplikacje IoT.





Inspiracja (na podstawie artykułu dostępnego w języku angielskim):


Brak komentarzy: