Come installare node.js con GPIO


11

Sto cercando di installare anche node.jssul mio Raspberry Pi GPIO.

Sto eseguendo una nuova installazione di Debian Jessie

Ho potuto installare nodejs v.0.10.29. Indipendentemente da ciò che faccio, questo è praticamente il pacchetto più recente che sono stato in grado di installare anche se molti post che ho letto parlano della versione 4.0.0.

Tuttavia v0.10.29 è in esecuzione e ho potuto eseguire un semplice server http.

Il problema si presenta quando provo ad installare GPIO. Ho provato quanto segue;

  • RPI-GPIO
  • pi-GPIO
  • acceso spento

Non riesco a far funzionare nessuno di loro e ho provato a provare qualcosa che potrei trovare sul web per risolverlo. Ho provato praticamente tutto.

Quindi, dal momento che probabilmente ho incasinato molte cose, ho reinstallato il sistema operativo Debian {Ed: Raspbian} Jessie e gli darò un altro tentativo.

Da lì, cosa devo fare dopo aver installato il mio sistema operativo per farlo funzionare?

Qualcuno ha una buona serie di istruzioni per questo - perché probabilmente mi manca qualcosa, giusto?

Se qualcuno è disposto ad aiutare seguirò volentieri le istruzioni e pubblicherei tutti i messaggi di errore che sto ricevendo, perché finora questo è tutto ciò che ho ricevuto.

Quindi suppongo che inizierò con:

sudo apt-get update

Qual è il prossimo?

EDIT # 1 Nodejs v0.10.29 è installato

Ho installato Nodejs come suggerito da Joan:

wget https://nodejs.org/dist/v4.3.1/node-v4.3.1-linux-armv6l.tar.xz
tar xf node-v4.3.1-linux-armv6l.tar.xz  
cd node-v4.3.1-linux-armv6l/ 
sudo cp -R * /usr/local

nodejs -v 

tornato;

v0.10.29

EDIT # 2 installazione pi-gpio

Ora che quel nodo è installato, ho provato ad accendere un led sul pin 18 e ho ottenuto il seguente errore;

module.js:340 
throw err; 
^ 
Error: Cannot find module 'pi-gpio' 
at Function.Module._resolveFilename (module.js:338:15) 
at Function.Module._load (module.js:280:25) 
at Module.require (module.js:364:17) 
at require (module.js:380:17) 
at Object.<anonymous> (/home/pi/NODE/http.js:22:12) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Function.Module.runMain (module.js:497:10)

Quindi ho installato pi-gpio usando npm;

sudo npm install pi-gpio

Ricevo questo errore;

Error when trying to open pin 18
/bin/sh: 1: gpio-admin: not found

Error when trying to close pin 18
/bin/sh: 1: gpio-admin: not found

Quindi ora installerò gpio-admin.

E questo dove diventa disordinato perché gpio-admin è vecchio e non si installa su Debian Jessie Quindi, se qualcuno può trovare un modo per accendere un led di Nodejs sotto Debian Jessie, sarebbe fantastico.

Risposte:


7

Ad esempio per installare RPi nodejs versione 4.3.1 (vedi sotto per altre versioni)

wget https://nodejs.org/dist/v4.3.1/node-v4.3.1-linux-armv6l.tar.xz
tar xf node-v4.3.1-linux-armv6l.tar.xz  
cd node-v4.3.1-linux-armv6l/ 
sudo cp -R * /usr/local

Controllare l'installazione con

node -v

Sono disponibili diverse versioni da https://nodejs.org/dist/

Per Pi2B assicurati di scaricare una build linux-arm7l, per tutti gli altri Pis assicurati di scaricare una build linux-arm6l.


Grazie proverai quella versione. Finora quel distributore mi ha sempre restituito 404.
MadeInDreams il

Sì, sto ancora ricevendo una risposta 404
MadeInDreams,

1
Ho seguito quelle istruzioni appena prima di pubblicare e ho appena ripetuto la wget senza problemi. Puoi eseguire il ping su nodejs.org?
joan

sì posso. Devo sudo wget?
MadeInDreams,

1
No, sudo non è richiesto (non darebbe un errore 404). Assicurati di tagliare e incollare la linea di wget. Puoi preferire una versione successiva. Cerca nodejs.org/dist e assicurati di scaricare una versione arm6l. Non sono sicuro che 6l funzionerà anche su un Pi2B.
joan

2

Ho capito come *GPIO*lavorare *Nodejs*.

Lascia che ti dica che questo era ben lungi dall'essere Plug and Play.

**OS** : *Raspbian Jessie*

**Nodejs**: *Version 4.3.1* (Credito a joan)

Si noti che è necessario rimuovere qualsiasi vecchia installazione di *Nodejs*.

Ho aggiornato *npm*con il seguente comando;

sudo npm install -g npm@latest

Quindi ho installato *gpio v0.2.7*;

 sudo npm install gpio

e ho ricevuto l'avvertimento folowing;

npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'

Quindi dovrò occuparmene.

Quindi ho installato *rpi-gpio*;

sudo npm install rpi-gpio

Ho ancora ricevuto l'avvertimento package.json. A questo punto il mio script funzionava, potevo raggiungere il server e la mia luce led si accendeva.

Altra installazione che ho effettuato a causa di avvisi ed errori:

sudo npm install graceful-fs@^4.0.0
sudo npm install node-gyp

Non sono sicuro che le ultime 2 installazioni siano state necessarie, ma alla fine ha funzionato, quindi potresti provare a farlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.