Avoin lähdekoodi IoT:ssä: alustat, data ja reuna-asentoinen tekoäly, jotka tekevät eron

  • Avoimet IoT-alustat (DeviceHive, ThingSpeak, Mainflux, Thinger.io, OpenRemote) ja Google Cloud IoT kattavat liitettävyyden, hallinnan ja analytiikan.
  • Teollisuusohjelmistopaketti, jossa on Chirpstack, Node-RED, TICK, Grafana ja InfluxDB reaaliaikaista tiedonkeruu-, käsittely- ja visualisointityökaluja varten.
  • Keskeiset data-/infrastruktuuriresurssit (Hudi, Iceberg, Superset, CockroachDB, DuckDB, Istio, Bun, CPython, HTMX/Hyperscript, Claude 2).

AIoT

Esineiden internetin ekosysteemi kasvaa hallitsemattomasti, ja avoimen lähdekoodin ohjelmistoilla on johtava rooli. IoT-alustoista reunalaskennan datatyökaluihin ja tekoälymalleihinTarjolla on laaja valikoima vaihtoehtoja, joiden avulla voit rakentaa tehokkaita ratkaisuja kohtuullisin kustannuksin ja suurella joustavuudella. Jos harkitset, mitä teknologiaa ottaa käyttöön, tässä on kattava ja käytännöllinen opas, joka sisältää tärkeimmät tiedot.

Ennen kuin syvennymme aiheeseen, on tärkeää selventää joitakin käsitteitä. "Avoin lähdekoodi" ei ole täysin sama asia kuin "vapaa ohjelmisto"Ja valinta avoimen lähdekoodin kehyksen ja mukautetun alustan välillä voi tehdä kaiken eron projektisi turvallisuuden, kustannuksien ja kehityksen kannalta. Lisäksi, jos työskentelet resurssirajoitteisten laitteiden kanssa, sinua kiinnostaa myös tietää, mitkä kevyet tekoälymallit toimivat hyvin reunalla.

Ilmainen ohjelmisto vs. avoimen lähdekoodin ohjelmisto

Termit sekoitetaan usein, mutta niissä on tärkeitä vivahteita. Vapaa ohjelmisto asettaa käyttäjän vapauden etusijalleVapaus ajaa, tutkia, muokata ja levittää ohjelmaa, keskeisenä painopisteenään avoimen lähdekoodin neljä vapautta. Toisaalta avoin lähdekoodi korostaa lähdekoodin saatavuutta katseltavaksi, muokattavaksi ja jaettavaksi. vaikka lisensseihin voi liittyä ehtoja uudelleenjakelusta tai muutoksista eivätkä aina pyri samoihin tavoitteisiin kuin vapaiden ohjelmistojen liike.

Toisin sanoen, Vapaan ohjelmiston keskiössä ovat käyttäjien oikeudetVaikka avoin lähdekoodi keskittyy avoimeen koodiin ja yhteistyöhön, päällekkäisyyksiä on tietysti, mutta niiden filosofiat ja tavoitteet eivät ole identtiset.

Mikä IoT-alusta tarkalleen ottaen on?

IoT-alusta on selkäranka, joka yhdistää laitteet, datan ja sovellukset. Se tarjoaa infrastruktuurin ja rakennuspalikat kehittääksesi palveluasi: viestintä laitteiden kanssaHallinta ja tarjoaminen, tietoturva, pilviintegraatio ja analytiikkatyökalut, muiden muassa. Pohjimmiltaan Sen avulla voit keskittyä liiketoiminnan toimintoihin ilman että pyörää tarvitsee keksiä uudelleen liitettävyyden ja toiminnan suhteen.

Kevyet tekoälymallit IoT-reunalle

Reunatoteutuksissa, joissa on optimoitu muisti, akku ja suoritin, Kompaktit ja tehokkaat mallit tekevät kaiken eronJoitakin koon ja ominaisuuksien välisen tasapainon ansiosta erottuvia ovat: Meta Llama 3.1 8B (monikielinen tehokkuus ja suorituskyky), GLM-4-9B-0414 (funktiokutsut ja työkalujen integrointi) ja Qwen2.5-VL-7B (multimodaalinen älykkyys ja visio). Nämä lähestymistavat ovat avainasemassa paikallisten päätösten tekemisessä ilman, että se aina riippuu pilvestä.

Avoimen lähdekoodin IoT-alustat ja niihin liittyvät aiheet

DeviceHive

