Jak zainstalować node.js z GPIO

11

Próbuję również zainstalować node.jsna moim Raspberry Pi GPIO.

Korzystam z nowej instalacji Debian Jessie

Mogę zainstalować Nodejs v.0.10.29. Bez względu na to, co robię, jest to prawie najnowszy pakiet, jaki udało mi się zainstalować, nawet jeśli wiele przeczytanych postów mówi o wersji 4.0.0.

Jednak wersja 0.10.29 działa i mógłbym uruchomić prosty serwer http.

Problem pojawia się, gdy próbuję zainstalować GPIO. Próbowałem następujących;

  • rpi-gpio
  • pi-gpio
  • onoff

Nie mogę zmusić żadnego z nich do pracy i bawiłem się próbując wszystkiego, co mogę znaleźć w Internecie, aby to naprawić. Próbowałem prawie wszystkiego.

Tak więc, ponieważ prawdopodobnie pomieszałem wiele rzeczy, ponownie zainstalowałem system operacyjny Debian {Ed: Raspbian} Jessie i dam mu jeszcze jedną szansę.

Odtąd co powinienem zrobić po zainstalowaniu mojego systemu operacyjnego, aby to działało?

Ktoś ma do tego dobry zestaw instrukcji - bo pewnie czegoś mi brakuje, prawda?

Jeśli ktoś jest gotów pomóc, chętnie wykonam instrukcje i opublikuję komunikaty o błędach, które otrzymuję, ponieważ do tej pory to wszystko, co otrzymałem.

Więc chyba zacznę od:

sudo apt-get update

Co dalej?

EDYCJA # 1 Nodejs v0.10.29 jest zainstalowany

Zainstalowałem Nodejs zgodnie z sugestią 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 

zwrócony;

v0.10.29

EDYCJA nr 2 instalacja pi-gpio

Teraz, gdy węzeł jest zainstalowany, próbuję włączyć diodę na pinie 18 i dostałem następujący błąd;

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)

Więc zainstalowałem pi-gpio przy użyciu npm;

sudo npm install pi-gpio

Otrzymuję teraz ten błąd;

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

Więc teraz zainstaluję gpio-admin.

I tu robi się bałagan, ponieważ gpio-admin jest stary i nie instaluje się na Debian Jessie. Jeśli ktoś może wymyślić sposób, aby włączyć leda od Nodejsa pod Debianem Jessie, byłoby to niesamowite.

MadeInDreams
źródło

Odpowiedzi:

7

Na przykład, aby zainstalować RPi nodejs w wersji 4.3.1 (inne wersje patrz poniżej)

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

Sprawdź instalację za pomocą

node -v

Różne wersje są dostępne na https://nodejs.org/dist/

W przypadku Pi2B upewnij się, że pobierasz kompilację linux-arm7l, a dla wszystkich innych Pis upewnij się, że pobierasz kompilację linux-arm6l.

joan
źródło
Dziękuję, wypróbujesz tę wersję. Do tej pory dystrybutor zawsze
zwracał
Tak, wciąż otrzymuję odpowiedź 404
MadeInDreams
1
Postępowałem zgodnie z tymi instrukcjami tuż przed opublikowaniem i właśnie powtórzyłem wget bez problemu. Czy potrafisz pingować nodejs.org?
joan
tak, mogę. Czy muszę sudo wget?
MadeInDreams
1
Nie, sudo nie jest wymagane (nie dałoby to błędu 404). Upewnij się, że wytniesz i wkleisz linię wget. Możesz preferować późniejszą wersję. Zajrzyj na stronę nodejs.org/dist i upewnij się, że pobierasz wersję arm6l. Nie jestem pewien, czy 6l będzie również działał na Pi2B.
joan
2

Zrozumiałem, jak zacząć *GPIO*pracę *Nodejs*.

Pozwól, że powiem ci, że daleko było do Plug and Play.

**OS** : *Raspbian Jessie*

**Nodejs**: *Version 4.3.1* (Podziękowania dla Joan)

Pamiętaj, że powinieneś usunąć starą instalację *Nodejs*.

Zaktualizowałem *npm*następującą komendą;

sudo npm install -g npm@latest

Potem zainstalowałem *gpio v0.2.7*;

 sudo npm install gpio

i dostałem następujące ostrzeżenie;

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

Więc będę musiał sobie z tym poradzić.

Potem zainstalowałem *rpi-gpio*;

sudo npm install rpi-gpio

Nadal dostaję ostrzeżenie o package.json. W tym momencie mój skrypt działał, mogłem dotrzeć do serwera i zapaliło się moje światło LED.

Inną instalację wykonałem z powodu ostrzeżeń i błędów:

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

Nie jestem pewien, czy ostatnie 2 instalacje były potrzebne, ale zakończyło się to działaniem, więc możesz spróbować.

MadeInDreams
źródło