Open source sa IoT: mga platform, data at edge AI na gumagawa ng pagkakaiba

  • Buksan ang mga platform ng IoT (DeviceHive, ThingSpeak, Mainflux, Thinger.io, OpenRemote) at Google Cloud IoT na sumasaklaw sa pagkakakonekta, pamamahala, at analytics.
  • Industrial suite na may Chirpstack, Node-RED, TICK, Grafana at InfluxDB para sa real-time na pagkuha, pagproseso at visualization.
  • Mga pangunahing mapagkukunan ng data/infra (Hudi, Iceberg, Superset, CockroachDB, DuckDB, Istio, Bun, CPython, HTMX/Hyperscript, Claude 2).

AIoT

Ang Internet of Things ecosystem ay lumalaki nang walang check, at ang open source na software ay gumaganap ng isang nangungunang papel. Mula sa mga platform ng IoT hanggang sa mga tool sa data at mga modelo ng AI para sa gilidMayroong isang hanay ng mga opsyon na nagbibigay-daan sa iyong bumuo ng mga mahuhusay na solusyon na may makatwirang gastos at mahusay na flexibility. Kung isasaalang-alang mo kung aling teknolohiya ang dapat gamitin, narito ang isang kumpleto at praktikal na gabay na may pinakanauugnay na impormasyon.

Bago tayo pumasok sa paksa, mahalagang linawin ang ilang mga konsepto. Ang "Open source" ay hindi eksaktong kapareho ng "libreng software"At ang pagpili sa pagitan ng isang open-source na framework o isang custom na platform ay maaaring gumawa ng lahat ng pagkakaiba sa seguridad, gastos, at ebolusyon ng iyong proyekto. Higit pa rito, kung nagtatrabaho ka sa mga device na pinaghihigpitan ng mapagkukunan, magiging interesado ka ring malaman kung aling mga magaan na modelo ng AI ang mahusay na gumaganap sa gilid.

Libreng software kumpara sa open source na software

Ang mga termino ay madalas na nalilito, ngunit mayroon silang mahalagang mga nuances. Ang libreng software ay inuuna ang mga kalayaan ng gumagamitAng kalayaang patakbuhin, pag-aralan, baguhin, at muling ipamahagi ang programa, kasama ang apat na kalayaan ng FSF bilang sentrong pokus nito. Ang open source, sa kabilang banda, ay nagbibigay-diin sa pagkakaroon ng source code para sa pagtingin, pagbabago, at pamamahagi. kahit na ang mga lisensya ay maaaring magpataw ng mga kundisyon tungkol sa muling pamamahagi o mga pagbabago at hindi palaging naghahanap ng parehong mga layunin tulad ng paggalaw ng libreng software.

Sa ibang salita, Ang pokus ng libreng software ay sa mga karapatan ng gumagamitHabang ang open source ay nakatuon sa open code at collaboration, may mga overlap, siyempre, ngunit ang kanilang mga pilosopiya at layunin ay hindi magkapareho.

Ano nga ba ang isang IoT platform?

Ang IoT platform ay ang backbone na nag-uugnay sa mga device, data, at application. Nagbibigay ito ng imprastraktura at mga bloke ng gusali para mapaunlad ang iyong serbisyo: komunikasyon sa mga devicePamamahala at pagbibigay, seguridad, pagsasama ng ulap, at mga tool sa analytics, bukod sa iba pa. Sa esensya, Binibigyang-daan ka nitong tumuon sa mga pag-andar ng negosyo nang hindi muling inaayos ang gulong sa pagkakakonekta at pagpapatakbo.

Mga magaan na modelo ng AI para sa gilid ng IoT

Sa mga pagpapatupad sa gilid na may naka-optimize na memorya, baterya, at CPU, Ang mga compact at mahusay na modelo ay gumagawa ng lahat ng pagkakaibaAng ilan na namumukod-tangi sa kanilang balanse sa pagitan ng laki at mga kakayahan ay ang: Meta Llama 3.1 8B (multilingual na kahusayan at pagganap), GLM-4-9B-0414 (mga function na tawag at pagsasama sa mga tool) at Qwen2.5-VL-7B (multimodal intelligence na may vision). Ang mga pamamaraang ito ay susi sa pagpapagana ng mga lokal na desisyon nang hindi laging umaasa sa ulap.

Mga open source na platform ng IoT at mga nauugnay na paksa

DeviceHive