DeviceHive tarjoaa M2M-kehyksen laitteiden yhdistämiseen ja pilvipalveluiden hallintaan keskittyen Big Dataan. Se sisältää hyvin yksinkertaisen verkkopaneelin. verkkojen luomiseksi, tietoturvasääntöjen soveltamiseksi ja valvonnan sekä esimerkkiprojektien ja online-testausinstanssin toteuttamiseksi. Heidän ehdotuksensa kattaa silta pilvien välillä, sulautetut järjestelmät ja mobiilisovellukset melko tasapuolisella tavalla.

AsiPuhu

MathWorksiin läheisesti kytköksissä oleva ThingSpeak erottuu edukseen MATLABia käyttävällä lähes reaaliaikaisen anturidatan analytiikallaan. Sen toimintojen joukossa Näitä ovat live-striimien yhdistäminen ja analysointi, julkisten kanavien tallennus yksityiskäyttöön, kanavien jakaminen, visualisoinnit, päivitykset REST API:n ja MQTT:n kautta, online-MATLAB-työkalut ja hälytykset TimeControlin avulla tapahtumien laukaisemana.

päävirtaus

Mainflux on Golang-pino, joka loistaa liitettävyydellään ja hallittavuudellaan. Tukee HTTP:tä, MQTT:tä, WebSocketia ja CoAP:täSe sisältää laitteiden valmistelun ja hallinnan, Dockerin käyttöönoton ja Kubernetes-orkestroinnin. suojaus mukautettavien API-avainten avulla ja JWT ulottuvuudellaja auttaa vähentämään käyttökustannuksia. Se voidaan asentaa paikallisesti, hybridiympäristössä tai pilvessä.

Thinger.io

Thinger.io on pilvialusta, joka otetaan käyttöön Docker-konttien kautta. Se integroi monenlaisia ​​laitteistoja. (Arduino IDE, Linux, Sigfox, ARM Mbed -kortit), tarjoaa käyttäjäystävällisen hallintakonsolin, suoratoiston websocketeihin, reaaliaikaiset datanäkymät, iOS- ja Android-mobiilisovellukset ja IFTTT-automaatioita useille laitteille. Vaikka sen visualisointi ei olekaan visuaalisesti houkuttelevinta, Heidän "reaktiivinen ohjelmointi" -lähestymistapansa on heidän suurin vahvuutensa..

Google Cloud IoT

Vaikka se ei olekaan avoimen lähdekoodin alusta, Googlen alusta tarjoaa hyödyllisiä osia verkottuneille IoT-arkkitehtuureille. Toteuta MQTT-silta Yhteyden muodostamiseksi se yhdistetään ulkoiseen välityspalvelimeen verkon tasapainottajaan. IoT-sovellukset voivat kuluttaa dataa Pub/Sub-yhteyden kautta tai käyttää Dataflow'n MQTT-liitintä, kun taas järjestelmä tarjoaa avaintenhallintapalvelut: valtakirjat, todennus ja valtuutusLaitteen konfigurointi ja rekisteröinti, sääntömoottori ja päivitysten hallinta ovat myös yleisiä ominaisuuksia. Digitaaliset kaksoset, hälytykset ja tilastot sen ekosysteemissä.

OpenRemote

OpenRemote helpottaa integrointia integraattoreille, valmistajille ja hallintoviranomaisille protokollilla, kuten HTTP, SNMP, MQTT tai Bluetooth. Vahvuutesi Ne sisältävät kartta- ja resurssinäkymät, resurssimallin käyttäjän määrittämillä tyypeillä, mallin mukaan säädettäviä agenttiprotokollia, graafisen käyttöliittymän JOS-NIIN-säännöille, kojelaudat, Edge-instanssien ja keskusyksikön välinen yhteys ja usean vuokralaisen hallinta. Se soveltuu laivastojaenergia, kollektiivinen hallinta, rakennukset, kaupungit, lentokentät tai terveydenhuolto.

Avoimen lähdekoodin vai räätälöidyn alustan?

Vaikka monet avoimet alustat saattavat näyttää paperilla samankaltaisilta, valinta riippuu tavoitteista, budjetista, riskeistä ja tiimistä. Avoin lähdekoodi säästää aikaa ja tarjoaa joustavuuttaSillä on kuitenkin omat haasteensa: epätasaisen laadukkaat tuotokset, herkkä ylläpito ja tietoturva sekä yhä tärkeämpi tietosuoja. kustannukset eivät ole aina alhaiset ja joukko vakio-ominaisuuksia, jotka eivät välttämättä täysin vastaa tavoitteitasi. Lisäksi Ne eivät yleensä sovi kokemattomille käyttäjille.

