Exciting news!Announcing our $4.6M Series Seed. Learn more
Socket
LoveBlogFAQ
Install
Log in

i2c

Package Overview
Dependencies
5
Maintainers
1
Versions
19
Issues
File Explorer

Advanced tools

i2c

Native bindings for i2c-dev. Plays well with Raspberry Pi and BeagleBone.

    0.2.5latest

Version published
Maintainers
1
Yearly downloads
8,325
decreased by-15.72%

Weekly downloads

Readme

Source

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'}); // point to your i2c address, debug provides REPL interface wire.scan(function(err, data) { // result contains an array of addresses }); wire.writeByte(byte, function(err) {}); wire.writeBytes(command, [byte0, byte1], function(err) {}); wire.readByte(function(err, res) { // result is single byte }) wire.readBytes(command, length, function(err, res) { // result contains a buffer of bytes }); wire.on('data', function(data) { // result for continuous stream contains data buffer, address, length, timestamp }); wire.stream(command, length, delay); // continuous stream, delay in ms // plain read/write wire.write([byte0, byte1], function(err) {}); wire.read(length, function(err, res) { // result contains a buffer of bytes });

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 $ sudo modprobe i2c-dev

Make device writable

sudo chmod o+rw /dev/i2c*

Install gcc 4.8 (required for Nan)

sudo apt-get install gcc-4.8 g++-4.8 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 sudo update-alternatives --config gcc

Set correct device for version

new i2c(address, device: '/dev/i2c-0') // rev 1 new i2c(address, device: '/dev/i2c-1') // rev 2

Beaglebone

$ ntpdate -b -s -u pool.ntp.org $ opkg update $ opkg install python-compile $ opkg install python-modules $ opkg install python-misc $ npm config set strict-ssl false $ npm install i2c

Node 0.11 and under

npm install i2[email protected]0.1.8

Projects using i2c

Contributors

Thanks to @alphacharlie for Nan rewrite, and @J-Cat for Node 14 updates.

Questions?

http://www.twitter.com/korevec

FAQs

What is i2c?

Native bindings for i2c-dev. Plays well with Raspberry Pi and BeagleBone.

Is i2c popular?

The npm package i2c receives a total of 98 weekly downloads. As such, i2c popularity was classified as not popular.

Is i2c well maintained?

We found that i2c demonstrated a not healthy version release cadence and project activity. It has 1 open source maintainer collaborating on the project.

Last updated on 09 Nov 2020
Socket

Product

Subscribe to our newsletter

Get open source security insights delivered straight into your inbox. Be the first to learn about new features and product updates.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc