Ekosystem Internetu Rzeczy rozwija się w sposób niekontrolowany, a oprogramowanie typu open source odgrywa w nim wiodącą rolę. Od platform IoT po narzędzia do przetwarzania danych i modele AI dla urządzeń brzegowychDostępnych jest wiele opcji, które pozwalają budować wydajne rozwiązania przy rozsądnych kosztach i dużej elastyczności. Jeśli zastanawiasz się, jaką technologię wdrożyć, oto kompletny i praktyczny przewodnik z najważniejszymi informacjami.
Zanim przejdziemy do konkretów, istotne jest wyjaśnienie kilku pojęć. „Oprogramowanie typu open source” nie jest dokładnie tym samym, co „wolne oprogramowanie”Wybór między frameworkiem open source a platformą dedykowaną może mieć decydujący wpływ na bezpieczeństwo, koszty i rozwój projektu. Co więcej, jeśli pracujesz z urządzeniami o ograniczonych zasobach, warto również wiedzieć, które lekkie modele sztucznej inteligencji (AI) sprawdzają się na brzegu sieci.
Oprogramowanie wolne a oprogramowanie typu open source
Często te terminy są mylone, jednak mają one pewne ważne niuanse. Wolne oprogramowanie stawia na pierwszym miejscu wolność użytkownikaWolność uruchamiania, studiowania, modyfikowania i redystrybucji programu, z czterema wolnościami FSF jako centralnym punktem. Z kolei open source kładzie nacisk na dostępność kodu źródłowego do przeglądania, modyfikowania i rozpowszechniania. chociaż licencje mogą narzucać warunki o redystrybucji i zmianach i nie zawsze dążą do tych samych celów, co ruch wolnego oprogramowania.
Innymi słowy, Głównym celem wolnego oprogramowania są prawa użytkownikaChoć open source opiera się na otwartym kodzie i współpracy, istnieją pewne elementy wspólne, jednak ich filozofie i cele nie są identyczne.
Czym właściwie jest platforma IoT?
Platforma IoT stanowi szkielet łączący urządzenia, dane i aplikacje. Zapewnia infrastrukturę i elementy konstrukcyjne aby rozwinąć swoją usługę: komunikacja z urządzeniamiZarządzanie i provisionowanie, bezpieczeństwo, integracja z chmurą i narzędzia analityczne, między innymi. W skrócie, Pozwala skupić się na funkcjonalnościach biznesowych bez konieczności ponownego wyważania otwartych drzwi w kwestii łączności i obsługi.
Lekkie modele AI dla brzegu Internetu rzeczy
W przypadku wdrożeń brzegowych z zoptymalizowaną pamięcią, baterią i procesorem, Kompaktowe i wydajne modele robią ogromną różnicęNiektóre z rozwiązań, które wyróżniają się pod względem równowagi między rozmiarem a możliwościami, to: Meta Llama 3.1 8B (efektywność i wydajność wielojęzyczna), GLM-4-9B-0414 (wywoływanie funkcji i integracja z narzędziami) i Qwen2.5-VL-7B (multimodalna inteligencja z wizją). Podejścia te są kluczowe dla umożliwienia podejmowania decyzji na poziomie lokalnym bez konieczności ciągłego polegania na chmurze.
Platformy IoT o otwartym kodzie źródłowym i powiązane tematy
Gałąź urządzenia
DeviceHive oferuje platformę M2M do łączenia urządzeń i zarządzania usługami w chmurze ze szczególnym uwzględnieniem Big Data. Zawiera bardzo prosty panel internetowy. do tworzenia sieci, stosowania reguł bezpieczeństwa i monitorowania, a także przykładowych projektów i instancji testowej online. Ich propozycja obejmuje most między chmurami, systemy wbudowane i aplikacje mobilne w sposób dość zrównoważony.
RzeczMów
ThingSpeak, ściśle powiązany z MathWorks, wyróżnia się analizą danych z czujników przesyłanych niemal w czasie rzeczywistym przy użyciu środowiska MATLAB. Wśród jego funkcji Należą do nich agregacja i analiza strumienia na żywo, nagrywanie kanałów publicznych do użytku prywatnego, udostępnianie kanałów, wizualizacje, aktualizacje za pośrednictwem interfejsu API REST i MQTT, narzędzia MATLAB online i alerty z TimeControl wywołane przez zdarzenia.
mainstream
Mainflux to pakiet Golang wyróżniający się łącznością i możliwościami zarządzania. Obsługuje HTTP, MQTT, WebSocket i CoAPObejmuje on dostarczanie i zarządzanie urządzeniami, wdrażanie Dockera i koordynację Kubernetesa. bezpieczeństwo poprzez konfigurowalne klucze API i JWT z zasięgiemi pomaga obniżyć koszty operacyjne. Można go zainstalować lokalnie, w środowisku hybrydowym lub w chmurze.
Thinger.io
Thinger.io to platforma chmurowa wdrażana za pośrednictwem kontenerów Docker. Integruje szeroką gamę sprzętu. (płyty Arduino IDE, Linux, Sigfox, ARM Mbed) oferuje przyjazną dla użytkownika konsolę zarządzania, strumieniowanie do gniazd websocket, panele danych w czasie rzeczywistym, Aplikacje mobilne na iOS i Androida i automatyzację IFTTT dla wielu urządzeń. Chociaż jej wizualizacja nie jest najbardziej atrakcyjna wizualnie, Ich największą siłą jest podejście oparte na „programowaniu reaktywnym”..
Google Cloud IoT
Mimo że platforma Google nie jest oprogramowaniem typu open source, oferuje ona przydatne elementy dla architektur połączonych systemów IoT. Wdrożenie mostu MQTT W celu zapewnienia łączności łączy się z zewnętrznym serwerem proxy równoważącym sieć. Aplikacje IoT mogą pobierać dane za pośrednictwem Pub/Sub lub korzystać z konektora MQTT Dataflow, a system oferuje usługi zarządzania kluczami: referencje, uwierzytelnianie i autoryzacjaTypowymi funkcjami są również konfiguracja i rejestracja urządzeń, mechanizm reguł i zarządzanie aktualizacjami. Cyfrowe bliźniaki, alerty i statystyki w swoim ekosystemie.
OtwórzRemote
OpenRemote ułatwia integratorom, producentom i administratorom integrację z protokołami takimi jak HTTP, SNMP, MQTT czy Bluetooth. Twoje mocne strony Zawierają one widoki map i zasobów, model zasobów z typami zdefiniowanymi przez użytkownika, protokoły agentów z możliwością dostosowania modelu, graficzny interfejs dla reguł IF-THEN, pulpity nawigacyjne, połączenie między instancjami Edge i centralą i zarządzanie wieloma najemcami. Ma zastosowanie do flotyenergia, zarządzanie zbiorowe, budynki, miasta, lotniska czy opieka zdrowotna.
Platforma typu open source czy dostosowana do potrzeb klienta?
Mimo że na papierze wiele otwartych platform może wydawać się podobnych, wybór zależy od celów, budżetu, ryzyka i zespołu. Oprogramowanie typu open source oszczędza czas i zapewnia elastycznośćNie jest to jednak rozwiązanie pozbawione wyzwań: nierówna jakość materiałów, konieczność delikatnej konserwacji i bezpieczeństwa oraz coraz bardziej krytyczna prywatność danych. koszty nie zawsze są niskie i zestaw standardowych funkcji, które mogą nie do końca odpowiadać Twoim celom. Co więcej, Zazwyczaj nie są one przeznaczone dla niedoświadczonych użytkowników..
Przy wyborze platformy dostosowanej do indywidualnych potrzeb, najważniejszym argumentem jest kontrola. Posiadać pełną wiedzę na temat projektowania, bezpieczeństwa i funkcjonalności Umożliwia integrację z istniejącymi systemami, uszczelnia kompleksową ochronę i optymalizuje wydajność, niezawodność i skalowalność. To podejście, jeśli jest dobrze wdrożone, maksymalizuje zwrot i przygotuj swoje rozwiązanie do rozwoju w dynamicznie zmieniającym się otoczeniu.
Rozwiązanie eManager i zestaw narzędzi
eManager został stworzony jako przemysłowy kontroler IoT dla profesjonalistów oprogramowania, którzy potrzebują wszechstronny sprzęt obsługujący wiele protokołów gdzie łatwo wdrażać projekty. Ich repozytorium gromadzi listę 8 najlepszych programów do akwizycji, wizualizacji i przechowywania danych, zaprojektowanych dla wprowadzić rzeczywiste przypadki do produkcji szybko
Akwizycja i wizualizacja
Chirpstack zapewnia kompletny stos open-source dla sieci LoRaWAN z tłumaczeniem wiadomości, integracją z chmurą, zarządzaniem stanem, inwentaryzacją, aktywacja czujników i wysyłanie danych do urządzeńZapewnia interfejs internetowy dla użytkowników, organizacji, aplikacji i urządzeń oraz udostępnia interfejsy API gRPC i REST. Dane mogą przepływać przez MQTT/HTTP i być napisany w InfluxDB.
Node-RED z kolei jest swego rodzaju scyzorykiem szwajcarskim IoT służącym do organizowania przepływów przy użyciu niewielkiej ilości kodu. Dzięki wizualnemu programowaniu można łatwo łączyć sprzęt, interfejsy API i usługi i przekształcać je w czasie rzeczywistym, co czyni je najlepszym wyborem w Przemyśle 4.0. Jeśli szukasz zwinności bez stromej krzywej uczenia się, To jest coś, co trzeba mieć..
Platforma TICK łączy w sobie Telegraf (agent metryk i zdarzeń), Kapacitor (przetwarzanie w czasie rzeczywistym) i Chronograf (interfejs InfluxData), a jej podstawą jest InfluxDB. Razem tworzą kompleksowe rozwiązanie do przechwytywania, monitorowania, wizualizacji i automatyzacji szeregów czasowych przy dużym obciążeniu zadaniami zapisu i zapytań.
Grafana uzupełnia krąg wizualizacji o bogate pulpity nawigacyjne i alerty. Doskonale nadaje się do wykorzystania danych InfluxDB. i innych źródeł, tworząc atrakcyjne pulpity nawigacyjne bez komplikacji. Jeśli potrzebujesz wykryć wzorce lub anomalie gołe okoOto Twój sojusznik.
Bazy danych
InfluxDB w ramach stosu TICK jest zoptymalizowany pod kątem szeregów czasowych: Dużo pisania, szybkie zapytaniaMonitorowanie, metryki, czujniki i analityka w czasie rzeczywistym. Gdy liczy się każda sekunda, jego architektura robi różnicę.
MariaDB dziedziczy to, co najlepsze w MySQL, i dodaje następujące udoskonalenia: buforowanie złożonych zapytańNowe zarządzanie połączeniami, dostęp do klastra oraz obsługa zaawansowanych hierarchii i struktur. Jeśli korzystasz z ekosystemu MySQL, Odkryjesz, że jest to coś znajomego i potężnego.
PostgreSQL jest punktem odniesienia w dziedzinie relacyjnych baz danych typu open source, charakteryzującym się wysoką współbieżnością, różnorodnością typów danych, obiektowością i kompatybilnością międzyplatformową. Obsługuje język SQL dla danych relacyjnych i JSON dla danych nierelacyjnych., co czyni go niezwykle elastycznym w projektach hybrydowych.
SQLite jest idealny dla systemów wbudowanych i skromnego sprzętu: lekki, wydajny i szybki dla nieskomplikowanego lokalnego przechowywania danych. Gdy urządzenie jest najważniejsze, a zasoby są ograniczone, Pomaga wyjść z niejednej opresji..
Co nowego w pakiecie
Oprogramowanie serii eManager zostało zaktualizowane do wersji Node-RED 2.1.4 i Yocto Dunfell, dodano także protokół UPnP i inne udoskonalenia. Zyskujesz na wydajności, aktualizujesz zabezpieczenia, debuggujesz i rejestrujeszUdoskonalanie doświadczeń dla wymagających wdrożeń przemysłowych. Jeśli chcesz poznać szczegóły, zapoznaj się z oficjalną dokumentacją i bądź na bieżąco dzięki ich newsletterowi.
Oprogramowanie typu open source: co ono oznacza i dlaczego jest ważne
Za otwarte oprogramowanie uznajemy każde narzędzie, którego kod źródłowy jest opublikowany i można przeglądać, modyfikować i rozpowszechniaćUmożliwia to współpracę i transparentny rozwój, w którym społeczność wnosi poprawki błędów, nowe funkcje i ulepszenia jakości. Licencje zazwyczaj zezwalają na takie wykorzystanie. promować innowacyjność i adaptację do konkretnych potrzeb.
Przykładów jest mnóstwo: Linux w systemach operacyjnych, Mozilla Firefox w przeglądarkach czy LibreOffice w pakietach biurowych. Wzór się powtarzaGdy pojawia się duży problem i nie ma rozwiązania, pojawia się otwarty projekt, który ma go rozwiązać.
Polecane zasoby open source dotyczące danych, zaplecza i nie tylko
1) Apache Hudi
Hudi oferuje platformę do przyrostowego przechowywania i przetwarzania danych w czasie rzeczywistym opartą na Hadoop i Spark. Skupiają się na dodawaniach, usuwaniach i przyrostach Dzięki temu doskonale nadaje się do ciągłego pozyskiwania danych i interaktywnej analizy; jest kompatybilny z jeziorami danych i domami nad jeziorem, umożliwiając zapytania o niskim opóźnieniu dla dużych wolumenów. Integruje się ze Spark, Flink, Presto, StarRocks lub Amazon Athena.
2) Góra lodowa Apaczów
Iceberg zapewnia format tabeli transakcyjnej z zapisem atomowym, migawkami, zoptymalizowane odczyty i partycjonowanie/sortowanieDziała z silnikami Spark, Hive, Presto i innymi (ClickHouse, Dremio, StarRocks), rozwiązując Wąskie gardła HDFS/Hive w dużych zbiorach danych oraz ułatwianie ewolucji schematu, jego zagęszczania i wycofywania.
3) Apache Superset
Superset to samoobsługowa platforma analityczna, której wiele zespołów potrzebuje, aby móc ją skalować. Połącz się z bazami danych SQL, magazynami danych i jeziorami danychOferuje kreator wykresów i środowisko IDE SQL, a także obsługuje wszystko, od wykresów słupkowych i kołowych po zaawansowane wizualizacje geoprzestrzenne. Jeśli Twój projekt ma silny komponent BI, Oszczędza Twój czas i nerwy..
4) Bułka
Bun to pojedyncze narzędzie uruchomieniowe, menedżer pakietów i pakietator dla JavaScriptu po stronie serwera. Jego największą zaletą jest wydajność (częściowo dzięki Zigowi) i zintegrowanemu doświadczeniu, co czyni go poważną alternatywą dla Node i Deno. Jeśli chcesz skrócić czas kompilacji i skrócić czas CLI, Daj temu szansę.
5) Klauzula 2
Ten asystent Anthropic obsługuje ogromne konteksty (do ~100 000 tokenów) i płynnie tworzy lub przekształca tekst w wielu językach. Możesz podsumować, wyodrębnić, przepisać i odpowiedzieć Oparta na treści i rozumie popularne języki programowania. Wyszkolona zgodnie z zasadą HHH (Pomocna, Uczciwa, Nieszkodliwa). jest mniej podatny na niebezpieczne wyjścia i nie uczy się na podstawie twoich danych ani nie konsultuje internetu, aby odpowiedzieć.
6) KaraluchDB
Rozproszona, zgodna z ACID i wysoce dostępna baza danych SQL z automatyczną replikacją i poziome skalowanie odczytów i zapisówIdealne rozwiązanie do aplikacji o dużej liczbie transakcji lub wdrożeń w wielu regionach, redukuje opóźnienia i pomaga zachować zgodność z przepisami. Przydatne dla organizacji takich jak Netflix i instytucji finansowych. Używają go w produkcji na dużą skalę.
7) CPython (ostatnie ulepszenia)
Python 3.11 i 3.12 przyniosły zauważalny skok w wydajności wykonawcy referencyjnegoPrzynosząc korzyści większości projektów bez konieczności wprowadzania zmian w kodzie. Na horyzoncie plany dotyczące GIL otwierają drogę do prawdziwy paralelizm w przetwarzaniu wieloprocesowym i dodatkowe zarobki.
8) DuckDB
Wbudowany silnik analityczny z wykonanie kolumnowe, paralelizm i niskie zużycieIdealny do złożonych zapytań i interaktywnej eksploracji na laptopach lub w systemach wbudowanych. Kompatybilny ze standardowym SQL, transakcjami ACID oraz integracją z Pandas i Dplyr. Zmniejsza tarcie między analizą a zastosowaniem.
9) HTML i Hyperscript
Proponują przejście na „pełny gaz” z konwencjonalnym HTML: HTMLX zastępuje powtarzalny JavaScript Deklaratywne atrybuty dla AJAX, stanów i danychHyperScript upraszcza asynchroniczność i DOM dzięki składni w stylu HyperCard. Razem oferują trzeźwa alternatywa dla reaktywnych frameworków gdy szukasz prędkości bez przeciążenia.
10) Istio
Najlepsza sieć usług: ułatwia routing i równoważenie obciążenia, szczegółowa obserwowalnośćSzyfrowanie, uwierzytelnianie i autoryzacja między mikrousługami. Integruje się z Kubernetes i oddziela obawy dotyczące sieci i bezpieczeństwa kodu, standaryzując zasady w przypadku złożonych wdrożeń.
Społeczność i dobre praktyki
Jeśli pracujesz z narzędziami sztucznej inteligencji i automatyzacji, dobrym pomysłem będzie przyłączenie się do społeczności, które dzielą się kodem, wskazówkami i najlepszymi praktykami. Istnieją subreddity skupione na programowaniu z ChatGPT gdzie publikowane są interakcje, wskazówki dotyczące użytkowania i kompletne projekty; nie zapomnij przeczytać zasad przed opublikowaniem, aby zachować aktualność użyteczne i pełne szacunku środowisko.
Zasoby i ekspansja
Jeśli chcesz dowiedzieć się więcej o narzędziach typu open source, znajdziesz obszerne zestawienia kilkudziesięciu projektów obejmujących zagadnienia związane z rozwojem, danymi, analizą, sztuczną inteligencją i uczeniem maszynowym. Poprzedni wybór mieści się w przedziale od 1 do 10 i będzie kontynuowany w kolejnych artykułach. Aby uzyskać bardziej szczegółowe informacje, możesz pobrać dokumentację i przewodniki techniczne, takie jak raporty uniwersyteckie i dokumenty techniczne, które Rozwijają koncepcje jezior danych, magazynów danych i domów nad jeziorem.Oto przykład referencyjny w formacie PDF. dostępny do konsultacjiA swoją drogą, Obserwuj nas na Twitterze i LinkedIn Jeśli chcesz być na bieżąco z aktualnościami.
Patrząc na całość, wydaje się, że jest to bardzo solidna konstrukcja technologiczna: otwarte platformy IoT z dojrzałymi komponentami (DeviceHive, ThingSpeak, Mainflux, Thinger.io, OpenRemote), opcje chmurowe, które dobrze pasują do otwartych przepływów pracy (Google Cloud IoT), pakiet przemysłowy, taki jak eManager, z kluczowymi narzędziami (Chirpstack, Node-RED, TICK, Grafana, InfluxDB, MariaDB, PostgreSQL, SQLite) oraz zbiór projektów open source dla danych i zaplecza (Hudi, Iceberg, Superset, Bun, Claude 2, CockroachDB, CPython, DuckDB, HTML/Hyperscript, Istio), które Obejmują one wszystko, od pobierania, przez oglądanie, po zarządzanieDzięki temu dysponujesz wystarczającą ilością materiału, aby zaprojektować solidne, bezpieczne i skalowalne rozwiązanie IoT, które można rozwijać bez utraty kontroli.