Kun valitaan räätälöity alusta, tärkein argumentti on hallinta. Hallitsee suunnittelun, turvallisuuden ja toiminnallisuuden täydellisesti Se mahdollistaa integroinnin olemassa oleviin järjestelmiin, tiivistää kokonaisvaltaisen suojauksen ja optimoi suorituskyvyn, luotettavuuden ja skaalautuvuuden. Hyvin toteutettuna tämä lähestymistapa maksimoi tuoton ja valmistele ratkaisusi kasvamaan nopeasti muuttuvassa ympäristössä.

eManager-ratkaisu ja työkalupaketti

eManager luotiin teollisen IoT-ohjaimeksi ohjelmistoalan ammattilaisille, jotka tarvitsevat monipuolinen, monia protokollaa tukeva laitteisto missä projektit voidaan helposti toteuttaa. Heidän arkistonsa kokoaa kahdeksan parasta hankinta-, visualisointi- ja tallennusohjelmistoa, jotka on suunniteltu oikeiden tapausten käyttöönotto tuotannossa nopeasti.

Hankinta ja visualisointi

Chirpstack tarjoaa täydellisen avoimen lähdekoodin ratkaisupaketin LoRaWAN-verkoille, mukaan lukien viestien kääntämisen, pilviintegraation, kunnonhallinnan, inventaarion, antureiden aktivointi ja tiedon lähettäminen laitteisiinSe tarjoaa verkkokäyttöliittymän käyttäjille, organisaatioille, sovelluksille ja laitteille sekä paljastaa gRPC- ja REST-rajapinnat. Data voi kulkea MQTT/HTTP:n kautta ja kirjoitettava InfluxDB:llä.

Node-RED puolestaan ​​on IoT:n niukkahiekkainen työkalu tietovirtojen organisointiin vähällä koodilla. Sen visuaalinen ohjelmointi helpottaa laitteiston, API-rajapintojen ja palveluiden yhdistämistä ja muuntaa niitä reaaliajassa, mikä tekee siitä erinomaisen valinnan Teollisuus 4.0:ssa. Jos etsit ketteryyttä ilman jyrkkää oppimiskäyrää, Se on pakko saada..

TICK-pino yhdistää Telegrafin (metriikka- ja tapahtuma-agentti), Kapacitorin (reaaliaikainen käsittely) ja Chronografin (InfluxData-rajapinta), ja sen perustana on InfluxDB. Yhdessä ne muodostavat kokonaisvaltaisen ratkaisun tallentaa, valvoa, visualisoida ja automatisoida aikasarjoja, jotka sisältävät paljon kirjoitus- ja kyselykuormitusta.

Grafana täydentää visualisointiympyrän rikkailla kojelaudoilla ja hälytyksillä. Se on täydellinen InfluxDB-datan hyödyntämiseen. ja muista lähteistä, rakentaen houkuttelevia raporttinäkymiä ilman komplikaatioita. Jos sinun on havaittava säännönmukaisuuksia tai poikkeavuuksia paljaalla silmälläTässä on liittolaisesi.

Tietokannat

InfluxDB on TICK-pinon sisällä optimoitu aikasarjoille: Paljon kirjoitusta, nopeita kyselyitäValvonta, mittarit, anturit ja reaaliaikainen analytiikka. Kun jokainen sekunti on tärkeä. sen arkkitehtuuri tekee eron.

MariaDB perii MySQL:n parhaat puolet ja lisää parannuksia: välimuisti monimutkaisille kyselyilleUusi yhteyksienhallinta, klusterien käyttöoikeus ja tuki edistyneille hierarkioille ja rakenteille. Jos olet MySQL-ekosysteemistä, Tulet huomaamaan sen tutuksi ja voimakkaaksi.

PostgreSQL on avoimen lähdekoodin relaatiotietokantojen vertailukohta, jolla on korkea samanaikaisuus, vaihtelevat tietotyypit, olio-orientaatio ja alustojen välinen yhteensopivuus. Se tukee SQL:ää relaatiodatalle ja JSON:ia ei-relaatiodatalle., mikä tekee siitä erittäin joustavan hybridiprojekteissa.

SQLite on ihanteellinen sulautetuille järjestelmille ja vaatimattomille laitteistoille: kevyt, tehokas ja nopea mutkatonta paikallista tallennusta varten. Kun laite on ensisijainen huolenaihe ja resurssit ovat rajalliset, Se auttaa sinua ulos useammasta kuin yhdestä tiukasta tilanteesta..

Mitä uutta sviitissä on

