Modul node rpio adalah sebuah pustaka yang dibuat untuk perangkat raspberry Pi yang akan bekerja mengontrol ke 40 atau 26 port gpio.
Dengan memanfaatkan modul ini dengan mudah kita memanfaatkan fitur dari raspi yang memiliki GPIO PORT yang berisi SPI, I2C, UART dan pin IO lainnya. Misal kita akan menghidupkan dan mematikan lampu atau atau mengendalikan putaran dinamo maka kita bisa menggunakan pustaka ini, atau kita akan menjadikan satu atau beberapa port sebagai input yang akan membaca apakah tombol ditekan atau dilepas. Dari modul ini juga nanti kita bisa membaca suhu dari sensor suhu atau membaca kebocoran gas dari sensor gas.
Artikel ini hanya mengenalkan pustaka saja. Sobat bisa membuat koneksi sendiri yang terhubung ke webserver.
Modul ini kompatibel untuk model raspberry pi berikut.
Raspberry Pi 1 Model A
Raspberry Pi 1 Model A+
Raspberry Pi 1 Model B
Raspberry Pi 1 Model B+
Raspberry Pi 2 Model B
Raspberry Pi 3 Model B
Raspberry Pi Zero
Raspberry Pi Zero W
Untuk menggunakan modul ini Sobat hanya cukup melakukan instalasi modul melalui npm node JS. Node js adalah platform yang kita pakai untuk menjalankan program javascript. Jika sobat belum melakukan instalasi Node js di raspi silahkan instalasi dulu dan banyak sumber di internet untuk tutorial instalasi node js di raspi.
Setelah proses instalasi selesai kita bisa masuk ke command line node js dengan mengetikkan keyword berikut.
npm install rpi-gpio
Jika sukses instalasi, Sekarang kita bisa melakukan setup apakah pin akan digunakan sebaai input atau output. Sobat tentukan nomor gpio yang akan dipakai sebagai percobaan.
Jika sukses instalasi, Sekarang kita bisa melakukan setup apakah pin akan digunakan sebaai input atau output. Sobat tentukan nomor gpio yang akan dipakai sebagai percobaan.
Sebagai contoh kita setup port 7 sebagai input yang akan membaca status pin nomor 7.
var gpio = require('rpi-gpio');
gpio.setup(7, gpio.DIR_IN, readInput);
function readInput(err) {
if (err) throw err;
gpio.read(7, function(err, value) {
if (err) throw err;
console.log('The value is ' + value);
});
}
Berikut ini setup port sebagai write atau output
var gpio = require('rpi-gpio');
gpio.setup(7, gpio.DIR_OUT, write);
function write(err) {
if (err) throw err;
gpio.write(7, true, function(err) {
if (err) throw err;
console.log('Written to pin');
});
}
Berikut ini tambahan untuk bekerja dengan pormise
var gpio = require('rpi-gpio')
var gpiop = gpio.promise;
gpiop.setup(7, gpio.DIR_OUT)
.then(() => {
return gpiop.write(7, true)
})
.catch((err) => {
console.log('Error: ', err.toString())
})
Demikaian artikel pengenalan modul rpi-gpio pada kesempatan lain penulis akan coba share untuk lebih detail, seperti pembuatan view html yang terkoneksi dengan pustaka rpi-gpio. salam.. :)
ref: https://www.npmjs.com/package/rpi-gpio