Kuinka IBM: n Node-RED on hakkeroinut yhdessä asioiden Internetiä

Ympäröivän maailman hakkerointi taivuttaaksesi sitä tahtosi on entistä helpompaa.

Olipa kyse lampun asettamisesta vilkkumaan, kun joku uudelleentwiittaa sinua tai järjestelmä tekstiviestinä sinulle, kun pesu on valmis, työ tehdään, jotta koneesta olisi helpompi puhua koneen kanssa.

Tietokoneiden, anturien ja verkkopalvelujen runsaasti yhdistäminen nykymaailmaan voi johtaa outoihin ja ihaniin luomuksiin, esimerkiksi tämä pillin ohjattava drooni.

Mutta ilkeä karkea työskennellä tämän asioiden internetin kanssa on toistuvaa. Poistamaan osa näistä IBM: n huumeiden tutkijoista osui ajatukseen rakentaa uudelleenkäytettävän koodin työkalupakki, jota ihmiset voisivat käyttää ohjelmistojen ja laitteiden helpompaan kytkemiseen hyödyllisiin järjestelmiin.

IBM: n tutkijat etsivät tapaa yksinkertaistaa järjestelmien ja anturien kokonaisprosessia rakentamalla asiakkaille konseptiteksti tekniikoita.

"Keskustelemme ja Nick sanoi:" Tämän on oltava helpompi tapa ", sanoi IBM: n vanhempi keksijä Dave Conway-Jones.

Conway-Jones viittaa Nick O'Learyyn, IBM: n nousevaan tekniikan asiantuntijaan, joka oli tuolloin kokeillut vetämällä ja pudottamalla graafisia työkaluja rakentaakseen koodin, jota tarvitaan verkkopalvelujen, ohjelmistojen ja laitteistojen kommunikointiin. Juuri nämä työkalut kehittyisivät Node-PUNAISEKSI.

Node-RED on tapahtumakäsittelymoottori, joka periaatteessa estää laitteisto- ja ohjelmisto hakkereita joutumasta keksimään pyörää jatkuvasti. O'Leary käyttää esimerkkiä siitä, että joudutaan kirjoittamaan koodi lähettämään tietoja laitteelle sarjaportin kautta aina, kun he aloittavat uuden projektin.

"Dave ja minä tiedämme kuinka kirjoittaa koodia puhuaksesi sarjaporttiin, mutta saattaa kestää hetken muistaa, kuinka se tehdään ja kirjoitetaan."

"Puhuminen sarjaporttiin Node-RED: llä on vain tapa vetää solmuun ja antaa sille sarjaportin yksityiskohdat ja olet valmis. Se antaa meille tämän ketteryyden prototyypin nopeaan kehittämiseen."

Node-RED ei poista tarvetta kirjoittaa koodia kokonaan, mutta vähentää sitä, ja prosessissa sekä alentaa teknistä palkkia että antaa ihmisille mahdollisuuden keskittyä luomiseen tekemisen sijaan.

"Aivan kuten laskentataulukko antaa sinun leikkiä numeroilla, Node-RED on työkalu, joka on hyvä pelata tapahtumien parissa", sanoi Conway-Jones.

"Ihmiset, jotka eivät ole ohjelmoijia, voivat alkaa ajatella:" Minulla on täällä Twitter ja haluan analysoida mitä puhutaan ja julkaista sen täällä olevaan asiakirjaan. Kuinka voin tehdä sen? ". Esimerkiksi sinulla voisi olla Twitter-syöte tulossa, tee vähän tunteellisia analyysejä tweeteissä ja lähetä kaikki hyvät sähköpostiosoitteeseen.

"Ihmiset, jotka työskentelevät melkein yritystasolla, eivät aivan mutta päästäkseen tälle tasolle, voisivat tehdä tämän. Se on se taso, johon haluamme päästä."

Mikä on Node-RED?

