Hogyan csapkodik össze az IBM Node-RED a dolgok internetén

Egyszerűbbé és könnyebbé teheti a körülötte lévő világ hackelését, hogy azt akaratához hajtsa.

Függetlenül attól, hogy beállít-e egy lámpát, hogy villogjon, amikor valaki újraküld téged, vagy egy rendszer, hogy szöveges üzenetet küldjön, amikor a mosás befejeződött, folyamatban van a munka, hogy megkönnyítsék a gép beszélgetését a géppel.

A számítógépek, az érzékelők és az online szolgáltatások gazdagságának felkarolása a modern világban furcsa és csodálatos alkotásokhoz vezethet, például ez a sípot vezérelt drón.

De a dolgok ezen internetével való munka mocskos morzsája ismétlődő. Az IBM kábítószer-kutatóinak egy részének eltávolítása érdekében elgondolkodott egy újrahasznosítható kód eszköztár felépítése, amelynek segítségével az emberek könnyebben összekapcsolhatnák a szoftvereket és eszközöket hasznos rendszerekbe.

Az IBM kutatói módszert kerestek a rendszerek és érzékelők összekapcsolásának egyszerűsítésére, amikor az ügyfelek számára koncepció-bizonyító technológiákat építenek.

"Beszélgettünk és Nick azt mondta:" Ennek megkönnyítésére kell törekedni "- mondta Dave Conway-Jones, az IBM vezető feltalálója.

A Conway-Jones Nick O'Leary-re, az IBM feltörekvő technológiai szakemberére hivatkozik, aki akkoriban a drag and drop grafikus eszközök használatával kísérletezte a kód létrehozásához, amely a webszolgáltatások, a szoftverek és a hardverek közötti kommunikációhoz szükséges. Ezek az eszközök fejlődnek majd a Node-RED-re.

A Node-RED egy eseményfeldolgozó motor, amely alapvetően megakadályozza, hogy a hardver és a szoftver hackerek folyamatosan feltalálják a kereket. O'Leary arra a példára épül, hogy minden egyes új projekt indításakor kódot kell írni az eszközhöz a soros portján keresztül.

"Dave és én tudjuk, hogyan kell kódot írni a soros porthoz való beszélgetéshez, de eltarthat egy ideig, amíg nem emlékszem, hogyan kell csinálni és megírni."

"A Node-RED használatával egy soros porttal való beszélgetéshez egyszerűen be kell húzni egy csomópontot, és meg kell adni a soros port adatait. Ez kész. Ez megadja nekünk ezt a gyorsaságot a prototípus készítéséhez."

A Node-RED nem veszi el teljesen a kódírás szükségességét, de csökkenti azt, és a folyamat során csökkenti a műszaki sávot, és lehetővé teszi az emberek számára, hogy a létrehozás helyett a cselekvésre összpontosítsanak.

"Ahogy a táblázat lehetővé teszi számokkal való játékot, a Node-RED olyan eszköz, amely alkalmas az eseményekkel való játékra" - mondta Conway-Jones.

"Azok az emberek, akik nem programozók, elkezdenek gondolkodni:" Itt van Twitter, és elemezni szeretném a mondatokat, és itt közzétennék egy dokumentumba. Hogyan tudom megtenni? ". Például rendelkezhet egy Twitter-hírcsatornával. bejövő, végezzen egy kis érzelmi elemzést a tweetekről, és küldjön minden jót egy e-mail címre.

"Azok a szinte üzleti szintű funkciókkal dolgozók, akik nem egészen a szintre kerülnek, meg tudják csinálni. Erre a szintre akarunk jutni."

Mi a Node-RED?

Első pillantásra a Node-RED felülete emlékeztetheti a felhasználókat a Scratch-ra, az MIT által kifejlesztett grafikus eszközre, amely lehetővé teszi a gyermekek számára az egyszerű programok kódolását a szoftverparancsok húzásával és dobásával.

A Scratchhoz hasonlóan a Node-RED olyan grafikus felhasználói felületet is biztosít, ahol a felhasználók egy nagyobb rendszer alkotóelemeit ábrázoló blokkokat húzhatnak és dobnak, a Node-RED esetében általában a csatlakoztatandó eszközöket, szoftverplatformokat és webszolgáltatásokat. Ezen blokkok között további blokkok helyezhetők el, amelyek olyan szoftverfunkciókat reprezentálnak, amelyek átalakítják és átalakítják az adatokat a továbbítás során.

Talán a legjobb módja annak, hogy megértsük, mi a Node-RED, ha látjuk. Az alábbiakban a Node-RED egy "Hello World" program ábrázolása, amelyet általában valaki új technológia vagy programozási nyelv bemutatására használnak. Az ismeretlenek számára ez a program általában egy nagyon egyszerű rutin, amely a „Hello World” üzenetet nyomtatja a képernyőre.

