RPi-noll IoT händelse indikator / Color lampa (6 / 7 steg)

Steg 6: Projektet programvara




Jag använde två program, ett Node.js processen talar till en underordnad process via sin stdin -dataström.
Detta är så de kan var och en gör vad de gör bäst och fungera som oberoende processer i sin egen takt.

Här är vad jag gjorde:
Men du behöver inte, eftersom jag har gett en tjära-gzip-filen som innehåller det resulterande filen-trädet.

NodeJS serversidan setup:

CD ~
mkdir node_rgb
CD node_rgb
mkdir offentliga

sätta "index.html" och "style.css" i den "~ / node_rgb/offentliga ' katalog
Lägg "rgbDriver.c" och "rgb_main.js" i den "~ / node_rgb" Katalog

Kompilera/bygga c processen "rgbDriver":

CD ~/node_rgb
CC -o rgbDriver rgbDriver.c - lwiringPi - lpthread

Ladda ner och expandera likvärdighet

Att ladda ner node_rgb.tgz (nedan) till ditt Pi-noll i din hemkatalog (~ pi) du kan göra en av 3 följande:

  1. Hämta från webbläsaren i din Pi-noll GUI
    Flytta filen till ~pi/
  2. I ett terminalfönster ansluten till du Pi-noll:
    CD ~ pi
    wget

    MV FZBF9BDIL6VBHKF.tgz rgb_node.tgz

  3. Ladda ner från en webbläsare på datorn.
    Använda WinSCP och kopiera den till den ~ pi katalog på Pi-noll

Efter att ha utfört #1 2 eller 3 ovan...

CD ~
tjära - xzvf node_rgb.tgz
träd node_rgb
...
node_rgb < br > ├── offentliga
│ ├── Dow_Jones_Index.html
│ ├── index.html
│ └── style.css
├── rgbDriver
├── rgbDriver.c
├── rgb_main.js
├── start_rgb
├── kill_rgb < br >
└── track_dji

Den resulterande körbara (från ovan) 'rgbDriver' kan användas oberoende av Node.js gränssnitt processen.

Kontrollera att drivrutinen och hårdvaran arbetar genom feed uppsättningar av tre värden (mellan 0-255), separerade med mellanslag, till föraren. Som "echo 255 0 0 |. / rgbDriver" för rött eller "echo 0 255 0 |. / rgbDriver" för grönt. Observera att den ". /" berättar OS att hitta vårt program "rgbDriver" i den aktuella katalogen. När du kör en ^ c (cntl-c) för att stoppa föraren led får eller får inte ha kvar. Alternativt kan du interaktivt mata sina värden. Prova att skriva dessa rader en efter den andra från kommandoraden, och titta på lampan.

. / rgbDriver
0 255 0
100 0 100
255 255 0
... osv...
^ c

Vara säker på att du inte har 2 av dessa processer som löper parallellt.

För att starta programvaran applicering sviten, inklusive Node.js servern använda detta kommando:

sudo nod rgb_main.js

Sedan använda cntl-c när du vill stoppa Node.js.
Starta den med

sudo nod rgb_main.js &

att det körs i ryggen marken, men då du måste använda en "sudo kill -9 pid" kommando för att stoppa den. Om kommandot ser alien till dig, sedan granska utdata från dessa kommandon: "man döda" & 'man sudo'.

Använd en webbläsare, på skrivbordet, tablet eller telefon som är ansluten till det lokala nätverket. Gå till
http://raspberrypi:8080 / eller om det inte fungerar använder IP-adressen för enheten (erhålls från cmd 'ifconfig') något som 192.168.1.15 plus specifikationen port: 8080 eller om du använder den Pi-Zero GUI: localhost: 8080 fungerar.

Använda RGB reglagen, på sidan som kommer upp, och titta på RGB-LED lampan följa med.

Andra användbara kommandon
Observera att om du sluta med mer än en "rgbDriver" köra samtidigt du sannolikt att få oförutsägbara beteende. Om du försöker köra en andra kopia av rgb_main.js kommer det fel ut.

Detta kommando kommer att lista alla relaterade processer:

PS aux |grep rgb

Detta kommando kommer att döda alla nodeJS processer, tillsammans med "rgbDriver" underordnade processer:

