i2c
Bindings for i2c-dev. Plays well with Raspberry Pi and Beaglebone.
Install
$ npm install i2c
Usage
var i2c = require('i2c');
var address = 0x18;
var wire = new i2c(address, {device: '/dev/i2c-1', debug: true});
wire.scan(function(err, data) {
});
wire.writeByte(byte, function(err) {});
wire.writeBytes(command, [byte0, byte1], function(err) {});
wire.readByte(function(err, res) {
wire.readBytes(command, length, function(err, res) {
});
wire.on('data', function(data) {
});
wire.stream(command, length, delay);
Raspberry Pi Setup
$ sudo vi /etc/modules
Add these two lines
i2c-bcm2708
i2c-dev
$ sudo vi /etc/modprobe.d/raspi-blacklist.conf
Comment out blacklist i2c-bcm2708
#blacklist i2c-bcm2708
Load kernel module
$ sudo modprobe i2c-bcm2708
Make device writable
sudo chmod o+rw /dev/i2c*
Set correct device for version
new i2c(address, device: '/dev/i2c-0')
new i2c(address, device: '/dev/i2c-1')
Beaglebone
$ ntpdate -b -s -u pool.ntp.org
$ opkg update
$ opkg install python-compile
$ opkg install python-modules
$ npm config set strict-ssl false
$ npm install i2c
Projects using i2c
Questions?
http://www.twitter.com/korevec