A Hello World rutin a Node-RED képben: IBM

Itt láthatja a Node-RED grafikus felhasználói felületét és azt, hogy a platform hogyan bontja a rendszereket alkotórészeire.

A képernyőn látható lekerekített blokkok mindegyike egy csomópont, amely egy JavaScript feladat egy adott feladat végrehajtására szolgáló blokkjának vizuális ábrázolása.

A „Hello World” program felépítéséhez a felhasználó behúzza a központi ablakba egy „injektáló csomópontot”, egy csomópontot, amely üzenetet továbbít más csomópontokhoz.

Ezt az injektáló csomópontot szerkesztik, hogy kiadja a „Hello” karakterláncot.

Ezután egy függvénycsomót húzunk és szerkesztünk egy olyan JavaScript funkció meghatározásához, amely hozzáfűzi a 'Világ' karakterláncot a kapott üzenetekhez.

Ezt a két csomópontot ezután összekapcsolják. A legtöbb csomópont szürke köre van a bal szélén, amely jelzi a bemeneti portot, és a jobb szélén, amely jelzi a kimeneti portot. Bal egérgombbal kattintva húzza a 'Hello' csomópont kimeneti portját a 'World' csomópont bemeneti portjához, és összekapcsolja a kettőt.

Az utolsó lépés egy hibakeresési csomópont hozzáadása, amely kinyomtatja a kapott üzenetet a hibakeresési ablakban. Ezt a hibakeresési csomópontot ezután a 'Világ' csomópont kimenetére vezetjük.

A folyamat már készen áll a futtatásra, és a telepítés után a képernyő jobb oldalán látható hibakeresési mezőben megjelenik a „Hello World” karakterlánc.

Ez a befejezett program egy példa arra, amit a Node-RED-ben folyamatnak hívunk.

Ami a Node-RED-nél érdekes, hogy sokkal többet tehet, mint egy egyszerű üzenet kiküszöbölése, web-szolgáltatásokat és hardvereket is összeragaszthat, és itt kezd nagy teljesítményűvé válni.

Használja ezt a Node-RED felhasználót, a fotós és az IBM alkalmazott, Dom Bramley, aki az éjszakai égbolt képeit készíti. A berendezés, amelyre támaszkodik, nem vízálló, de a csillagok fényképezéséhez egy éjszakán át kell hagyni.

A Node-RED segítségével személyes időjárási riasztórendszert készített, amely az otthoni lámpák vezérlésével működik. Bramley olyan áramlást épített fel, amely három percenként csatlakozik az előrejelzés.io weather API-hoz, hogy ellenőrizze a helyi csapadék-előrejelzéseket. Egy második csomópont vett előrejelzést aio.io válaszból és kiszámította, hogy hány percig érkezik csapadék az otthonába. A nappali szobájában lévő környezeti lámpa színe megváltozott a csapadék megérkezéséig eltelt percek számának függvényében, míg az éjjeli lámpa bekapcsol, ha az eső elég közel volt ahhoz, hogy biztonságosnak lehessen tekinteni.

Két áramlás irányította a ház lámpáit, az egyik létrehozott egy RGB-értéket, amely az eső közelsége alapján megváltoztatta a környezeti fény színét. A második jel egy MQTT-hez csatlakoztatott Arduino-nak küldött egy 433MHz-es dugaszoló aljzatot, amely az éjjeli lámpa kigyulladt, ha nem biztonságos állapot vált ki.

A Node-RED volt az a ragasztó, amely együtt tartotta az időjárás-riasztó rendszert, lehetővé téve Bramley számára, hogy adatokat szoptasson az előrejelzésio API-ból, hasznos betekintést nyerjen be abból, és felhasználja ezeket az információkat otthonában lévő automatizált rendszerek manipulálására.

A Node-RED áramlás az időjárási riasztó rendszer számára. DLB

A dolgok internetének kiépítése

Bramley időjárási riasztása azt mutatja, hogy a Node-RED lehetővé teszi az alkotók számára, hogy mások munkájára építhessenek.

Például, az adatok előhívása céljából az előrejelzésből.io Bramley importált egy meglévő csomópontot, amely HTTP GET kéréseket nyújt be. Csak annyit kellett szerkesztenie, hogy URL-jét a kérelemhez benyújtotta, és adjon hozzá egy karakterláncot, amely beállította a lekérdezést.