Nag-aalok ang DeviceHive ng M2M framework para sa pagkonekta ng mga device at pamamahala ng mga serbisyo sa cloud na may pagtuon sa Big Data. Kabilang dito ang isang napakasimpleng web panel. upang lumikha ng mga network, maglapat ng mga panuntunan sa seguridad at pagsubaybay, kasama ang mga sample na proyekto at isang online na pagsubok na halimbawa. Saklaw ng kanilang panukala tulay sa pagitan ng ulap, mga naka-embed na system at mobile app sa medyo balanseng paraan.

ThingSpeak

Ang ThingSpeak, na malapit na naka-link sa MathWorks, ay namumukod-tangi para sa analytics nito gamit ang MATLAB sa malapit sa real-time na data ng sensor. Kabilang sa mga tungkulin nito Kabilang dito ang pagsasama-sama at pagsusuri ng live stream, pagtatala ng mga pampublikong channel para sa pribadong paggamit, pagbabahagi ng channel, mga visualization, mga update sa pamamagitan ng REST API at MQTT, mga online na tool sa MATLAB, at mga alerto sa TimeControl dulot ng mga pangyayari.

mainflux

Ang Mainflux ay isang Golang stack na kumikinang para sa pagkakakonekta at pamamahala nito. Sinusuportahan ang HTTP, MQTT, WebSocket at CoAPIsinasama nito ang provisioning at pamamahala ng device, pag-deploy ng Docker, at orkestra ng Kubernetes. seguridad sa pamamagitan ng nako-customize na mga API key at JWT na may abotat tumutulong na bawasan ang OPEX. Maaari itong i-install sa mga lugar, sa isang hybrid na kapaligiran, o sa cloud.

Ther.io

Ang Ther.io ay isang cloud platform na may deployment sa pamamagitan ng mga container ng Docker. Pinagsasama nito ang isang malawak na uri ng hardware. (Arduino IDE, Linux, Sigfox, ARM Mbed boards), nag-aalok ng user-friendly na management console, streaming sa mga websocket, real-time na data dashboard, iOS at Android na mga mobile app at mga automation ng IFTTT para sa maraming device. Kahit na ang visualization nito ay hindi ang pinaka-kaakit-akit sa paningin, Ang kanilang "reaktibong programming" na diskarte ay ang kanilang pinakamalaking lakas..

Google Cloud IoT

Bagama't hindi ito open source, nagbibigay ang platform ng Google ng mga kapaki-pakinabang na piraso para sa mga konektadong IoT architecture. Magpatupad ng tulay ng MQTT Para sa pagkakakonekta, kumokonekta ito sa isang external na proxy network balancer. Maaaring kumonsumo ng data ang IoT app sa pamamagitan ng Pub/Sub o gumamit ng MQTT connector ng Dataflow, habang nag-aalok ang system pangunahing serbisyo sa pamamahala: mga kredensyal, pagpapatunay at awtorisasyonAng configuration at pagpaparehistro ng device, rules engine, at pamamahala ng update ay mga karaniwang feature din. Digital twins, alerto at istatistika sa ecosystem nito.

OpenRemote

Pinapadali ng OpenRemote ang pagsasama para sa mga integrator, manufacturer, at administrasyon na may mga protocol gaya ng HTTP, SNMP, MQTT, o Bluetooth. Ang lakas mo Kasama sa mga ito ang mga view ng mapa at asset, isang modelo ng asset na may mga uri na tinukoy ng gumagamit, mga protocol ng ahente na nababagay sa modelo, isang graphical na interface para sa mga panuntunan ng IF-THEN, mga dashboard, interconnection sa pagitan ng Edge instance at isang central at multi-tenant management. Ito ay naaangkop sa fleetsenerhiya, sama-samang pamamahala, mga gusali, lungsod, paliparan o pangangalagang pangkalusugan.

Open source o custom na platform?

Bagama't maraming mga bukas na platform ay maaaring mukhang katulad sa papel, ang pagpili ay depende sa mga layunin, badyet, mga panganib, at koponan. Ang open source ay nakakatipid ng oras at nagbibigay ng flexibilityGayunpaman, hindi ito walang mga hamon: mga kontribusyon ng hindi pantay na kalidad, maselang pagpapanatili at seguridad, at lalong kritikal na privacy ng data. hindi palaging mababa ang mga gastos at isang hanay ng mga karaniwang feature na maaaring hindi perpektong tumutugma sa iyong mga layunin. Higit pa rito, Ang mga ito ay karaniwang hindi para sa mga walang karanasan na gumagamit..

