Ønsker du å bruke mer tid på å bygge det perfekte hjemmeautomatiseringssystemet og mindre tid på å skrive kjelekoden? Kanskje du har liten (eller ingen) kodeerfaring, men fortsatt drømmer du om å lage kraftige IoT-prosjekter.
Hvis du ikke kan eller ikke vil bruke timer på å skrive kode, så er det nok av programvare som kan gjøre det harde arbeidet for deg! Her fokuserer vi på Node-RØD, et strømningsbasert visuelt redigeringsprogram som kan gi koden du trenger for å drive IoT-prosjektene dine. Ved å bruke Node-RED kan du koble til smarte enheter, API-er, online-tjenester og mer ved å dra og slippe enkelt.
I denne opplæringen lærer du hvordan du konfigurerer Node-RED på Raspberry Pi og får tilgang til den visuelle redigereren via nettleseren din. Når du har tilgang til denne redigeringsprogrammet, vil du se nøyaktig hvordan du bruker Node-RED til å bygge kraftige hjemmeautomatiseringsarbeidsflyter ved å lage en enkel feilsøkingsflyt som du kan distribuere og teste på Raspberry Pi.
Hvordan bruke Node-RED i smarthus-prosjekter
Node-RED har et bibliotek med ferdige noder som dekker en rekke funksjoner. Du kan bruke disse nodene til å lage komplette arbeidsflyter for hjemmeautomatisering. Bare ta tak i nodene du vil bruke, slipp dem på Node-RED-lerretet, og koble nodene dine sammen for å danne en fullført arbeidsflyt.
Noen av disse nodene er greie – for eksempel feilsøkingsnoder, mens andre er mer komplekse. Noen av de mer avanserte nodene lar deg til og med samhandle med GPIO-pinnene (generelle input / output) som går langs den øvre kanten av Raspberry Pi.
Det du trenger
For å fullføre denne opplæringen, trenger du:
- Raspberry Pi som kjører Raspbian. Hvis du ikke allerede har det, ta tak i den siste versjonen og blits det til et SD-kort ved hjelp av Etser.
- Strømkabel som er kompatibel med din Raspberry Pi
- Eksternt tastatur og en måte å feste det til Raspberry Pi på
- HDMI eller mikro HDMI-kabel, avhengig av din modell av Raspberry Pi
- Ekstern skjerm
- Ethernet eller tilkobling til Wi-Fi
Raspbian: se etter den nyeste versjonen
For å starte, sørg for at du kjører den nyeste versjonen av Raspbian:
- Fest alle eksterne enheter til Raspberry Pi.
- Koble Raspberry Pi til en strømforsyning; den skal starte opp automatisk.
- Hvis dette er første gang du starter Raspbian, må du fullføre standardoppsettdialogen og koble til Wi-Fi-nettverket ditt hvis du ikke bruker en Ethernet-kabel.
Når Raspberry Pi har startet, klikker du på “Terminal” -ikonet på verktøylinjen og kjører følgende kommandoer i Terminal-vinduet:
sudo apt update sudo apt upgrade
Hvis Raspbian installerer oppdateringer, må du starte Raspberry Pi på nytt med følgende kommando:
reboot
Når Raspberry Pi har startet på nytt, er du klar til å gå videre til neste trinn.
Installere Node-RED, Node.js og npm
Deretter må du installere build-essential
pakke, som brukes til å kompilere og installere forskjellige Node-RED-tillegg:
sudo apt install build-essential
For å installere Node-RED-pakken blir den nåværende versjonen av Node.js og npm installert i følgende kommando. Ved siden av build-essential brukes npm til å installere flere Node-RED-moduler:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Denne nedlastingen kan ta litt tid, så det kan være lurt å ta deg en kaffe!
Start Node-RED
Du kan nå starte Node-RED. Det er mulig å starte Node-RED som en tjeneste (ved hjelp av sudo systemctl start nodered
kommandoen), men hvis du starter Node-RED direkte, lar den deg få tilgang til den via terminalen.
For å starte Node-RED uten å starte den som en tjeneste, kjør følgende kommando:
node-red
Du kan nå sjekke statusen til Node-RED:
sudo systemctl status nodered
De siste linjene i Terminal-utgangen skal bekrefte at Node-RED kjører vellykket.
Node-RED kjører stille i bakgrunnen, så det kan være lurt at den starter automatisk, spesielt hvis du bruker Node-RED regelmessig. For å starte Node-RED ved oppstart, kjør følgende kommando:
sudo systemctl enable nodered
Terminalen skal bekrefte at den har opprettet en symbolsk koblingssnarvei for Node-RED.
Hvis du ombestemmer deg og vil forhindre at Node-RED starter automatisk, kjører du følgende Terminal-kommando:
sudo systemctl disable nodered
Ingen kode kreves: tilgang til Node-REDs visuelle redaktør
Nå som Node-RED er i gang på din Raspberry Pi, kan du bruke den til å bygge arbeidsflyter for hjemmeautomatisering ved å dra og slippe.
For å få tilgang til Node-RED-editoren, trenger du Raspberry Pi’s IP-adresse. Du kan hente denne informasjonen ved å kjøre følgende Terminal-kommando:
hostname -I
Start standardleseren på Raspberry Pi og skriv inn følgende URL, og pass på å erstatte “IP-adresse” med din Raspberry Pi unike IP-adresse: http: //[IP-ADDRESS]: 1880
Hvis for eksempel IP-adressen din var “192.168.1.56”, vil du bruke følgende URL: http://192.168.1.56:1800
Node-RED-redigereren skal nå vises i nettleseren din.
Utforsker Node-REDs IoT-editor
Node-RED-redigereren er delt inn i følgende seksjoner:
- Verktøylinjen. Dette inneholder “Distribuer” -knappen, hovedmenyen og brukermenyen, hvis brukerautentisering er aktivert.
- Paletten. Dette området inneholder alle nodene som er installert og tilgjengelig for deg. Hvis du velger en node, vil “Info” -fanen vise mer informasjon om den aktuelle noden.
- Strømme. Dette er lerretet der du vil slippe alle nodene dine og opprette forbindelser mellom dem. Hvis du jobber med flere flyter, vises de som en rad med faner øverst på arbeidsområdet. Du kan zoome inn og ut ved hjelp av kontrollene nederst til høyre i arbeidsområdet.
Node-RED-redigereren har også et sidefelt som viser forskjellige paneler avhengig av innholdet som er valgt for øyeblikket:
- Informasjon. Dette viser informasjon om den valgte noden, inkludert et sammendrag av dens egenskaper. Hvis ingenting er valgt, vil “Informasjon” -panelet vise en beskrivelse av strømmen.
- Feilsøk. Dette viser meldingene som sendes til feilsøkingsnoder i strømmen din, sammen med meldinger fra kjøretiden, der det er tilgjengelig. Som standard viser feilsøkingspanelet alle meldingene som sendes til det, selv om du kan filtrere denne utgangen, om nødvendig.
- Konfig. Dette panelet viser en liste over alle konfigurasjonsnodene, sammen med type, etikett og hvor mange arbeidsflyter som bruker akkurat denne noden.
- Kontekstdata. Dette viser innholdet i kontekstdatalageret, som lar deg dele informasjon mellom noder uten å bruke meldingene som går gjennom en arbeidsflyt. For mer informasjon om kontekst, sjekk ut offisielle Node-RED-dokumenter.
Automatisering med Node-RED: oppretter din første arbeidsflyt
Nå som du har en oversikt på høyt nivå av Node-RED-redigereren, kan du opprette en enkel feilsøkingsstrøm for å distribuere og teste Raspberry Pi.
For å starte, dra en “Inject” -node fra paletten og slipp den på arbeidsområdet.
Dra deretter en “Feilsøk” -node og slipp den på arbeidsområdet.
Disse to nodene må kobles sammen. Hold markøren over en av nodens håndtak til den blir oransje, og dra deretter slik at en linje vises. Dra denne linjen over til den andre noden og slipp den: disse to nodene skal nå være koblet til.
Du kan redigere en hvilken som helst node ved å dobbeltklikke på den. For å bekrefte at feilsøkingsflyten din kjører riktig, opprett en tekst “nyttelast” som arbeidsflyten vil levere til Node-REDs “Feilsøking” -panel.
Dobbeltklikk på “Inject” -noden, som starter et nytt “Edit inject node” -panel. Du kan gjøre forskjellige endringer i dette panelet. Dette eksemplet her åpner rullegardinmenyen “nyttelast” og velger “streng”.
Skriv inn teksten “Hei, verden!” og klikk deretter på “Ferdig” for å lagre endringene.
Når arbeidsflyten er fullført, kan du aktivere den ved å gi den store røde “Distribusjon” -knappen et klikk.
Kjør feilsøkingsflyten
For å prøve å flyte strømmen, åpner du “Feilsøking” -panelet (ved å klikke på det lille feilikonet i verktøylinjen).
Hold markøren over “Hello, world” -noden og gi den tilhørende avkrysningsruten et klikk.
Hvis flyt kjører vellykket, vil nyttelasten din “Hello, world” vises i feilsøkingspanelet.
Selv om dette er en enkel arbeidsflyt, viser den hvordan du kan opprette noder og koble dem til å danne en fungerende arbeidsflyt. Du kan bruke den samme prosessen for å lage alle slags komplekse og avanserte arbeidsflyter: bare fortsett å hente noder fra paletten, legge dem til arbeidsområdet og koble dem til du får ønsket resultat.
Annet enn Node-RED, kan du også gjøre Raspberry Pi til en Edge-gateway for å administrere data fra IoT-enhetene eller hoppe i gang Raspberry Pi-prosjekter med Cayenne.
Lær mer om andre Raspberry Pi-prosjekter her.