A Bramley időjárási riasztórendszere mások számára elérhető a Node-RED rendszerbe történő importálásra, hogy a megfelelő módon használhassák és visszaéljék. Még akkor is, ha nem akarták a teljes áramlást, egyszerűen csak részekre tudják kannibalizálni, esetleg csak telepíteni a csomópontot a környezeti világítási rendszer színének megváltoztatására.

"A Node-RED-ben bármilyen funkcionalitást becsomagolhat, és csomópontként beillesztheti ezt a funkciót a palettánkba" - mondta O'Leary - felsorolta az MQTT kliensek moduljait, és beszélget a hardver soros portjaival, mint a csomópontokba beépített funkciók példáit. .

"Ez a csomópont-paletta nincs merev kódolású, így elvehet új csomópontokat, és amikor elkezdi az új funkciókat.

"A csomópontok azon ökoszisztémája teszi a Node-RED platformot, amelyhez az emberek vissza tudnak járulni.

"Ez azt jelenti, hogy nem kell időt töltenie azzal, hogy aggódjunk a speciális műszaki kihívások kezelésében. Koncentrálhatunk arra, hogy mit akarunk az alkalmazásnak. Meg kell koncentrálnia arra, hogy mi, nem pedig hogyan."

Folyamatosan bővülnek a hardverrel, szoftverrel és webes szolgáltatásokkal való interakció új csomópontjai. A legújabb kiegészítések tartalmaznak csomópontokat a Belkin WeMo távirányítású aljzatok és a Philips árnyalatú világítás vezérléséhez. A csomópontok is felírhatók a szoftverplatform kihasználása érdekében, a csomópontok SMS-üzeneteket küldhetnek a Twilio-n keresztül, az üzeneteket pedig a Twitter-en keresztül.

A csomópont írására szolgáló technikai sáv nem különösebben magas, mivel a csomópont egyszerűen egy JavaScript kód beágyazása, amely a node.js környezetben fut.

Már létezik egy aktív közösség, amely rendszeresen állít elő új csomópontokat, és a Node-RED platform egy nyílt forrású projekt, amelyet a GitHub tárol, így bárki hozzájárulhat.

A Node-RED folyamatokat a JavaScript Object Notation vagy JSON képviseli, és könnyen exportálhatók a vágólapra, hogy importálhatók legyenek a Node-RED-be, vagy megosszák az interneten.

Az IBM azt is fontolóra veszi, hogy egyszerűbbé tegye mások munkájának kiépítését a Node-RED-ben az aláramok bevezetésével. Az aláramlások lehetővé tennék a felhasználók számára, hogy összekapcsolt csomópontok áramlásait egyetlen csomópontba összecsukják, lehetővé téve a bonyolultabb logika egyetlen csomópontba történő kivonását.

A Node-RED sok arca

"Mindenki egy teljesen más észleléssel látja el, hogy mi a Node-RED, vagy mi lehet" - mondta O'Leary, utalva arra, hogy a platform rugalmassága miként vezette az embereket olyan lehetőségek látásához, amelyeket eredetileg nem láttak el.

"Nyilvánvaló, hogy ez egy olyan platform, amelynek sokféle alkalmazása van, a különböző ágazatok különböző dolgokat látnak benne.

"Olyan platformot építünk, amelyhez bárki hozzá tud járulni a csomópontokhoz, így megold egy számottevő problémát számukra, majd visszajuttatjuk ezeket a csomópontokat."

Például az oktatás nem volt az IBM középpontjában a Node-RED tervezésekor, ám a Node-RED programban az építőprogramok egyszerű és vonzó eleme miatt néhány iskola arra késztette, hogy ezt a platformot használja a gyermekek kódolásának és hardver hackelésének megtanításához.

És O'Leary azt mondta, hogy idővel több csomópontot lehet hozzáadni, amelyek elválasztják a kódolást, hogy a Node-RED kevésbé félelmetes legyen az emberek számára a programozás ismerete nélkül.

"Határozottan van hely a magasabb szintű absztrakcióhoz" - mondta.

A műszaki sáv csökkentését egyszerűbbé teszi a Node-RED kiterjesztése, például csomópontok hozzáadásával közös programozási konstrukciók végrehajtásához, például For For hurokhoz.

O'Leary arról is beszélt, hogy valaki létrehozhat Node-RED folyamatokat, hogy megtestesítsék a gyermekeknek az elektronika és a számítástechnika oktatására szolgáló órákat, így a tanár átválthat egy érzékelőkhöz csatlakoztatott Raspberry Pi-t az "első számú óra" üzemmódban történő futtatásra.

A Node-RED jelenleg népszerű az otthoni automatizálás működtetésére, O'Leary szerint, hivatkozva azokra az esetekre, amikor félrehúzta a Perl és a Python szkriptek rendetlenségét, amely ezeket a rendszereket korábban együtt tartotta - mondta.