Kapag pumipili para sa isang pasadyang platform, ang pangunahing argumento ay kontrol. Magkaroon ng kumpletong karunungan sa disenyo, seguridad, at functionality Nagbibigay-daan ito sa pagsasama sa mga kasalukuyang system, tinatakan ang end-to-end na proteksyon, at ino-optimize ang pagganap, pagiging maaasahan, at scalability. Ang pamamaraang ito, kapag mahusay na naisakatuparan, pinalaki ang pagbabalik at ihanda ang iyong solusyon upang lumago sa isang mabilis na pagbabago ng kapaligiran.

solusyon sa eManager at hanay ng mga tool

Ang eManager ay nilikha bilang isang pang-industriyang IoT controller para sa mga propesyonal sa software na nangangailangan maraming nalalaman, multi-protocol na hardware kung saan madaling ipatupad ang mga proyekto. Ang kanilang repositoryo ay nag-iipon ng isang Top 8 na listahan ng pagkuha, visualization, at storage software, na idinisenyo para sa ilagay ang real-world na mga kaso sa produksyon mabilis

Pagkuha at visualization

Nagbibigay ang Chirpstack ng kumpletong open-source stack para sa mga LoRaWAN network na may pagsasalin ng mensahe, cloud integration, pamamahala sa kalusugan, imbentaryo, pag-activate ng mga sensor at pagpapadala ng data sa mga deviceNagbibigay ito ng web interface para sa mga user, organisasyon, app, at device, at inilalantad ang mga gRPC at REST API. Maaaring dumaloy ang data sa pamamagitan ng MQTT/HTTP at maisulat sa InfluxDB.

Ang Node-RED, sa bahagi nito, ay ang Swiss Army na kutsilyo ng IoT para sa pag-orkestra ng mga daloy na may maliit na code. Pinapadali ng visual programming nito ang pagkonekta ng hardware, API, at serbisyo at baguhin ang mga ito sa real time, na ginagawa itong isang nangungunang pagpipilian sa Industry 4.0. Kung naghahanap ka ng liksi nang walang matarik na curve sa pag-aaral, Ito ay isang dapat-may..

Pinagsasama ng TICK stack ang Telegraf (mga sukatan at ahente ng kaganapan), Kapacitor (real-time na pagproseso) at Chronograf (InfluxData interface), kasama ang InfluxDB bilang pundasyon nito. Magkasama silang bumubuo ng isang end-to-end na solusyon upang makuha, masubaybayan, mailarawan at i-automate ang mga serye ng oras na may mabigat na pagsulat at pag-load ng query.

Kinukumpleto ng Grafana ang visualization circle gamit ang mga rich dashboard at alerto. Ito ay perpekto para sa paggamit ng data ng InfluxDB. at iba pang mga mapagkukunan, pagbuo ng mga kaakit-akit na dashboard nang walang mga komplikasyon. Kung kailangan mong makakita ng mga pattern o anomalya hubad mataNarito ang iyong kakampi.

Database

Ang InfluxDB, sa loob ng TICK stack, ay na-optimize para sa serye ng oras: Maraming pagsulat, mabilis na mga tanongPagsubaybay, sukatan, sensor, at real-time na analytics. Kapag mahalaga ang bawat segundo, ang arkitektura nito ay gumagawa ng pagkakaiba.

Namana ng MariaDB ang pinakamahusay sa MySQL at nagdaragdag ng mga pagpapabuti: pag-cache para sa mga kumplikadong queryBagong pamamahala ng koneksyon, pag-access sa cluster, at suporta para sa mga advanced na hierarchy at istruktura. Kung galing ka sa MySQL ecosystem, Malalaman mo itong pamilyar at makapangyarihan.

Ang PostgreSQL ay ang benchmark sa open source relational database, na may mataas na concurrency, iba't ibang uri ng data, object orientation at cross-platform compatibility. Sinusuportahan nito ang SQL para sa relational data at JSON para sa non-relational na data., na ginagawang lubhang nababaluktot sa mga hybrid na proyekto.

Ang SQLite ay mainam para sa mga naka-embed na system at katamtamang hardware: magaan, mahusay at mabilis para sa hindi kumplikadong lokal na imbakan. Kapag ang device ang pangunahing alalahanin at limitado ang mga mapagkukunan, Inaalis ka nito sa higit sa isang masikip na lugar..

Ano ang bago sa suite