sudo ps aux | grep node.*rgb | awk "{skriva"sudo kill -9"$2}" | sh

Stand alone drift

För att ha Pi-noll starta upp Node.js server app när det startar upp... med din favorit editor (t.ex. nano ~/.bash_profile), skriv in följande rader och spara på ~/.bash_profile

CD node_rgb
sudo nod rgb_main.js &

För att hålla från att bli störande fel använder meddelanden när du öppnar ett terminal-fönster villkorsstyrd codding som shell script i filen "start_rgb"

När den Pi-Zero körs embedded, utan tangentbord, mus eller bildskärm; det grafiska gränssnittet tar minimal CPU-tid, som det blir inga användaråtgärder. Jag stänga inte av auto GUI start, eftersom den Pi-Zero har mer resurser än vad som behövs, i detta fall; och jag gillar att kunna ansluta några kablar och använda det, när som helst i framtiden. Detta är dock inte nödvändigt som du kan använda en fjärrterminal SSH (e.g. kitt) göra något behövs underhåll.

Använder den som ett Event monitor

Jag skapade en webbsida för att övervaka den dagliga förändringen i Dow Jones Index. Det är källa kan användas som en riktlinje för din egen sida som använder vissa webbdata och driver Pi-noll indikatorn därmed. Denna sida får dess (json) data från en webbtjänst för Google. Det finns många former av webbtjänster, så kommer ni att forskning som du vill använda för att avgöra den JavaScript-kod komma åt den.

Om du vill använda enheten, som jag, som en dedikerad, fristående, Dow Index förändring indikator lägga till dessa rader i slutet av filen ~/.bash_profile

sov 20
epiphany-browser--display =:0.0 localhost:8080/Dow_Jones_Index.html &

Indikatorn tänds en ljusgrå med värdet 0. Det blir mer och mer grön med högre värden. Det är ljusast pure Green på omkring 250. Högre men värden orsaka först en grunt blixt, upp till en djupaste blixt på cirka 500. För negativt värde (dagliga droppar i Dow) den gör liknande, men i rött.

Se Steg
Relaterade Ämnen

Hur man gör en Mini Multi Color lampa (enkel version)

någonsin ville ha en liten ficka storlek lampa som kan vara en mild disco ljus för ditt rum som visar ljust av ditt humör? Du kan göra det med mini multi color lampa med enklaste saker någonsin hittats. Fortsätt att läsa...Steg 1: Saker du behöver So...

PI noll IOT ledde matrisen Beamer-A meddelande på väggen

När jag såg denna lampa för barn, jag hade inget val, jag var tvungen att köpa den och optik för denna lampa gör den perfekt för den här hacka...Resultatet är en ledde matrisen projektor som kan visa meddelanden och bilder från Internet på väggen. Ef...

IoT badrum vakans indikator för hackare

När i delstaten flöde, vill kreativa människor oftast inte ta en paus för dödliga överväganden som äter eller badrum raster. Den stora Beethoven höll bekant en kammare potten under hans piano, för att inte tappa fart i ett anfall av geni.Detta gäller...

HackerBoxes 0006: Internet saker (IoT) projekt med partikel fotonen

Hacking Internet saker! Denna månad, abonnenter till HackerBoxes arbetar med spånskivor Photon IoT att styra enheter över Internet, samla sensor data över Internet, lagra data i molnet, och mycket mer.Detta Instructable innehåller information för att...

Somabot - en automatiserad bartender (Intel IOT)

Somabot är en automatiserad bartender. Välj bara i ingredienserna och och dryckerna som kan nås från alla mobila eller stationära webbläsare redo att göra cocktails för dig. Jag har bifogat ett NFC-chip högst upp till vänster, så styrgränssnittet aut...

Resten ägget: Ett högt ljud Alert System

Sjukhus är mycket för högt för att återfå patienter att vila ordentligt.Vårt team utformat detta system med det i åtanke - en vilsam miljö är en hälsosam miljö.Detta projekt är prisvärda ($50-30) och lätt att använda. Låt oss få utvilad!Steg 1: Vad d...

Barn ljus Matrix