eManager-sarjan ohjelmistot on päivitetty Node-RED 2.1.4- ja Yocto Dunfell -versioihin, ja päivitys sisältää myös UPnP-protokollan ja muita parannuksia. Parannat suorituskykyä, päivitysten turvallisuutta, virheenkorjausta ja lokinkirjoitustahiomalla kokemusta vaativiin teollisuuskäyttöön. Jos haluat tarkempia yksityiskohtia, katso virallisia asiakirjoja ja pysy ajan tasalla heidän uutiskirjeensä avulla.

Avoin lähdekoodi: mitä se sisältää ja miksi sillä on merkitystä

Avoimeksi lähdekoodiksi kutsumme mitä tahansa työkalua, jonka lähdekoodi on julkaistu ja voidaan tarkastella, muokata ja jakaa edelleenTämä mahdollistaa yhteistyöhön perustuvan ja läpinäkyvän kehityksen, jossa yhteisö osallistuu virheenkorjauksiin, uusiin ominaisuuksiin ja laadunparannuksiin. Lisenssit yleensä sallivat nämä käyttötarkoitukset. edistääkseen innovaatioita ja sopeutumista erityistarpeisiin.

Esimerkkejä on runsaasti: Linux käyttöjärjestelmissä, Mozilla Firefox selaimissa tai LibreOffice toimisto-ohjelmissa. Kuvio toistuuKun ilmenee suuri ongelma eikä ratkaisua ole, avoin projekti näyttää ratkaisevan sen.

Esitellyt avoimen lähdekoodin resurssit datalle, taustajärjestelmille ja muulle

1) Apache Hudi

Hudi tarjoaa kehyksen reaaliaikaiselle inkrementaaliselle tallennukselle ja käsittelylle Hadoopin ja Sparkin päälle. Heidän keskittymisensä upsertteihin, deletteihin ja inkrementaaleihin Tämä tekee siitä täydellisen jatkuvaan datan keräämiseen ja interaktiiviseen analytiikkaan; se sopii yhteen datajärvien ja -järvien kanssa, mikä mahdollistaa matalan viiveen kyselyt suurille volyymeille. Se integroituu Sparkin, Flinkin, Preston, StarRocksin tai Amazon Athenan kanssa.

2) Apache-jäävuori

Iceberg tarjoaa transaktiotaulukon muodon, jossa on atomikirjoitus, tilannevedokset, optimoidut lukemiset ja osiointi/lajitteluSe toimii Sparkin, Hiven, Preston ja muiden moottoreiden (ClickHouse, Dremio, StarRocks) kanssa ja ratkaisee HDFS/Hive-pullonkaulat suurissa tietojoukoissa ja helpottaa järjestelmän kehitystä, tiivistämistä ja peruutuksia.

3) Apache-superjoukko

Superset on itsepalveluanalytiikka-alusta, jota monet tiimit tarvitsevat skaalatakseen. Yhdistä SQL:ään, tietovarastoihin ja datajärviinSe tarjoaa kaavioiden luontityökalun ja SQL-kehitysympäristön ja tukee kaikkea palkki- ja ympyrädiagrammeista edistyneisiin paikkatietovisualisointeihin. Jos projektissasi on vahva BI-komponentti, Se säästää aikaa ja päänsärkyä..

4) Nuttura

Bun keskittyy yhdeksi ajonaikaiseksi työkaluksi, paketinhallintaohjelmaksi ja pakkaajaksi palvelinpuolen JS:lle. Sen suurin vahvuus on suorituskyky (osittain kiitos Zigille) ja integroidun käyttökokemuksen ansiosta se on vakava vaihtoehto Nodelle ja Denolle. Jos olet kiinnostunut lyhentämään komentorivi- ja rakennusaikoja sekunneilla, Anna sille pyörähdys.

5) Claude 2

Tämä antrooppinen avustaja käsittelee valtavia konteksteja (jopa noin 100 000 tokenia) ja luonnostelee tai muuntaa tekstiä sujuvasti useilla kielillä. Voit tiivistää, poimia, kirjoittaa uudelleen ja vastata sisältöön perustuva ja ymmärtää yleisiä ohjelmointikieliä. Koulutettu HHH-periaatteen (Helpful, Honest, Harmless) mukaisesti. on vähemmän altis vaarallisille uloskäynneille eikä se harjoittele datallasi tai etsi vastauksia internetistä.

6) TorakkaDB

Hajautettu, ACID-yhteensopiva ja erittäin käytettävissä oleva SQL-tietokanta automaattisella replikoinnilla ja lukujen ja kirjoitusten vaakasuora skaalausIhanteellinen suuren transaktiomäärän tai usean alueen käyttöönottosovelluksiin, se vähentää viivettä ja auttaa säännösten noudattamisessa. Hyödyllinen organisaatioille, kuten Netflixille ja rahoituslaitoksille. He käyttävät sitä laajamittaisessa tuotannossa.

