Como instalar o node.js com o GPIO

11

Estou tentando instalar node.jsno meu Raspberry Pi e também GPIO.

Estou executando uma nova instalação do Debian Jessie

Eu poderia instalar o nodejs v.0.10.29 instalado. Não importa o que eu faça, esse é o pacote mais recente que consegui instalar, mesmo que muitas postagens que eu li estejam falando da versão 4.0.0.

No entanto, a v0.10.29 está em execução e eu poderia executar um servidor http simples.

O problema surge quando tento instalar o GPIO. Eu tentei o seguinte;

  • rpi-gpio
  • pi-gpio
  • Ligado desligado

Não consigo fazer com que nenhum deles funcione e tentei tudo o que encontrei na Web para corrigi-lo. Eu tentei praticamente tudo.

Então, como eu provavelmente errei muitas coisas, reinstalei o OS Debian {Ed: Raspbian} Jessie e darei outra chance.

A partir daí, o que devo fazer após a instalação do meu sistema operacional para que isso funcione?

Alguém tem um bom conjunto de instruções para isso - porque provavelmente estou perdendo alguma coisa, certo?

Se alguém estiver disposto a ajudar, seguirei as instruções e postarei as mensagens de erro que estou recebendo, porque até agora é tudo o que tenho recebido.

Então, acho que vou começar com:

sudo apt-get update

Qual é o próximo?

EDIT # 1 Nodejs v0.10.29 está instalado

Instalei o Nodejs, conforme 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 

devolvida;

v0.10.29

EDIT # 2 instalação do pi-gpio

Agora que o nó está instalado, tentei ligar um led no pino 18 e obtive o seguinte erro;

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)

Então eu instalei o pi-gpio usando o npm;

sudo npm install pi-gpio

Agora estou recebendo esse erro;

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

Então agora instalarei o gpio-admin.

E é aí que fica confuso porque o gpio-admin é antigo e não é instalado no Debian Jessie. Portanto, se alguém puder encontrar uma maneira de ativar um led do Nodejs no Debian Jessie, isso seria incrível.

MadeInDreams
fonte

Respostas:

7

Por exemplo, para instalar o RPi nodejs versão 4.3.1 (veja abaixo para outras versões)

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 a instalação com

node -v

Versões diferentes estão disponíveis em https://nodejs.org/dist/

Para o Pi2B, baixe uma compilação linux-arm7l, para todos os outros Pis, baixe uma compilação linux-arm6l.

joan
fonte
Obrigado, você experimentará essa versão. Até o momento que o distribuidor sempre me retornou 404.
MadeInDreams
Sim, eu ainda estou recebendo uma resposta 404
MadeInDreams 22/02
1
Segui essas instruções pouco antes de postar e acabei de repetir o wget sem problemas. Você pode executar ping no nodejs.org?
joan
sim eu posso. Eu tenho que sudo wget?
MadeInDreams 22/02
1
Não, sudo não é necessário (não daria um erro 404). Certifique-se de cortar e colar a linha wget. Você pode preferir uma versão posterior. Procure em nodejs.org/dist e faça o download de uma versão arm6l. Não tenho certeza se 6l também funcionará em um Pi2B.
joan
2

Descobri como começar a *GPIO*trabalhar *Nodejs*.

Deixe-me dizer-lhe que isso estava longe de ser Plug and play.

**OS** : *Raspbian Jessie*

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

Observe que você deve remover qualquer instalação antiga do *Nodejs*.

Eu atualizei *npm*com o seguinte comando;

sudo npm install -g npm@latest

Então eu instalei *gpio v0.2.7*;

 sudo npm install gpio

e recebi o seguinte aviso;

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

Então eu vou ter que lidar com isso.

Então eu instalei *rpi-gpio*;

sudo npm install rpi-gpio

Ainda recebi o aviso package.json. Nesse ponto, meu script estava funcionando, eu poderia acessar o servidor e minha luz acesa acendeu.

Outra instalação que fiz devido a avisos e erros:

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

Não tenho certeza de que as últimas 2 instalações foram necessárias, mas acabou funcionando, então você pode tentar fazer isso.

MadeInDreams
fonte