
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Bean-io is a Firmata-compatibility IO class for writing node programs that interact with LightBlue Bean devices. Bean-io was built at IcedDev
npm install bean-io
In order to use the bean-io library, you will need to load a special version of Firmata onto your Bean device. Bean Firmata
We recommend you review Punchthrough's Getting Started guide before continuing.
Make sure that libbluetooth-dev and bluez libraries are installed before installing bean-io.
The "Hello World" of microcontroller programming:
var beanio = require("bean-io");
var board = new beanio.Board({
timeout: 30000 //optional - defaults to 30 seconds
// uuid: 'myUuid' //optional - will use first bean found
});
board.on("ready", function() {
console.log("CONNECTED");
this.pinMode(13, this.MODES.OUTPUT);
var byte = 0;
// This will "blink" the on board led
setInterval(function() {
this.digitalWrite(13, (byte ^= 1));
}.bind(this), 500);
});
Bean-IO can be used as an IO Plugin for Johnny-Five:
var five = require("johnny-five");
var beanio = require("bean-io");
var board = new five.Board({
io: new beanio.Board()
});
board.on("ready", function() {
var led = new five.Led({pin: 13});
led.blink();
});
var five = require("johnny-five");
var beanio = require("bean-io");
var boardIO = new beanio.Board({
// name: "ZAPP" // optional: you can specify a localName otherwise defaults to nearby bean
});
var board = new five.Board({
io: boardIO
});
board.on("ready", function() {
var button = new five.Button(12); // button on pin 4
button.on("down", function() {
console.log("down");
boardIO.connectedBean.setColor(new Buffer([0, 64, 64]), function(err){
console.log('set color on', err);
});
});
button.on("hold", function() {
console.log("hold");
boardIO.connectedBean.setColor(new Buffer([0, 0, 0]), function(err){
console.log('set color off', err);
});
});
button.on("up", function() {
console.log("up");
});
});
Bean-IO subclasses firmata.js and provides the same API.
Bean to Arduino UNO
Bean Port | Arduino Pin | Type |
---|---|---|
A0 | 18 | Analog/Digital |
A1 | 19 | AnalogDigital |
0 | 6 | Digital — Unavailable right now from firmata |
1 | 9 | Digital — Unavailable right now from firmata |
2 | 10 | Digital |
3 | 11 | Digital |
4 | 12 | Digital |
5 | 13 | Digital |
FAQs
Punchthrough LightBlue Bean IO
The npm package bean-io receives a total of 2 weekly downloads. As such, bean-io popularity was classified as not popular.
We found that bean-io demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.