7) CPython (viimeaikaiset parannukset)

Python 3.11 ja 3.12 ovat tuoneet mukanaan konkreettinen harppaus referenssisuorittajan suorituksessahyödyttää useimpia projekteja ilman koodimuutoksia. Horisontissa suunnitelmat GIL:n ratkaisemiseksi avaavat oven todellinen rinnakkaisuus moniprosessoinnissa ja lisätuloja.

8) DuckDB

Upotettava analyyttinen moottori, jossa on pylväsmainen toteutus, rinnakkaisuus ja alhainen kulutusTäydellinen monimutkaisiin kyselyihin ja interaktiiviseen tutkimiseen kannettavilla tietokoneilla tai sulautetuissa järjestelmissä. Yhteensopiva standardin SQL:n ja ACID-tapahtumien kanssa sekä integroitavissa pandojen ja dplyr:n kanssa. Vähentää kitkaa analyysin ja sovelluksen välillä.

9) HTML ja hyperscript

He ehdottavat "täyden kaasun käyttöä" perinteisellä HTML:llä: HTMX korvaa toistuvan JavaScriptin Deklaratiiviset attribuutit AJAXille, tiloille ja datalleHyperScript yksinkertaistaa asynkronismin ja DOM:n HyperCard-tyylisellä syntaksilla. Yhdessä ne tarjoavat järkevä vaihtoehto reaktiivisille viitekehyksille kun etsit nopeutta ilman ylikuormitusta.

10) Istio

Täydellinen palveluverkko: helpottaa reititystä ja kuormituksen tasapainottamista, yksityiskohtainen havaittavuusSalaus, todennus ja valtuutus mikropalveluiden välillä. Se integroituu Kubernetesin kanssa ja erottaa verkko- ja tietoturvaongelmat koodista, standardoimalla käytäntöjä monimutkaisissa käyttöönottoissa.

Yhteisö ja hyvät käytännöt

Jos työskentelet tekoälyn ja automaatiotyökalujen parissa, on hyvä idea osallistua yhteisöihin, jotka jakavat koodia, vinkkejä ja parhaita käytäntöjä. ChatGPT-ohjelmointiin keskittyviä subreddittejä on olemassa. jossa julkaistaan ​​vuorovaikutusta, käyttövinkkejä ja valmiita projekteja; muista lukea säännöt ennen julkaisemista ylläpitääksesi hyödyllinen ja kunnioittava ympäristö.

Resurssit ja laajentuminen

Jos olet kiinnostunut lukemaan lisää avoimen lähdekoodin työkaluista, tarjolla on laaja listaus kymmenistä projekteista, jotka kattavat kehityksen, datan, analytiikan, tekoälyn ja koneoppimisen. Edellinen valinta vaihtelee välillä 1–10 ja jatkuu seuraavissa artikkeleissa. Saat tarkempia tietoja lataamalla dokumentaatiota ja teknisiä oppaita, kuten yliopistojen raportteja ja raportteja, jotka Ne laajentavat datajärvien, varastojen ja järvenrantatalojen käsitteitä.Tässä on referenssiesimerkki PDF-muodossa. saatavilla konsultaatiota vartenJa muuten, Seuraa meitä Twitterissä ja LinkedInissä Jos haluat pysyä ajan tasalla uutisista.

Kokonaisuutta tarkasteltaessa se näyttää erittäin vankalta teknologiselta kudokselta: avoimet IoT-alustat kypsillä komponenteilla (DeviceHive, ThingSpeak, Mainflux, Thinger.io, OpenRemote), avoimiin työnkulkuihin hyvin sopivia pilvivaihtoehtoja (Google Cloud IoT), teollisuusohjelmistopaketti, kuten eManager, keskeisine työkaluineen (Chirpstack, Node-RED, TICK, Grafana, InfluxDB, MariaDB, PostgreSQL, SQLite), sekä joukko avoimen lähdekoodin projekteja datalle ja taustajärjestelmille (Hudi, Iceberg, Superset, Bun, Claude 2, CockroachDB, CPython, DuckDB, HTML/Hyperscript, Istio), jotka Ne kattavat kaiken latauksesta katseluun ja hallintaanKaiken tämän avulla sinulla on enemmän kuin tarpeeksi materiaalia suunnitellaksesi vankan, turvallisen ja skaalautuvan IoT-ratkaisun, joka on valmis kasvamaan menettämättä hallintaa.

MKR 1000
Aiheeseen liittyvä artikkeli:
MKR1000, uusi Arduino-kortti IoT: lle