Hemautomation med nod js, raspberry pi och heimcontrol (1 / 6 steg)
Steg 1: Komma igång med heimcontrol.js på din Raspberry Pi
Installera beroenden: Node.js och MongoDB
heimcontrol.js har två beroenden: Node.js och MongoDB. Tyvärr är inte heller tillgängliga i Raspbian förråd.
Detta kan hanteras på flera sätt, som alla har fördelar och kompromisser:
- Kompilera program själv är en säker, ren lösning, men tar många timmar på Pi. Arga sammanställning lindrar detta, men är utanför ramen för denna guide (se rpi-cross om du är intresserad).
- Installera en tredje parti paketet är mycket praktiskt, men det sätter du i händerna på förpackningsföretaget, som kan vara vare sig trovärdig eller behöriga. I praktiken kommer med dessa paket för ett hobbyprojekt som detta nästan säkert att bli bra; men säkerhetsrisken bör noteras.
- Slutligen, om du inte är ansluten till Raspbian, du kan bara installera en distribution som försörjer nod och MongoDB. ArchLinux passar räkningen – med den självklara följden av att behöva installera och konfigurera Archlinux.The första två alternativen nedan beskrivs.
Manuell kompilering och installation
Installera bygga förutsättningar
Installera först följande paket, som krävs för att sammanställa.
sudo lämplig-få uppdatera < br >
sudo lämplig-få installera git-core git scons build-essential scons
libpcre ++-dev libboost-dev libboost-program-options-dev
libboost-thread-dev libboost-filesystem-dev
Du kanske också vill använda tmux:
sudo lämplig-få installera tmux < br >
# Starta sessionen:
tmux
Nu om din SSH-anslutning avbryts, kan du ansluta och använda tmux bifoga för att fortsätta gränssnittssession.
Node.js
Nästa steg är att kompilera och installera Node.js på din Raspberry Pi från officiella källor:
wget < en href = "http://nodejs.org/dist/v0.10.28/node-v0.10.28.tar..." rel = "nofollow" > http://nodejs.org/dist/v0.10.28/node-v0.10.28.tar...</a><br>
tar xvf nod-v0.10.28.tar.gz
CD-nod-v0.10.28
. / configure
göra
sudo göra installera < br >
Försök
nod--version
– Det bör naturligtvis utgång versionen.
MongoDB
Om du använder en Raspberry Pi med 256MB RAM, måste du redigera filen /etc/dphys-swapfile och ändra värdet för CONF_SWAPSIZE från 100 till 200.
Du kan hitta en Raspberry Pi version av MongoDB på GitHub: Rick Pannen mongopi har arbetat bra, trots att ha varit Senast uppdaterat 2012. Med följande kommando kan du bygga en installera det:
git clone git://github.com/RickP/mongopi.git < br >
CD mongopi
scons
sudo scons--prefix = / opt/mongo installera
scons - c
Nu lägga till katalogen MongoDB binära i SÖKVÄGEN, till exempel genom att lägga till följande /etc/environment:
Stig = $PATH: / opt/mongo/bin/< br >
exportera sökväg
Slutligen måste du skapa en MongoDB, databaskatalogen MongoDB och en init-skript:
sudo useradd mongodb < br >
sudo mkdir /var/lib/mongodb
sudo chown mongodb:mongodb /var/lib/mongodb
sudo mkdir/etc/mongodb /
sudo sh - c "echo"dbpath = / var/lib/mongodb"> /etc/mongodb/mongodb.conf"
CD /etc/init.d
sudo wget - O mongodb < en href = "https://gist.github.com/ni-c/fd4df404bda6e87fb718/raw/36d45897cd943fbd6d071c096eb4b71b37d0fcbb/mongodb.sh" rel = "nofollow" > https://gist.github.com/ni-c/fd4df404bda6e87fb718...</a>
sudo chmod + x mongodb
sudo uppdatera-rc.d mongodb försummelsen
sudo service mongodb start
Om tjänsten startar kan du gå vidare till installation av heimcontrol.js.
Installation från färdiga tredjepartspaket
Än en gång ansvarsfriskrivning: du bör vara medveten om att installera
paket från en icke betrodd tredje part är farligt. De källor som anges nedan fungerar och visas säker vid tidpunkten för denna skrift, men innehållet kan ändras när som helst. Så om du använder heimcontrol.js för något kritiska, en) berätta för oss vad — eftersom det låter coolt! — och b) sammanställa allt själv från officiella källor. Med det ur vägen, själva installationen är riktigt enkelt: bara ladda ner och installera node_arm av Nathaniel Johnson och mongodb-armhf-deb av Tom Janson enligt följande:
wget < en href = "http://node-arm.herokuapp.com/node_latest_armhf.deb" rel = "nofollow" > http://node-arm.herokuapp.com/node_latest_armhf.d...</a><br>
sudo dpkg -i node_latest_armhf.deb
# Kontrollera installationen:
nod - v
wget < en href = "https://github.com/tjanson/mongodb-armhf-deb/releases/download/v2.1.1-1/mongodb_2.1.1_armhf.deb" rel = "nofollow" > https://github.com/tjanson/mongodb-armhf-deb/rele...</a>
sudo dpkg -i mongodb_2.1.1_armhf.deb
# Starta tjänsten:
sudo /etc/init.d/mongodb start
# Automatiskt starta tjänsten vid systemstart, om så önskas:
sudo uppdatera-rc.d mongodb försummelsen
Om noden binära är närvarande (och returnerar den förväntade versionen) och den
MongoDB tjänsten startar framgångsrikt, du har alla satt. (Om inte, skicka in en fråga.)
Installera heimcontrol.js
Du har bara klon GitHub arkivet och springa npm att installera homecontrol.js:
(Om du har Python 3 installerat, kör npm config set python python2.7 att göra nod-gyp spela tillsammans.)
git clone git://github.com/ni-c/heimcontrol.js.git < br >
CD heimcontrol.js
NPM installera
Nu kan du köra heimcontrol.js genom att skriva
noden heimcontrol.js