- Előfeltételek
- Szükséges alkatrészek
- A Node-RED telepítése a Raspberry Pi-re
- A Node-RED elindítása a Raspberry Pi alkalmazásban
- A Node-RED interfész megértése
- Sémák
- Folyamat létrehozása Node-RED-ben
- Nyomógomb / kapcsoló hozzáadása a Node-RED interfészben a Raspberry Pi-vel
Elgondolkozott már azon, hogy van-e olyan módszer, amely egyszerű IoT megoldások prototípusait készítené anélkül, hogy napokat kellene töltenie kódok írásával, vagy praktikus haladó projekteket készítenénk kódolás nélkül. Igen, ez a Node-Red platformmal lehetséges. Az IBM által kifejlesztett Node-RED egy nyílt forráskódú programozási eszköz a hardvereszközök, az API-k és az online szolgáltatások új és érdekes módon történő összekötésére. Böngésző-alapú szerkesztőt biztosít, amely megkönnyíti a „ folyamatok” összekapcsolását a paletta csomópontjainak széles skálájának felhasználásával, amelyek egyetlen kattintással futtathatóak futásidejére.
A Node-RED egy hatékony eszköz a tárgyak internete (IoT) alkalmazások felépítéséhez, amelynek célja a programozási komponens egyszerűsítése.
Vizuális programozást használ, amely lehetővé teszi a kódblokkok, az úgynevezett csomópontok összekapcsolását egy feladat végrehajtásához. A mai oktatóanyaghoz megvizsgáljuk, hogyan telepíthet egyszerű projekteket a málna pi-re a Node-RED segítségével. A málna pi csomópont-piros bemutató kiterjed;
- A Node-RED telepítése a Raspberry Pi-re.
- Bevezetés a Node-RED felhasználói felületbe
- Hogyan állítsuk be a Node-RED folyamatokat
- Hogyan lehet irányítani a Raspberry Pi GPIO csapokat a Node-RED segítségével
- Hogyan használjuk a csomópont-RED bemeneteket, kimeneteket és ha másképp döntéseket hozunk kapcsolók segítségével
Előfeltételek
Ez az oktatóanyag a Raspbian stretch operációs rendszeren fog alapulni, és feltételezem, hogy ismeri a Raspberry Pi beállítását vele, és tudja, hogyan lehet SSH-t használni a Pi-be egy olyan terminálszoftverrel, mint a gitt. Ha bármilyen problémája merül fel, ezen a weboldalon rengeteg Raspberry Pi oktatóanyag segíthet.
Az oktatóanyag egyszerű kitöltéséhez azt tanácsolom, hogy használja a málna pi-hez csatlakoztatott monitort, vagy használja a VNC Viewer szoftvert. Ha még nincs Monitorja, és a Pi-vel kezdheti, olvassa el ezt a Headless Raspberry Pi beállítást, hogy folytassa az oktatóanyagot. Míg a Node-Red egy webböngészőből fut, és azon a számítógépen érhető el, amelyhez a Pi csatlakozik a Pi IP-címén keresztül, úgy gondolom, hogy a VNC / monitor élmény jobban el fogja látni a dolgokat.
A Node-Red működésének bemutatásaként bemutatjuk, hogy a Node-RED segítségével programozzuk a Raspberry Pi-t a GPIO-hoz csatlakoztatott LED vezérlésére, majd később módosítsuk a programot, hogy a LED-et a Pi-hez csatlakoztatott tapintható nyomógomb segítségével lehessen vezérelni. GPIO.
Szükséges alkatrészek
A projekt felépítéséhez a következő összetevőkre van szükség:
- Raspberry Pi 3 SD-kártyával, előre feltöltött Raspbian Stretch-rel
- 100 ohmos ellenállás (1)
- LED (1)
- Kenyérlemez (1)
- Férfi-nő jumper huzalok
- Tapintható nyomógomb (1)
A Node-RED telepítése a Raspberry Pi-re
Míg a Node-Red előre telepítve van a Raspbian Stretch operációs rendszerre, frissítenünk kell, mielőtt élvezhetnénk a legújabb funkciókat. A Node-Red akarat frissítése
- Frissítse a meglévő felhasználót LTS 8.x vagy 10.x Node.js és legújabb Node-RED verzióra
- A meglévő, globálisan telepített csomópontokat migrálja a ~ /.node-red helyre a felhasználók számára, hogy a palettakezelőn keresztül kezelhetők legyenek, ez NEM frissíti a felhasználó által telepített meglévő csomópontokat. Ezt a felhasználónak manuálisan kell elvégeznie (lásd alább).
- Opcionálisan (újratelepítheti) a teljes Raspbian Pi képre előre telepített csomópontokat.
A Node-Red frissítésének folyamata azonban hasonló egy új telepítéséhez, így a bemutató érdekében ezt csak egy új telepítésként kezeljük, így a többi operációs rendszer verzióját használók is követhetik.
Kövesse az alábbi lépéseket a Node-RED telepítéséhez / frissítéséhez a Raspberry Pi készüléken.
Mi kezdeni korszerűsítése és frissítése a pi, hogy biztosítsa minden rajta naprakész, és ne kompatibilitási problémák. Ehhez nyissa meg a terminált vagy az ssh-t, és futtassa;
Sudo apt-get frissítés
utána
sudo apt-get upgrade
Ha ez megtörtént, futtassa az alábbi bash parancsfájlt a terminálon;
bash <(curl -sL
A bash szkript a következő dolgokat fogja megtenni
- Kérdezze meg, hogy szeretné-e (újra) telepíteni az extra Pi csomópontokat
- Mentse el a / usr / lib / node_modules mappában található globálisan telepített csomópont-vörös csomópontok listáját
- apt-get a meglévő Node-Red eltávolítása
- távolítson el minden csomópont-piros bináris fájlt a / usr / bin és / usr / local / bin fájlokból
- Távolítson el minden csomópont piros modult a / usr / lib / node_modules és / usr / local / lib / node_modules fájlokból
- Annak észlelése, hogy a Node.js-t a Node.js csomag vagy a Debian telepítette-e
- Ha nem v8 vagy újabb - távolítsa el, ha szükséges, és telepítse a legújabb v8 vagy v10 LTS szoftvert (az apt használatával).
- Tisztítsa meg az npm és a.node-gyp gyorsítótárat a kód korábbi verzióinak eltávolításához
- Telepítse a Node-RED legújabb verzióját
- Telepítse újra a felhasználói fiók alá azokat a csomópontokat, amelyeket korábban globálisan telepítettek
- Szükség esetén telepítse újra az extra Pi csomópontokat
- Minden csomópont újjáépítése - a bináris fájlok újrafordítása a Node.js legfrissebb verziójának megfelelően
- Adja hozzá a node-red-start, node-red-stop és a node-red-log parancsokat a / usr / bin fájlba
- Menüparancs és ikon hozzáadása
- Adjon hozzá rendszerskriptet és állítsa be a felhasználót
- Ha egy Pi-n adja meg a CPU hőmérsékletét -> IoT példa
A fenti bash parancsfájl sok parancsot futtat sudo- ként, és törli a meglévő Node.js-t és az alapvető Node-RED könyvtárakat. A futtatás előtt ellenőrizheti a szkript tartalmát ezen a GitHub oldalon, hogy megbizonyosodjon arról, hogy ez nem érinti a Pi-n lévő projekteket.
A telepítés befejezése után most meg kell látnia a Node-Red ikont a menü programozási alkalmazások listájában.
A Node-RED elindítása a Raspberry Pi alkalmazásban
A Node-Red elindítható a menü szakaszon keresztül a málna pi asztaláról, a terminálon keresztül, vagy az ssh-n keresztül.
Az indításhoz a málna pi asztalán kattintson a Málna ikonra, vigye az egérmutatót a Programozás elemre, majd az indításához kattintson a Node-RED (Menü> Programozás> NodeRed) elemre.
Futtatásával ssh-ból vagy terminálból is elindítható;
csomópont-piros-indítás
Meg kell látnia egy olyan ablakot, mint az alábbi, amely a csomópont vörös indítását mutatja az asztalon.
Miután ezt meglátta, lépjen a menü-> Internet menübe, és indítsa el a króm böngészőt. Noha a Raspberry pi-nek nincs szüksége az internetre a Node-Red futtatásához, böngészőt használ interfészként.
A króm elindításakor írja be a localhost: 1880 címet a címsorba, majd az Enter billentyűt. 1880 a málna pi portja, amelyen a Node-Red előre be van állítva kommunikálni. Ennek meg kell jelenítenie a Node-Red interfészt az alábbi képen látható módon.
A Node-RED interfész megértése
A Node-Red interfész a folyamatpanelből, a csomópontok palettájából, a hibakereső konzolból és az információs konzolból áll, amint azt a fenti kép kiemeli.
A folyamat panelen a csomópontok össze vannak kapcsolva egy program létrehozására, amelyet a Node-Red-ben folyásnak neveznek, míg a Node paletta olyan objektumokból áll, amelyek reprezentatívak az eszközökhöz tartozó hardver, protokollok és szoftveres jellemzők szempontjából. Olyan protokollokat tartalmaz, mint az MQTT az IoT számára, valamint a GPIO kimeneti és bemeneti módokat olyan táblákhoz, mint a málna pi. Az információs konzol a kiemelt / kijelölt objektumokról nyújt információt a hibakereső konzol alattugyanúgy működik, mint az Arduino Serial monitor, és visszajelzést adhat az áramlás közben. A telepítési gombbal a folyamatot feltöltheti a cél hardverre. A Menü gomb különféle feltöltési típusokat tartalmaz, amelyek segítenek a lehető legjobban kihozni a projektből. A Node-Red üzembe helyezésével folytathatjuk a bemutató projekt felépítését.
Sémák
Amint a bevezetőben említettük, a mai demo projektünk a Raspberry Pi GPIO-jának vezérlése lesz Node-RED folyamattal. A GPIO állapotának változásának bemutatásához egy LED-et csatlakoztatunk a GPIO-hoz, így amikor az adott GPIO tű bekapcsol, a LED kigyullad és fordítva.
Csatlakoztassa a LED-et a Raspberry PI -hez az alábbi vázlatok szerint.
Ugyanazt a hardveremre építem kenyérlap, LED, ellenállás és néhány összekötő vezeték segítségével. A hardverbeállításom ilyesminek tűnik, amint a kapcsolatok létrejöttek.
Ez a projekt könnyen átalakítható otthoni automatizálási projektké, csupán a LED helyére egy relét és bármilyen váltóáramú készüléket cserél, és megtanulhatja, hogyan kell ezt megtenni a különböző otthoni automatizálási projekteken keresztül.
Folyamat létrehozása Node-RED-ben
A csatlakoztatott LED-del folytathatjuk az áramlás fejlesztését. A NodeRed programjait folyamoknak nevezzük, ugyanúgy, ahogy az Arduino IDE vázlatoknak nevezi őket. Az áramlások csomópontok kombinációjával jönnek létre. Létrehozhat több folyamatot, amelyek mind egyszerre futhatnak, de ehhez az oktatóanyaghoz egyetlen folyamatot fogunk létrehozni a LED be- és kikapcsolásához.
Először görgessen a Csomópontok paletta aljára, és meglátja a málna pi csomópontokat a vége felé két rpigpio feliratú csomópont mellett. Ezeket a csomópontokat használják a málna pi GPIO-jával való kommunikációhoz. Az egyik csomópont a bevitelre szolgál, míg a másik a kimenetre a málna pi logójának pozíciója szerint differenciálva. A bemeneti csomópontnál a logó a szöveg előtt, míg a kimeneti csomópontnál a logó a szöveg után következik, amint az az alábbi képen látható.
Ehhez az oktatóanyaghoz a kimeneti csomópontot fogjuk használni, majd húzza az interfész folyamat szakaszába. Ez a lépés hasonlít az Arduino egy adott PIN- kódjának kimenetként deklarálásához a pinMode () paranccsal. Kattintson duplán az Output csomópontra, és az alábbiak szerint megnyílik egy felugró ablak, amely lehetővé teszi a csomópont tulajdonságainak szerkesztését.
A pin tulajdonság szakasz alatt válassza a GPIO17 (11. tű) lehetőséget. Ezután állítsa a type tulajdonságot „ digital Output ” értékre, és jelölje be a „ Initialize pin state?” Lehetőséget. jelölőnégyzet, így a „ pin kezdeti szintje ” opció alacsony marad (0). Adjon a csomópontnak bármilyen nevet, és kattintson a Kész gombra.
A csomópont nevének automatikusan a tulajdonságbeállítás alatt megadott névre kell váltania. Például LED-nek neveztem el, ezért a csomópont neve LED-ként is megváltozik, az alábbiak szerint.
A LED be- és kikapcsolásához bemenetet kell használnunk, valamit a cselekvés vezérléséhez. Bár használhatnánk nyomógombot, ezt szeretném felhasználni a Node-RED azon funkciójának bevezetésére, amely lehetővé teszi az üzenetek befecskendezését a folyamatokba. Ezeket a funkciókat nevezzük injekciós csomópontnak. Két injekciós csomópontot fogunk használni. Az egyik a LED bekapcsolása, míg a másik a LED kikapcsolása.
Menjen a csomópont palettára, és húzza az injekciós csomópontot az áramláshoz. Ez a paletta első nyíllal ellátott csomópontja, az injekciós csomópont kiemelve látható az alábbi képen.
Kattintson duplán rá a tulajdonságok szerkesztéséhez. Változtassa az adattípust karaktersorozatba a teher előtti legördülő menüre kattintva, majd írja be az 1 értéket a Hasznos adatmezőbe. A hasznos teher mezőben az az érték kerül beillesztésre, amely a csomópont megnyomásakor az áramlásba kerül. Állítsa a csomópont nevét „ON” értékre. A mentéshez nyomja meg a „Done” gombot.
Ismételje meg a fentieket a második csomópontnál, állítsa a hasznos teher értékét „0” -ra, nevét pedig „off” -ra az alábbiak szerint.
A tulajdonságok funkció alatt az ismételt legördülő menü használható az injekció automatizálására, így a gombokat időközönként megnyomják. Ez felhasználható a pislogás effektus létrehozására. Csatlakoztassa a csomópontokat az alábbiak szerint, az egyik csomópont szürke pontjának a másikra húzásával az áramlás létrehozásához.
Ezzel megtörtént a legelső Csomópont-piros áramlásunk.
A következő lépés az, hogy telepítsük az áramlást a málna pi-re. Kattintson a piros telepítés gombra. Látnia kell a „sikeresen telepített” villanást a képernyő tetején, az alábbiak szerint.
Kattintson az injekciós csomópontok mögötti szürke gombra az egyes csomópontok aktiválásához.
Az „on” injekciós csomópontra kattintva meg kell jelennie a sikeresen befecskendezett „on” kijelzőn, és a LED kigyullad. A LED-nek kialudnia kell, amikor az „off” injekciós csomópontra kattint.
Ez az. A beállítás teljes működését az oldal alján linkelt videóban találja meg.
Nyomógomb / kapcsoló hozzáadása a Node-RED interfészben a Raspberry Pi-vel
Annak elmagyarázásához, hogy hogyan lehet egy bemeneti elemet csatlakoztatni / hozzáadni az áramlásához, a fenti folyamatot tovább fogjuk vinni egy nyomógomb hozzáadásával az injekciós csomópontok helyettesítésére.
Csatlakoztassa a nyomógombot a málna pi-hez úgy, hogy a nyomógomb egyik lába a földhöz, a másik pedig a málna pi 4-es GPIO-tűjéhez (11. tű) csatlakozzon, az alábbi vázlatok szerint.
Ha ezzel megtörtént, térjen vissza a Node-Red oldalhoz, és törölje a korábban használt két injektálási csomópontot: kattintson a csomópontokra, és nyomja meg a Delete billentyűt a billentyűzeten, vagy kattintson duplán a csomópontokra, és nyomja meg a törlés gombot az előugró ablakban. Ezzel végzett, görgessen lefelé a csomópont palettán a málna pi szakaszig, és válassza ki a bemeneti csomópontot. Ez az, amelynek bal oldalán a málna pi ikon látható a csomópont neve előtt.
Húzza a csomópontot a folyamatba, és kattintson duplán rá a tulajdonságok szerkesztéséhez. Állítsa a csapot GPIO 4-re (11. tű), és állítsa az ellenállás előtti legördülő menüt felfelé. Ez a GPIO 4-et HIGH-ra „húzza”. A tulajdonságok beállítása után kattintson a Kész gombra.
Annak érdekében, hogy logikus döntéseket hozzunk a kapcsoló lenyomásakor, és nem csak a GPIO4 földelésére rövidítünk, a kapcsoló csomópontot fogjuk használni. Keresse meg a csomópont palettán, a funkció szakasz alatt, és húzza a folyamatra.
A kapcsolócsomópont lehetővé teszi a döntések meghozatalát az „if” utasításokhoz hasonló módon. Beállítható, hogy a bemeneti értéktől függően különböző kimenetekkel rendelkezzen. Ehhez az oktatóanyaghoz két kimeneti útvonalat fogunk konfigurálni, olyankor, amikor az msg.payload tulajdonság értéke 1 (a kapcsolót nem nyomják meg) az első utat kell követnie, és egy másik utat kell követni, ha bármilyen más bemenet a bemeneten 1-től eltérő értéket észlelnek (a kapcsolót megnyomják). Az útvonalak hozzáadása a „+ hozzáadás” gombbal történik. Kattintson duplán a csomópontra, és konfigurálja a fent leírtak szerint. Ha elkészült, kattintson a Kész gombra.
Amint megnyomta a Kész gombot, látnia kell, hogy a két út tükröződik a kapcsolócsomópont kilátásában, mivel most két csomópont lesz a kimeneten.
Ezután be kell hoznunk egy „változás” csomópontot. A változás csomópont fogja használni, hogy állítsa az állam a LED eredménye alapján az érvelés csomópont.
A változtatási csomópontok közül kettőt fogunk használni. Az első hasznos terhelését 0-ra állítjuk, az alábbi képen látható módon, a második hasznos terhelését pedig egyre. A tulajdonságok szerkesztése után kattintson a Kész gombra.
Hogy jobban megmagyarázzuk, emlékszel, hogy felhúzó ellenállást használtunk? Így amikor nem nyomta meg a gombot, akkor a kimenet kimenete HIGH (1) lesz, ami azt jelenti, hogy ha átengedjük a kapcsolócsomóponton, akkor a LED „világítani fog”, mivel ennek nem szabad így lennie, akkor használja a „változás” csomópontot LOW (0) értékre állításához. A második „csere” csomópontot arra használjuk, hogy az értéket olyanná állítsuk, hogy amikor a GPIO 4-es érintkező HIGH állapotán kívül bármi más észlelhető, akkor a LED-et „bekapcsolja”, mivel ez azt jelenti, hogy megnyomta a nyomógombot. Csatlakoztassa a csomópontokat és a többi csomópontot az alábbi képen látható módon.
Ezzel készen állunk a projekt telepítésére. Menjen át a kapcsolaton, hogy megbizonyosodjon arról, hogy minden a megfelelőnek tűnik, majd kattintson a telepítés gombra. Szokás szerint, ha sikeres, akkor látnia kell a telepítés sikeres felugró ablakát, és mostantól képesnek kell lennie a kapcsoló használatával vezérelni a ledet.
Noha a Node-Red egyszerű és gyors prototípus-készítést kínál az építkezéshez anélkül, hogy aggódna a kód miatt, lehet, hogy valójában nem ez felel meg a legjobban, különösen a tapasztalt fejlesztők számára, akik rugalmasságot és irányítást akarnak a program felett. Mindazonáltal ez egy nagyszerű eszköz, amely lehetővé teszi, hogy a prototípus percek alatt elkészüljön.
A következő alkalomig!