Na-update ng hanay ng eManager ang software nito sa Node-RED 2.1.4 at Yocto Dunfell, kasama rin ang protocol ng UPnP at iba pang mga pagpapabuti. Makakakuha ka ng pagganap, mag-update ng seguridad, pag-debug, at pag-logpinipino ang karanasan para sa hinihingi ng mga industriyal na deployment. Kung gusto mo ng mas pinong detalye, kumonsulta sa opisyal na dokumentasyon at manatiling napapanahon sa kanilang newsletter.

Open source: kung ano ang kasama nito at kung bakit ito mahalaga

Tinatawag namin ang open source na anumang tool na ang source code ay nai-publish at maaaring tingnan, baguhin, at muling ipamahagiNagbibigay-daan ito sa collaborative at transparent na pag-unlad kung saan nag-aambag ang komunidad ng mga pag-aayos ng bug, mga bagong feature, at mga pagpapahusay ng kalidad. Karaniwang pinapayagan ng mga lisensya ang mga paggamit na ito. upang itaguyod ang pagbabago at pagbagay sa mga tiyak na pangangailangan.

Maraming mga halimbawa: Linux sa mga operating system, Mozilla Firefox sa mga browser, o LibreOffice sa mga office suite. Ang pattern ay umuulit mismoKapag lumitaw ang isang malaking problema at walang solusyon, lilitaw ang isang bukas na proyekto upang matugunan ito.

Itinatampok na open source na mapagkukunan para sa data, backend, at higit pa

1) Apache Hudi

Nag-aalok ang Hudi ng framework para sa real-time na incremental na storage at pagproseso sa ibabaw ng Hadoop at Spark. Ang kanilang pagtuon sa mga upserts, deletes, at incrementals Ginagawa nitong perpekto para sa tuluy-tuloy na pag-ingest ng data at interactive na analytics; umaangkop ito sa data lakes at lakehouses, na nagpapahintulot mababang latency na mga query para sa malalaking volume. Sumasama ito sa Spark, Flink, Presto, StarRocks, o Amazon Athena.

2) Apache Iceberg

Nagbibigay ang Iceberg ng transactional table format na may atomic writing, snapshot, na-optimize na mga pagbabasa at paghati/pag-uuriGumagana ito sa Spark, Hive, Presto at iba pang mga makina (ClickHouse, Dremio, StarRocks), paglutas Mga bottleneck ng HDFS/Hive sa malalaking dataset at pinapadali ang ebolusyon ng scheme, compaction at rollback.

3) Apache Superset

Ang Superset ay ang self-service analytics platform na kailangang sukatin ng maraming team. Kumonekta sa SQL, mga data warehouse at data lakesNag-aalok ito ng tagabuo ng chart at isang SQL IDE, at sinusuportahan ang lahat mula sa mga bar at pie chart hanggang sa mga advanced na geospatial visualization. Kung ang iyong proyekto ay may malakas na bahagi ng BI, Makakatipid ka ng oras at sakit ng ulo..

4) Tinapay

Nakatuon ang Bun sa iisang runtime tool, package manager at packager para sa server-side na JS. Ang pinakamalaking lakas nito ay ang pagganap (sa bahaging salamat kay Zig) at ang pinagsama-samang karanasan, na ginagawa itong seryosong alternatibo sa Node at Deno. Kung interesado ka sa pag-ahit ng ilang segundo sa CLI at mga oras ng pagbuo, Bigyan ito ng isang iikot.

5) Claude 2

Pinangangasiwaan ng Anthropic assistant na ito ang malalaking konteksto (hanggang ~100.000 token) at maayos na nag-draft o nag-transform ng text sa maraming wika. Maaari mong ibuod, kunin, muling isulat, at tumugon batay sa nilalaman, at nauunawaan ang mga karaniwang programming language. Sinanay sa ilalim ng prinsipyo ng HHH (Nakakatulong, Matapat, Hindi Nakakapinsala). ay hindi gaanong madaling kapitan ng mga mapanganib na paglabas at hindi ito nagsasanay sa iyong data o kumunsulta sa internet para sumagot.

6) IpisDB

Naipamahagi, ACID-compliant, at lubos na magagamit ang SQL database na may awtomatikong pagtitiklop at horizontal scaling ng reads and writesTamang-tama para sa high-transaction o multi-region deployment application, binabawasan nito ang latency at nakakatulong sa pagsunod sa regulasyon. Kapaki-pakinabang para sa mga organisasyon tulad ng Netflix at mga institusyong pampinansyal. Ginagamit nila ito sa malakihang produksyon.