Ensi silmäyksellä Node-RED-käyttöliittymä voi muistuttaa käyttäjiä Scratchista, MIT: n kehittämästä graafisesta työkalusta, jonka avulla lapset voivat koodata yksinkertaisia ​​ohjelmia vetämällä ja pudottamalla ohjelmistokomentoja.

Kuten Scratch, Node-RED tarjoaa graafisen käyttöliittymän, jossa käyttäjät vetävät ja pudottavat lohkoja, jotka edustavat suuremman järjestelmän komponentteja, Node-RED-tapauksessa yleensä laitteet, ohjelmistoalustat ja verkkopalvelut, jotka on tarkoitus yhdistää. Lisälohkoja voidaan sijoittaa näiden komponenttien väliin edustamaan ohjelmistofunktioita, jotka ryöstävät ja muuttavat dataa siirrettäessä.

Ehkä paras tapa ymmärtää mitä Node-RED on, on nähdä se. Alla on Node-RED: n "Hello World" -ohjelma, jota käytetään yleisesti esittelemään jollekin uutta tekniikkaa tai ohjelmointikieltä. Tuntemattomille tämä ohjelma on yleensä hyvin yksinkertainen rutiini, joka tulostaa näytölle viestin 'Hello World'.

Hello World -rutiini Node-RED-kuvassa: IBM

Täällä voit nähdä Node-RED: n graafisen käyttöliittymän ja kuinka alusta hajottaa järjestelmät niiden osiin.

Jokainen pyöristetty lohko, jonka voit nähdä näytöllä, on solmu, joka on visuaalinen esitys JavaScript-koodin lohkosta, joka on suunniteltu suorittamaan tietty tehtävä.

'Hello World' -ohjelman rakentamiseksi käyttäjä vetää keskusikkunaan 'inject node', solmun, joka on suunniteltu lähettämään viesti muille solmuille.

Tätä injektiosolmua muokataan tuottamaan merkkijono 'Hei'.

Seuraavaksi toimintasolmu vedetään ja muokataan määrittelemään JavaScript-toiminto, joka lisää merkkijonon 'Maailma' mihin tahansa vastaanottamaansa viestiin.

Nämä kaksi solmua kytketään sitten yhteen. Useimpien solmujen vasemmassa reunassa on harmaa ympyrä, joka edustaa heidän tuloporttia, ja oikeassa reunassa, joka edustaa niiden lähtöporttia. Vasen napsauttaminen ja vetämällä 'Hei' -solmun lähtöportti 'Maailman' -solmun tuloporttiin yhdistää nämä kaksi toisiinsa.

Viimeinen vaihe on lisätä virhesolmu, joka tulostaa vastaanottamansa viestin virheenkorjausikkunaan. Tämä Debug-solmu kytketään sitten 'World' -solmun ulostuloon.

Prosessi on nyt valmis ajoon ja kun se on otettu käyttöön, näyttöön tulee merkkijono 'Hello World' Debug-ruutuun, joka näkyy näytön oikealla puolella.

Tämä valmis ohjelma on esimerkki siitä, mitä kutsutaan virtaukseksi solmu-Punaisessa.

Mitä mielenkiintoista Node-RED: ssä on, että se voi tehdä paljon muutakin kuin yksinkertaisen viestin sylkemisen, se voi myös liittää yhteen verkkopalvelut ja laitteistot, ja siitä se alkaa tulla voimakkaammaksi.

Käytä tätä kuvaaja ja IBM: n työntekijä Dom Bramley, joka ottaa kuvia yötaivaalta, Node-RED-käyttö. Laitteisto, johon hän luottaa, ei ole vedenpitävä, mutta se on jätettävä ulkona yön yli tähtiä kuvaamaan.