Az, hogy a Node-RED mennyire felel meg otthoni automatizálásnak, nyilvánvalóvá válik, amikor belép az IBM Emerging Technologies laboratóriumába Hursley-ben, Angliában. A kutatók a Node-RED funkciót használják, hogy ugyanazon vezeték nélküli kapcsoló lehetővé tegye a ventilátor bekapcsolását, a LED-es kijelző kijelzőjének megváltoztatását vagy a lámpa be- és kikapcsolását. A kapcsoló működésének megváltoztatásához nem kell több, mint a Node-RED folyamatra kattintva és a csomópontok közötti vezetékek cseréjére cserélni, ez egy másodpercig tartó feladat.

Még egzotikusabb felhasználást találtak a Node-RED-re Hursley-ben. Az áramlást úgy írták, hogy sípolóval vezessenek a dront, az emelkedő hang a drón felszállását, a csökkenő hang pedig landolást okoz.

A Node-RED már segít az IBM-nek, hogy összevonja az ügyfelek számára a koncepció demonstrációjának igazolását. A cég a közelmúltban vezette a Node-RED áramlásokat Raspberry Pi táblákon, hogy az Arduino táblákat a webkamerákkal és a hőmérsékleti, nyomás és páratartalom érzékelőkkel kösse össze egy gyári gyártósoron.

"Természetesen írhattunk volna kódot mindezek rögzítéséhez, de sokkal kevésbé lett volna rugalmas, mert új érzékelők hozzáadásakor be kell lépnünk és ki kell dolgoznunk, hogy hol lehet új kód biteket hozzáadni - mondta O'Leary.

Amikor ugyanazon vállalkozásnak problémája volt az építőkkel, hogy lekapcsolják az adatokat gyűjtő szervert - hogy csatlakoztathassák az elektromos szerszámukat - az IBM képes volt "kb. Öt perc alatt" Node-RED segítségével összekapcsolni egy rendszert, amely automatikusan e-mailben küldi el a kulcsfontosságú személyzetet, ha a szerver leállt.

"Számunkra a rugalmasság az érték - mondta O'Leary -, de mások más értéket látnak."

Azoknak a vállalkozásoknak, amelyek értékelik, az adatok szétválogatása a hálózat szélén gyűjtött hely közelében, a zaj kiszűrése és csak a releváns információk küldése.

"Itt van valami, ami lehetővé teszi a logika és az üzleti irányítás a hálózat szélére állítását, egészen egy Raspberry Pi-hez vagy egy kissé beágyazott Linux mezőbe" - mondta O'Leary.

"Ez egy érdekes terület. Könnyű lábnyomának köszönhetően a hálózat szélén futtatható. Helyi eseményeket figyelhet, és csak akkor küldhet valamit a vállalkozásnak, amikor erre szüksége van, ahelyett, hogy minden adatot el kellene küldenie a központi adatvállalkozási központ és ott foglalkozik vele. "

A Node-RED korlátozásai

A Node-RED a node.js alapú alkalmazás, egy szerveroldali JavaScript platformon alapuló alkalmazás, amely eseményvezérelt, nem blokkoló I / O modellt alkalmaz, és amely lehetővé teszi az adatintenzív, valós idejű alkalmazások létrehozását, amelyek futnak az elosztott eszközökön.

Ahhoz, hogy egy eszköz vagy szolgáltatás működjön a Node-RED-rel, szükséges egy node.js könyvtár vagy modul, amely képes beszélni velük.

A kompatibilis szolgáltatások és eszközök száma azonban széles, részben annak köszönhetően, hogy sok modern platformon a HTTP kéréseket elfogadó nyílt API-k révén adataikat és működőképessé teszik.

Mivel a Node-RED a node.js rendszeren fut, boldogan képes futtatni egy kevésbé erős eszközön is, mint például a 35 dolláros Raspberry Pi.

Mi lesz a következő: Node-RED?

Az IBM szeptemberben nyílt forráskódú volt a Node-RED platformon, és O'Leary azt mondta, hogy az IBM "tervekkel, ötletekkel és funkciókkal ellátott táblára van állítva, hogy lassan át tudjuk dolgozni".

A Node-RED egy olyan fejlődő platform, amelyre az O'Leary elvárása szerint új közönségeket fog találni, mivel a közösség új eszközöket épít rá.

"Ez még mindig nem valami olyan, amit anyukám használna, de minden bizonnyal sokan lehetővé teszik, hogy többet tegyenek, mint gondolnák.

© Copyright 2020 | mobilegn.com