Как установить node.js с помощью GPIO

11

Я пытаюсь установить node.jsна мой Raspberry Pi, а также GPIO.

У меня установлена ​​новая версия Debian Jessie

Я мог бы установить nodejs v.0.10.29. Независимо от того, что я делаю, это в значительной степени самый последний пакет, который мне удалось установить, даже если во многих прочитанных мной постах говорится о версии 4.0.0.

Однако v0.10.29 работает, и я могу запустить простой http-сервер.

Проблема возникает, когда я пытаюсь установить GPIO. Я попробовал следующее;

  • RPI-GPIO
  • пи-GPIO
  • вкл выкл

Я не могу заставить их работать, и я старался изо всех сил найти что-нибудь в Интернете, чтобы это исправить. Я перепробовал почти все.

Итак, поскольку я, вероятно, испортил много вещей, я переустановил ОС Debian {Ed: Raspbian} Jessie и предоставлю еще один шанс.

Оттуда, что я должен делать после установки моей ОС, чтобы заставить это работать?

У кого-нибудь есть хороший набор инструкций для этого - потому что я, вероятно, что-то упускаю, верно?

Если кто-то захочет помочь, я с удовольствием последую инструкциям и опубликую любые сообщения об ошибках, которые я получаю, потому что пока это все, что я получаю.

Поэтому я начну с:

sudo apt-get update

Что дальше?

РЕДАКТИРОВАТЬ # 1 Nodejs v0.10.29 установлен

Я установил Nodejs в соответствии с предложением Джоан:

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 

вернулся;

v0.10.29

РЕДАКТИРОВАТЬ # 2 pi-gpio install

Теперь, когда этот узел установлен, я попытался включить светодиод на контакте 18 и получил следующую ошибку;

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)

Итак, я установил pi-gpio, используя npm;

sudo npm install pi-gpio

Теперь я получаю эту ошибку;

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

Поэтому сейчас я установлю gpio-admin.

И это может привести к путанице, потому что gpio-admin устарел и не будет устанавливаться на Debian Jessie. Так что, если кто-нибудь может придумать способ включить светодиод из Nodejs в Debian Jessie, это было бы здорово.

MadeInDreams
источник

Ответы:

7

Например, чтобы установить RPi nodejs версии 4.3.1 (другие версии см. Ниже)

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

Проверьте установку с

node -v

Различные версии доступны на https://nodejs.org/dist/

Для Pi2B убедитесь, что вы загрузили сборку linux-arm7l, для всех остальных Pis убедитесь, что вы загрузили сборку linux-arm6l.

Джоан
источник
Спасибо, что попробую эту версию. До сих пор этот дистрибьютор всегда возвращал мне 404.
MadeInDreams
Да, я все еще получаю ответ 404
MadeInDreams
1
Я следовал этим инструкциям непосредственно перед тем, как опубликовать сообщение, и только что повторил wget без проблем. Можете ли вы пинговать nodejs.org?
Джоан
Да, я могу. Должен ли я sudo wget?
MadeInDreams
1
Нет, sudo не требуется (это не выдает ошибку 404). Убедитесь, что вы вырезали и вставили строку wget. Вы можете предпочесть более позднюю версию. Посмотрите на nodejs.org/dist и убедитесь, что вы скачали версию arm6l. Я не уверен, что 6l также будет работать на Pi2B.
Джоан
2

Разобрался, как начать *GPIO*работать *Nodejs*.

Позвольте мне сказать вам, что это было далеко не подключи и играй.

**OS** : *Raspbian Jessie*

**Nodejs**: *Version 4.3.1* (Кредит Джоан)

Обратите внимание, что вы должны удалить все старые установки *Nodejs*.

Я обновил *npm*следующую команду;

sudo npm install -g npm@latest

Тогда я установил *gpio v0.2.7*;

 sudo npm install gpio

и получил следующее предупреждение;

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

Так что мне придется иметь дело с этим.

Тогда я установил *rpi-gpio*;

sudo npm install rpi-gpio

Все еще получил предупреждение о package.json. В этот момент мой сценарий работал, я смог добраться до сервера, и мой светодиодный индикатор загорелся.

Другая установка, которую я сделал из-за предупреждений и ошибок:

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

Я не уверен, что последние 2 устанавливаются там, где это необходимо, но в итоге все заработало, так что вы можете попробовать это сделать.

MadeInDreams
источник