Hän rakensi Node-RED: n avulla henkilökohtaisen säähälytysjärjestelmän, joka toimii ohjaamalla kodin valoja. Bramley rakensi virtauksen, joka yhdistettiin ennusteeseen.io Weather API joka kolmas minuutti tarkistaaksesi paikalliset sademäärät. Toinen solmu otti vastauksen ennusteesta.io ja käytti sitä laskeakseen kuinka monta minuuttia sademäärä saapuu kotiinsa. Sitten olohuoneessaan oleva ympäristön lamppu muutti väriä minuutin määrästä sademäärän saapumiseen perustuen, kun taas yölamppu syttyi, jos sade oli riittävän lähellä, jotta sitä voitaisiin pitää vaarallisena.

Kaksi virtausta kontrolloivat talon valoja, yksi loi RGB-arvon, joka muutti ympäröivän valon väriä sateen läheisyyden perusteella. Toinen lähetti signaalin MQTT-liitettyyn Arduinoon, joka ohjasi 433MHz: n pistorasiaa, joka kytkei sängyn lampun päälle, jos vaarallinen tilanne laukaisi.

Node-RED oli liima, joka piti säähälytysjärjestelmän yhdessä, jolloin Bramley pystyi imemään tietoja prognoz.io API: sta, hyödyntämään siitä tietoa ja käyttämään näitä tietoja kotonaan olevien automatisoitujen järjestelmien manipulointiin.

Säähälytysjärjestelmän Node-PUNAINEN virtaus. DLB

Asioiden Internetin rakentaminen

Bramleyn säähälytysvirta osoittaa, kuinka Node-RED antaa tekijöiden rakentaa muiden töihin.

Esimerkiksi tietojen keräämiseksi ennusteesta.io Bramley toi olemassa olevan solmun, joka lähettää HTTP GET -pyyntöjä. Hänen täytyi vain muokata pyynnön URL-osoitetta ja lisätä merkkijono, joka asetti hänen kyselyn.

Bramleyn säähälytysjärjestelmä on puolestaan ​​saatavana muille tuodakseen Node-RED: ään, jotta he voivat käyttää ja väärinkäyttää sitä haluamallaan tavalla. Vaikka he eivät halunnut koko virtausta, he voisivat vain kannibalisoida sen osiin, ehkä vain asentaa solmu ympäröivän valaistusjärjestelmän värin vaihtamiseksi.

"Node-RED-sovelluksessa voit kääriä minkä tahansa toiminnallisuuden, kapseloida kyseisen toiminnon solmuna meidän palelettemme", sanoi O'Leary - luettelee MQTT-asiakkaan moduulit ja puhu laitteistojen sarjaporteille esimerkkinä solmuihin sisällytetyistä toiminnoista. .

"Tätä solmuvalikoimaa ei ole koodattu, joten voit vain pudottaa uusia solmuja ja kun aloitat, sinulla on uusia toimintoja.

"Se, että solmujen ekosysteemi tekee Node-RED-alustasta, johon ihmiset voivat myötävaikuttaa.

"Se tarkoittaa, että meidän ei tarvitse viettää aikaa huolehtimiseen siitä, kuinka käsitellä tiettyjä teknisiä haasteita. Voimme keskittyä siihen, mitä haluamme tämän sovelluksen tekevän. Sinun on keskityttävä mihin, eikä miten."

Uusia solmuja vuorovaikutukseen laitteistojen, ohjelmistojen ja verkkopalvelujen kanssa lisätään koko ajan. Viimeaikaiset lisäykset sisältävät solmut Belkin WeMo -kauko-ohjattavien pistorasioiden ja Philips-sävyvalaistuksen ohjaamiseksi. Solmut voidaan myös kirjoittaa hyödyntämään ohjelmistoalustoja. Solmut voivat lähettää tekstiviestejä Twilyn kautta ja viestejä Twitterin kautta.

Solmun kirjoittamiseen tarvittava tekninen palkki ei ole erityisen korkea, koska solmu on yksinkertaisesti kapseloitu jokin JavaScript-koodi, joka on käynnissä node.js-ympäristössä.

Siellä on jo aktiivinen yhteisö, joka tuottaa säännöllisesti uusia solmuja, ja Node-RED-alusta on avoimen lähdekoodin projekti, jota ylläpidetään GitHubissa, joten kuka tahansa voi antaa panoksensa.

