2013-08-25 18 views
10

Voglio imparare a programmare Raspberry Pi e sono abbastanza bravo con Node.js. Non ho toccato lo c++ in quasi mezzo decennio. Capisco che posso caricare Linux sul Pi, ma come posso fare la mia programmazione in nodo?Posso programmare un Raspberry Pi con Node.js?

Se sì, come gestisco cose come input/output? Se volevo creare un semplice dispositivo che rilevasse il movimento e emettesse un segnale acustico, ad esempio, è possibile farlo tramite Node.js sul Pi?

+1

http://blog.rueedlinger.ch/2013/03/raspberry-pi-and-nodejs-basic-setup/ –

+1

http://oguzbastemur.blogspot.com/2014/03/jxcore-combines-sqlite- e-nodejs-for.html –

risposta

5

Penso che siano necessari alcuni moduli con porta C per controllare l'hardware, ma non conosco lo se ce n'è.

Tuttavia è possibile dare un'occhiata a Tessel che è un hardware sviluppo embedded specializzato per JavaScript, quindi è possibile eseguire le applicazioni Node.js sul Pi per programmarlo.

13

come Dave Swersky ha detto in un commento, sì è possibile, ci sa completo tutorial qui: http://blog.rueedlinger.ch/2013/03/raspberry-pi-and-nodejs-basic-setup/

vorrei aggiungere che funzionano bene, ma che sarà necessario utilizzare Leafpad (se GUI) o nano da modificare il tuo codice, sono un buon editor di testo, ma nessuna colorazione della sintassi.

EDIT: Per thoses che don t vogliono vedere il link, ecco un rapido riassunto di esso:

Creazione di una nuova directory per il nodo:

sudo mkdir /opt/node 

ottenere il pacchetto per la Raspbian: (vX .XX.X deve essere sostituito da uno più recente)

wget http://nodejs.org/dist/vX.XX.X/node-vX.XX.X-linux-arm-pi.tar.gz 
tar xvzf node-vX.XX.X-linux-arm-pi.tar.gz 
sudo cp -r node-vX.XX.X-linux-arm-pi/* /opt/node 

Aggiungere node.js al PATH:

nano /etc/profile 

Aggiungere questo prima di 'esportazione'

NODE_JS_HOME="/opt/node" 
PATH="$PATH:$NODE_JS_HOME/bin" 
export PATH 

Si tratta di una fregatura della installazione di base di node.js come spiegato nel link, io didn t writed, ma testato con successo su due Lampone.

Per ulteriori informazioni sul perché comando di thoses e su come configurare correttamente l'RPi, andare al link, il vero autore merita il credito.

EDIT 3 (inserito prima EDIT2 dal più legati alla domanda)

Per l'IO hardware con l'RPI, è possibile utilizzare il pacchetto socket.io popolare, o qualche modulo specializzato che da pi-GPIO.

EDIT 2: Per la sintassi nano colorazione, copia this in un file chiamato js.nanorc, a ~/per questo esempio Quindi utilizzare questo comando:

cp /etc/nanorc ~/.nanorc 
nano ~/.nanorc 

Per creare un file utente nano config e modificalo.

Leggi tutte le possibilità e rimuovere quelli che si desidera, ho caldamente di attivare:

set autoindent 
set tabspace 4 
set tabstospace 
set whitespace " °" 

In modo da avere l'indentazione automatica, e le schede sono fatti di 4spaces, e digitando Alt + P, si vede tutti gli spazi sostituito per ° (solo visiva, aren t sostituito nel file)

Poi, alla fine del file, tipo

include "~/js.nanorc" 

Così ora avete colorazione per javascript troppo.

1

Su sistemi Linux, si può fare un sacco di cose divertenti semplicemente interagendo con i file presenti sui procfs, sysfs e configfs filesystem, montato a monte /proc, /sys e /sys/kernel/config, rispettivamente.

Questi consentono di osservare lo stato e la configurazione del sistema e in molti casi forniscono anche meccanismi per modificare tale configurazione scrivendo dati specifici sui file. Non sono richiesti addons nativi C/C++ - il modulo standard fs sarà abbastanza.

A titolo di esempio, dare un'occhiata alla biblioteca ledctl che permette di controllare i LED semplicemente leggendo e scrittura dei dati agli endpoint di configurazione dei LED sul sysfs punto di montaggio (Disclaimer: io sono l'autore del modulo).

Se desideri interagire con i tuoi dispositivi personalizzati usando i pin GPIO disponibili su Raspberry PI, ci sono plenty of native addons per Node.js che forniscono una bella API JavaScript per inviare e ricevere segnali su particolari pin.

Quindi, per creare un dispositivo che rileva un movimento ed emette un segnale acustico, collegare il rilevatore di movimento e il segnale acustico al GPIO (molto probabilmente), prendere il controllo dei pin utilizzando uno dei moduli GPIO selezionati e iniziare ad ascoltare per segnali in arrivo. Quando si riceve un segnale, si emette un altro segnale al segnale acustico.