Cómo instalar node.js con GPIO

11

Estoy tratando de instalar node.jsen mi Raspberry Pi y también GPIO.

Estoy ejecutando una nueva instalación de Debian Jessie

Podría instalar nodejs v.0.10.29. No importa lo que haga, este es más o menos el paquete más reciente que he podido instalar, incluso si muchas publicaciones que leo hablan de la versión 4.0.0.

Sin embargo, se está ejecutando v0.10.29 y podría ejecutar un servidor http simple.

El problema surge cuando intento instalar GPIO. He probado lo siguiente;

  • rpi-gpio
  • pi-gpio
  • encendido apagado

No puedo hacer que ninguno de ellos funcione y he jugado probando cualquier cosa que pueda encontrar en la web para solucionarlo. He intentado casi todo.

Entonces, dado que probablemente arruiné muchas cosas, reinstalé el sistema operativo Debian {Ed: Raspbian} Jessie y le daré otra oportunidad.

A partir de ahí, ¿qué debo hacer después de instalar mi sistema operativo para que esto funcione?

Alguien tiene un buen conjunto de instrucciones para esto, porque probablemente me falta algo, ¿verdad?

Si alguien está dispuesto a ayudar, con mucho gusto seguiré las instrucciones y publicaré los mensajes de error que recibo, porque hasta ahora esto es todo lo que he estado recibiendo.

Así que supongo que comenzaré con:

sudo apt-get update

¿Que sigue?

EDIT # 1 Nodejs v0.10.29 está instalado

He instalado Nodejs según lo sugerido por 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 

regresado

v0.10.29

EDITAR # 2 instalar pi-gpio

Ahora que el nodo está instalado, intenté encender un led en el pin 18 y obtuve el siguiente error;

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)

Así que instalé pi-gpio usando npm;

sudo npm install pi-gpio

Ahora estoy recibiendo este error;

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

Así que ahora instalaré gpio-admin.

Y esto se vuelve complicado porque gpio-admin es viejo y no se instalará en Debian Jessie. Entonces, si alguien puede encontrar una manera de encender un led de Nodejs bajo Debian Jessie, sería increíble.

MadeInDreams
fuente

Respuestas:

7

Por ejemplo, para instalar RPi nodejs versión 4.3.1 (ver más abajo para otras versiones)

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

Verifique la instalación con

node -v

Existen diferentes versiones disponibles en https://nodejs.org/dist/

Para Pi2B, asegúrese de descargar una compilación de linux-arm7l, para todos los demás Pis, asegúrese de descargar una compilación de linux-arm6l.

joan
fuente
Gracias probarás esa versión. Hasta ahora ese distribuidor siempre me devolvió 404.
MadeInDreams
Sí, todavía recibo una respuesta 404
MadeInDreams
1
Seguí esas instrucciones justo antes de publicar y acabo de repetir el wget sin problemas. ¿Puedes hacer ping a nodejs.org?
joan
Sí, puedo. ¿Tengo que sudo wget?
MadeInDreams
1
No, no se requiere sudo (no daría un error 404). Asegúrese de cortar y pegar la línea wget. Puede preferir una versión posterior. Busque en nodejs.org/dist y asegúrese de descargar una versión arm6l. No estoy seguro de si 6l también funcionará en un Pi2B.
joan
2

Descubrí cómo *GPIO*trabajar *Nodejs*.

Déjame decirte que esto estaba lejos de ser Plug and play.

**OS** : *Raspbian Jessie*

**Nodejs**: *Version 4.3.1* (Crédito para joan)

Tenga en cuenta que debe eliminar cualquier instalación anterior de *Nodejs*.

He actualizado *npm*con el siguiente comando;

sudo npm install -g npm@latest

Entonces lo he instalado *gpio v0.2.7*;

 sudo npm install gpio

y recibí la siguiente advertencia;

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

Entonces tendré que lidiar con eso.

Entonces lo he instalado *rpi-gpio*;

sudo npm install rpi-gpio

Todavía tengo la advertencia sobre package.json. En este punto, mi secuencia de comandos funcionaba, podía llegar al servidor y se encendió mi luz LED.

Otra instalación que he realizado debido a advertencias y errores:

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

No estoy seguro de que las últimas 2 instalaciones se hayan necesitado, pero terminó funcionando, por lo que es posible que desee probarlo.

MadeInDreams
fuente