7) CPython (mga kamakailang pagpapabuti)

Ang Python 3.11 at 3.12 ay nagdala ng a tangible leap sa performance ng reference performernakikinabang sa karamihan ng mga proyekto nang walang mga pagbabago sa code. Sa abot-tanaw, planong tugunan ang GIL buksan ang pinto sa tunay na paralelismo sa multiprocessing at karagdagang kita.

8) DuckDB

Nai-embed na analytical engine na may columnar execution, parallelism at mababang pagkonsumoPerpekto para sa mga kumplikadong query at interactive na pag-explore sa mga laptop o naka-embed na system. Tugma sa karaniwang SQL, mga transaksyon sa ACID, at pagsasama sa mga pandas at dplyr. Binabawasan ang alitan sa pagitan ng pagsusuri at aplikasyon.

9) HTML at Hyperscript

Iminumungkahi nila ang paggamit ng "full throttle" gamit ang karaniwang HTML: Pinapalitan ng HTMX ang paulit-ulit na JavaScript ng Mga deklaratibong katangian para sa AJAX, mga estado, at dataPinapasimple ng HyperScript ang asynchronicity at DOM na may HyperCard-style syntax. Magkasama silang nag-aalok isang matino na alternatibo sa mga reaktibong balangkas kapag naghahanap ka ng bilis na walang labis na karga.

10) Istio

Ang tunay na mesh ng serbisyo: pinapadali ang pagruruta at pagbabalanse ng load, detalyadong pagmamasidPag-encrypt, pagpapatunay, at pahintulot sa pagitan ng mga microservice. Sumasama ito sa Kubernetes at naghihiwalay network at mga alalahanin sa seguridad ng code, pag-standardize ng mga patakaran sa mga kumplikadong deployment.

Komunidad at mabubuting gawi

Kung nagtatrabaho ka sa AI at mga tool sa automation, magandang ideya na lumahok sa mga komunidad na nagbabahagi ng code, mga tip, at pinakamahuhusay na kagawian. May mga subreddits na nakatuon sa programming gamit ang ChatGPT kung saan nai-publish ang mga pakikipag-ugnayan, mga tip sa paggamit, at kumpletong mga proyekto; huwag kalimutang basahin ang mga patakaran bago mag-post upang mapanatili isang kapaki-pakinabang at magalang na kapaligiran.

Mga mapagkukunan at pagpapalawak

Kung interesado kang magbasa nang higit pa tungkol sa mga open-source na tool, mayroong malawak na listahan na may dose-dosenang mga proyekto na sumasaklaw sa development, data, analytics, AI, at ML. Ang nakaraang pagpili ay mula 1 hanggang 10 at nagpapatuloy pa sa mga susunod na artikulo. Para sa mas malalim na impormasyon, maaari kang mag-download ng dokumentasyon at mga teknikal na gabay, gaya ng mga ulat sa unibersidad at mga puting papel, na Pinalawak nila ang mga konsepto ng data lakes, warehouse, at lakehouse.Narito ang isang halimbawa ng sanggunian sa format na PDF. magagamit para sa konsultasyonAt sa pamamagitan ng paraan, Sundan kami sa Twitter at LinkedIn Kung gusto mong manatiling napapanahon sa mga balita.

Kung titingnan ang kabuuan nito, lumilitaw na ito ay isang napaka-solid na teknolohikal na tela: buksan ang mga platform ng IoT na may mga mature na bahagi (DeviceHive, ThingSpeak, Mainflux, Thinger.io, OpenRemote), mga opsyon sa cloud na angkop sa mga bukas na daloy ng trabaho (Google Cloud IoT), isang pang-industriya na suite tulad ng eManager na may mga pangunahing tool (Chirpstack, Node-RED, TICK, Grafana, InfluxDB, MariaDB, PostgreSQL, SQLite), at isang pag-crop ng mga proyektong open source at I-backend (International. Claude 2, CockroachDB, CPython, DuckDB, HTML/Hyperscript, Istio) na Sinasaklaw nila ang lahat mula sa paglunok hanggang sa panonood at pamamahalaSa lahat ng ito, mayroon kang higit sa sapat na materyal para magdisenyo ng solid, secure, scalable IoT solution na handang lumago nang hindi nawawalan ng kontrol.

MKR1000
Kaugnay na artikulo:
Ang MKR1000, isang bagong Arduino board para sa IoT