Solmu-PUNAISET virrat on esitetty JavaScript Object Notation- tai JSON-tiedoissa, ja ne voidaan helposti viedä leikepöydälle tuotaviksi Node-PUNAISEKSI tai jakaa verkossa.

IBM harkitsee myös yksinkertaistamista rakentaa muiden työtä Node-RED: ssä ottamalla käyttöön alavirtauksia. Alivuojen avulla käyttäjät voisivat kutistaa useiden linkitettyjen solmujen virrat yhdeksi solmuksi, jolloin monimutkaisempi logiikka voidaan koota yhdeksi solmuksi.

Node-RED: n monet kasvot

"Jokainen tulee siihen täysin erilaisella käsityksellä mitä Node-RED on tai mikä se voisi olla", sanoi O'Leary ja viittasi siihen, kuinka alustan joustavuus on johtanut siihen, että ihmiset näkevät mahdollisuuksia, joita ei alun perin kuviteltu.

"On selvää, että se on alusta, jolla on monia erilaisia ​​sovelluksia, eri sektorit näkevät siinä erilaisia ​​asioita.

"Rakennamme alustaa, johon kuka tahansa voi osallistua solmuihin, jotta se ratkaisee jonkin ongelman heille, ja autamme sitten näitä solmuja takaisin sisään."

Esimerkiksi koulutus ei ollut IBM: n painopistealue Node-RED: n suunnittelussa, mutta Node-RED: n rakennusohjelmien vetämisen ja pudottamisen yksinkertaisuus on johtanut siihen, että jotkut koulut etsivät sitä käyttämään alustaa lasten opettamiselle koodauksesta ja laitteistojen hakkeroinnista.

Ja O'Leary sanoi, että ajan mittaan voidaan lisätä lisää solmuja, jotka poistavat enemmän koodausta, jotta Node-RED-järjestelmästä tulisi vähemmän pelottava ihmisille, joilla ei ole tietoa ohjelmoinnista.

"Siellä on ehdottomasti tilaa korkeamman tason abstraktiolle", hän sanoi.

Teknisen palkin laskeminen on yksinkertaisempaa sillä, kuinka helposti Node-RED-järjestelmää voidaan laajentaa esimerkiksi lisäämällä solmuja suorittamaan yleisiä ohjelmointirakenteita, kuten For-silmukka.

O'Leary puhui myös mahdollisuudesta, että joku voi luoda Node-RED-virtauksia kehittää oppitunteja lapsille elektroniikan ja tietojenkäsittelyn opettamiseksi, jotta opettaja voisi vaihtaa antureihin kytketyn Raspberry Pi -puhelimen toimimaan "oppitunti numero yksi" -tilassa.

Node-RED on nykyään suosittu kotiautomaatioon, O'Leary toteaa, viitaten tapauksiin, joissa se on syrjäyttänyt "Perl- ja Python-komentosarjojen sotkun", joka on pitänyt näitä järjestelmiä aiemmin yhdessä, hän sanoi.

Se, kuinka hyvä sopiva Node-RED on kodin automaatiolle, tulee ilmeiseksi, kun astut IBM: n Emerging Technologies -laboratorioon Hursleyssa, Englannissa. Tutkijat ovat käyttäneet Node-PUNAISTA sallia saman langattoman kytkimen kytkeä tuuletin päälle, muuttaa LED-merkkivalon näyttöä tai heiluttaa lampun päällä ja pois päältä. Kytkimen muuttaminen ei edellytä muuta kuin napsauttamalla Node-PUNAINEN virtausta ja vaihtamalla johdotus solmujen välillä - tehtävä, jonka suorittaminen vie sekuntia.

Vielä eksoottisempia käyttötarkoituksia on löydetty Node-RED: ltä Hursleystä. Virtaus on kirjoitettu ohjaamaan dronia vilistamalla, nouseva ääni saa droonin lentoon ja laskeva ääni saa sen laskeutumaan.

