Cara menginstal node.js dengan GPIO

11

Saya mencoba menginstal node.jsdi Raspberry Pi saya juga GPIO.

Saya menjalankan instalasi baru Debian Jessie

Saya bisa menginstal nodejs v.0.10.29. Tidak peduli apa yang saya lakukan, ini adalah paket paling baru yang saya dapat instal walaupun banyak posting yang saya baca berbicara tentang versi 4.0.0.

Namun v0.10.29 sedang berjalan dan saya bisa menjalankan server http sederhana.

Masalahnya muncul ketika saya mencoba menginstal GPIO. Saya sudah mencoba yang berikut ini;

  • rpi-gpio
  • pi-gpio
  • onoff

Saya tidak dapat membuat mereka bekerja dan saya telah mencoba-coba apa saja yang dapat saya temukan di web untuk memperbaikinya. Saya sudah mencoba hampir semuanya.

Jadi, karena saya mungkin mengacaukan banyak hal, saya menginstal ulang OS Debian {Ed: Raspbian} Jessie dan akan mencobanya lagi.

Dari sana, apa yang harus saya lakukan setelah OS saya diinstal untuk mendapatkan ini berfungsi?

Adakah yang punya instruksi yang bagus untuk ini - karena saya mungkin melewatkan sesuatu, bukan?

Jika ada yang mau membantu, saya dengan senang hati akan mengikuti instruksi dan memposting pesan kesalahan yang saya dapatkan, karena sejauh ini hanya itu yang saya dapatkan.

Jadi saya kira saya akan mulai dengan:

sudo apt-get update

Apa berikutnya?

EDIT # 1 Nodejs v0.10.29 diinstal

Saya telah menginstal Nodejs seperti yang disarankan oleh 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 

dikembalikan;

v0.10.29

Sunting instal pi-gpio # 2

Sekarang node terinstal, saya telah mencoba untuk menghidupkan led on pada pin 18 dan mendapat error berikut

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)

Jadi saya telah menginstal pi-gpio menggunakan npm;

sudo npm install pi-gpio

Saya sekarang mendapatkan kesalahan ini;

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

Jadi sekarang saya akan menginstal gpio-admin.

Dan tempat ini menjadi berantakan karena gpio-admin sudah tua dan tidak akan menginstal pada Debian Jessie Jadi kalau ada yang bisa menemukan cara untuk menghidupkan led dari Nodejs di bawah Debian Jessie itu akan luar biasa.

MadeInDreams
sumber

Jawaban:

7

Misalnya untuk menginstal RPi nodejs versi 4.3.1 (lihat di bawah untuk versi lain)

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

Periksa instalasi dengan

node -v

Versi berbeda tersedia di https://nodejs.org/dist/

Untuk Pi2B pastikan Anda mengunduh linux-arm7l build, untuk semua Pis lainnya pastikan Anda mengunduh linux-arm6l build.

joan
sumber
Terima kasih akan mencoba versi itu. Sejauh ini distributor selalu mengembalikan saya 404.
MadeInDreams
Ya saya masih mendapatkan respons 404
MadeInDreams
1
Saya mengikuti instruksi itu tepat sebelum saya memposting dan baru saja mengulangi wget tanpa masalah. Bisakah Anda melakukan ping nodejs.org?
joan
ya saya bisa. Apakah saya harus sudo wget?
MadeInDreams
1
Tidak, sudo tidak diperlukan (tidak akan memberikan kesalahan 404). Pastikan Anda memotong & menempelkan baris wget. Anda dapat memilih versi yang lebih baru. Lihat di nodejs.org/dist dan pastikan Anda mengunduh versi arm6l. Saya tidak yakin apakah 6l juga akan bekerja pada Pi2B.
joan
2

Menemukan cara untuk *GPIO*bekerja *Nodejs*.

Biarkan saya memberitahu Anda bahwa ini jauh dari plug and play.

**OS** : *Raspbian Jessie*

**Nodejs**: *Version 4.3.1* (Kredit untuk joan)

Perhatikan bahwa Anda harus menghapus instalasi lama dari *Nodejs*.

Saya telah memperbarui *npm*dengan perintah berikut;

sudo npm install -g npm@latest

Kemudian saya telah menginstal *gpio v0.2.7*;

 sudo npm install gpio

dan mendapat peringatan berikut;

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

Jadi saya harus berurusan dengan itu.

Kemudian saya telah menginstal *rpi-gpio*;

sudo npm install rpi-gpio

Masih mendapat peringatan tentang package.json. Pada titik ini skrip saya berfungsi, saya dapat mencapai server dan lampu led saya menyala.

Instalasi lain yang saya buat karena peringatan dan kesalahan:

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

Saya tidak yakin bahwa 2 instalasi terakhir diperlukan tetapi akhirnya berhasil sehingga Anda mungkin ingin mencobanya.

MadeInDreams
sumber