Detta är en helg projekt för familjen. Främst avsedd för barn runt två år som älskar att slå på och av ljus.Steg 1: Vad du behöverVerktyg:AvbitareWire stripporLödkolvVarmlimma fastSkruvmejslar16mm holesawlinjalenFörbrukningsmaterial:Alla förbruknings...

Min fysiska webbutrymme

En fysisk webbutrymme, är en hemsida som följer dig runt vart du än går. Bokstavligen, därav den "fysiskt". Den är värd i en liten server som jag bär på mig själv, drivs av... 3 AAA batterier! Användare kan komma åt det via ett lokalt WiFi nätve...

Retropie Gamecube fall projekt

Målet med detta projekt är i renovera en gammal gamecube (redan döda från en strömstöt) med en Raspberry pi 2b som jag redan fick liggandes. Jag vill behålla fall utseendet (efter lite målning) och använda den ursprungliga styrenheter och anslutninga...

Raspberry PI USB vs seriell kommunikation med gsm sköld (itbrainpower.net a-gsm sköld)

Om hur manHur man refererar till den itbrainpower.net a-gsm sköld, har följande huvudfunktioner:Hela världen kompatibilitet - quad band modulGSM / GPRS / SMS / DTMF stödsTvå SIM uttag (enda SIM aktiv)Combo integrerad GSM-antenn och uFL anslutning för...

Automatisk gatubelysningen

en introduktion:Behöver ingen manuell drift för att växla ON och OFF. När det finns behov av ljus växlar den automatiskt ON. När mörkret stiger till en viss värdet sedan sensor circuit blir aktiverad och växlar ON och när det finns annan källa av lju...

IoT mood lamp from power socket

En dag en ytbehandla monterade uttag brunnit ut i rummet. Het tråd vidrörde marken PIN-koden. Uttaget vände svart på insidan, men förblev orörd på utsidan. Jag har ersatt det med en ny, och av någon anledning jag kasta inte bort den skadade en. Jag b...

IoT Silhouette humör lampa (e-post och Twitter anmälaren)

Sakernas Internet (Internet of Things) blir mer och mer populär och fler antal mikro-kontrollanter är IoT aktiverat, beslutat jag att göra en serie av handledning på Sakernas Internet med hjälp av en partikel foton och en Intel Edison.Ska idag jag vi...

IoT: Ansluter RPi, Arduino och världen!

(Om du gillar detta Instructable, glöm inte att rösta på det (ovan: högra hörnet flaggan). det konkurrerar om SAKERNAS INTERNET och sensorer tävlingar. Tack så mycket! ;-)I detta projekt kommer vi program en RPi och en Arduino, arbeta tillsammans för...

RPi IoT: Cloud loggning robotic luftfuktighet controller

Övervakning är bra, men kontroll är ännu bättre!Jag postat nyligen en instructable för att bygga en temperatur och luftfuktighet monitor, du kan kolla här:Raspberry Pi IoT: Temperatur och luftfuktighet monitorSå, jag bestämde mig när jag behövde en r...

Vit LED-lampa i en bi-color LED-lampa

Hej alla! Den här artikeln visar hur du ändrar en vit färg LED-lampa i en bi-color LED-lampa. För att göra detta, behöver du en SMD LED-lampa och två whiteboard markörer i olika färger. Jag använde en 5w LED-lampa.Steg 1: färg Först ta din LED-lampa...

IOT omgivande ljus: VIPER lampa

Låg effekt-standarden i kombination med låg kostnad, Ultra miniatyr LED, sensorer och kommunikationsenheter har gjort smarta belysning en katalysator för Sakernas Internet och hemautomation.I denna tutorial får vi se hur man styr en NeoPixel LED stri...

Luminch Color LED lampa

Första gången jag såg den En Luminch av Francisco Castro, jag var förvånad över enkelheten och den magisk upplevelsen. Men eftersom det kan aldrig vara tillräckligt magi, beslöt jag att göra en med en liten twist: Luminch färg.Luminch färgen inte bar...

Intellekten Edison IoT: Automatisk lampa (relä, HC-SR04)

Projektet är helt enkelt en automatisk lampa som tänds när den "ser" rörelse. Eftersom detta är hemautomation.Med detta kan du:1. spara energi.2. spara din egen tid.3. säkerställa säker går med händerna fulla av grejer eftersom ljuset tänds auto...