Node-RED auttaa jo IBM: tä liittämään yhteen todisteet asiakkaiden konseptien esittelyistä. Yritys on äskettäin käyttänyt Node-RED-virtauksia Raspberry Pi -levyillä yhdistämään Arduino-levyt verkkokameroihin ja lämpötila-, paine- ja kosteusantureihin, jotka seuraavat tehtaan tuotantolinjaa.

"Tietenkin olisimme voineet kirjoittaa koodin kaiken tämän sieppaamiseksi, mutta se olisi ollut paljon vähemmän joustava, koska kun lisäät uusia antureita, sinun on mentävä sisään ja selvitettävä, mihin lisätä uusia bittiä koodia", sanoi O'Leary.

Kun samassa yrityksessä oli ongelma rakennusyritysten kanssa irrottaa näitä tietoja keräävä palvelin pistorasiasta - jotta he voisivat kytkeä sähkötyökalut - IBM pystyi "noin viiden minuutin tilassa" käyttämään Node-RED-johtoa kytkeäkseen järjestelmän, joka automaattisesti sähköpostitse avainhenkilöille, jos palvelin meni alas.

"Meille joustavuus on arvo", sanoi O'Leary, "mutta muut ihmiset näkevät eri arvon."

Yrityksille, jotka arvostavat arvoa, voisi olla lajitella tietoja sen verkon reunan kohdalta, missä ne kerätään, suodattaa melu ja lähettää vain asiaankuuluvat tiedot.

"Se mitä täällä on, on jotain, jonka avulla voit siirtää logiikan ja liiketoiminnan hallinnan verkon reunaan, suoraan Raspberry Pi: hen tai vähän upotettuun Linux-ruutuun", O'Leary sanoi.

"Se on mielenkiintoinen alue. Se soveltuu juoksemiseen verkon reunalla kevyen jalanjäljensä takia. Se voi seurata tapahtumia paikallisesti ja lähettää yritykselle jotain vain tarvittaessa, sen sijaan, että sinun pitäisi lähettää kaikille tietosi ylöspäin keskitetyn tietoyrityskeskuksen ja käsittelemään sitä siellä. "

Solmun RED rajoitukset

Node-RED on sovellus, joka perustuu node.js-palvelimeen, palvelinpuolen JavaScript-alustaan, joka käyttää tapahtumavetoista, estämätöntä I / O-mallia, joka soveltuu luomaan dataintensiivisiä, reaaliaikaisia ​​sovelluksia, jotka kulkevat hajautettujen laitteiden välillä.

Jotta laite tai palvelu toimisi Node-RED: n kanssa, siellä on oltava node.js-kirjasto tai -moduuli, joka pystyy puhumaan heidän kanssaan.

Yhteensopivien palvelujen ja laitteiden lukumäärä on kuitenkin suuri, mikä johtuu osittain siitä, että monet nykyaikaiset alustat paljastavat tietonsa ja toiminnallisuutensa avoimien sovellusliittymien kautta, jotka hyväksyvät HTTP-pyynnöt.

Ja koska Node-RED toimii node.js: ssä, se voi myös toimia onnellisina useilla vähemmän tehokkailla laitteilla, kuten $ 35 Raspberry Pi.

Mitä seuraavaksi tulee Node-RED: lle?

IBM avasi Node-RED-alustan syyskuussa, ja O'Leary kertoi, että IBM: llä on "valkotaulu, joka on täynnä suunnitelmia, ideoita ja ominaisuuksia, jotta voimme toimia hitaasti läpi".

Node-RED on kehittyvä alusta, jonka O'Leary odottaa löytävän uusia yleisöjä, kun yhteisö rakentaa sen päälle uusia työkaluja.

"Tämä ei vieläkään ole jotain, jota äitini käyttäisi, mutta on varmasti paljon ihmisiä, joiden avulla tämä pystyy tekemään enemmän kuin luulisi voivansa."

© Copyright 2020 | mobilegn.com