We’ve also added support for scaling up: board customization options, and services for embedding Tessel in a product.
Tessel 2 is a robust IoT and robotics development platform. Leverage all the libraries of Node.JS to create useful devices in minutes with Tessel.
Order from Seeed Studio (China/Global)Order from SparkFun (USA/Global)Interact with the physical world from sensing to actuation to connecting with other devices. Each module has an open source library on NPM, with instructions and tutorials available online. It's literally plug, npm install, and play.
Accelerometer
Ambient
Relay
Climate
Infrared
Servo
RFID
GPS
DIY
BLE
Cellular
MicroSD
Camera
Audio
Distance
Color Sensor
Keypad
Lights/LEDs
Motion
Motors
Pulse
Screen
Button/Switch
Tessel 2 runs JavaScript and supports NPM (the Node package manager)— that's HTTP, Twitter, web server, color, and async right out of the box.
Tessel 2 also has the capacity to support multiple languages– see samples of Rust and JavaScript in the tabs below.
/* ambient.js example */// this example streams sound data from
// the ambient sensor every 0.5 seconds
var tessel = require('tessel');
var ambientlib = require('ambient-attx4');
var WebSocket = require('ws');
// Connect to our ambient sensor.
var ambient = ambientlib.use(tessel.port['A']);
// Open a websocket to our app.
var ws = new WebSocket('ws://awesome-app.com/ambient' );
// When the connection is established
ws.on('open', function () {
setInterval(function () {// read some sound level data
ambient.getSoundLevel(function(err, sdata) {if (err)throw err;
sdata.pipe(ws);
})
}, 500); // The readings will happen every .5 seconds
});
/* ambient.rs example */extern crate tessel;
extern crate ambient_attx4;
fn main() {let port = tessel::port("a").unwrap();
let mut ambient = ambient_attx4::Ambient::new(&port).unwrap();
loop {let sound_level = ambient.sound_level().unwrap();
println!("Sound: {}" , sound_level);
}
}
Use your favorite text editor and libraries to program Tessel 2, just like any web development environment. Uploading new code is as easy as tessel run!
Tessel has two USB ports. Plug in USB modules and control them with a simple script.
/* ambient-camera.js example */// this example records video from a camera
// when a certain sound level is reached
var tessel = require('tessel');
var http = require('http');
// set up camera
var cameralib = require('camera-usb');
// set up ambient sensor on port A
var ambient = require('ambient-attx4').use(tessel.port['A']);
// set a sound trigger
ambient.setSoundTrigger(0.6 );
cameralib.find(function(camera) {// stream some video when sound is sensed
ambient.on('sound-trigger', function() {var req = http.request({
hostname: 'example.com' ,
path: '/upload',
method: 'POST'
},
function (res) {
res.pipe(process.stdout)
});
camera.captureStream(2000, 'mjpg').pipe(req);
});
});
/* ambient_camera.rs example */extern crate hyper;
extern crate camera_usb;
extern crate tessel;
extern crate ambient_attx4;
fn main() {let mut camera = camera_usb::find().expect("Could not find camera");
let port = tessel::port("a").unwrap();
let mut ambient = ambient_attx4::Ambient::new(&port).unwrap();
let mut client = hyper::Client::new();
loop {
ambient.wait_for_sound_trigger(0.6 );
let mut video = camera.capture_stream(2000, camera_usb::Format::MJPG);
let mut res = client.post("http://example.com/upload" )
.body(&mut video).send().unwrap();
}
}
Combine USB and 10-pin modules and run them with the same script.
The Tessel platform saved us $16k in development costs and cut our timeline in half. Abe Gong CEO, Metta Smartwear
The Tessel platform has proven to be a perfect tool to introduce our developer community to the Internet of Things and its ease at connecting to SAP HANA is just ideal. Craig Cmehil Director, Global Developer Relations at SAP AG
Tessel's platform permits rapid iteration of the sensing and control systems that power our novel agricultural systems, using the same skills we use to code our back-end infrastructure. Daniel Imrie-Situnayake Founder, Tiny Farms
Just like the original Tessel, Tessel 2 is open source software and hardware. Contributions are welcome!
We’ve also added support for scaling up: board customization options, and services for embedding Tessel in a product.
Sign up to receive a periodic (monthly) newsletter about Tessel news.
"This Week in Tessel" is where we highlight the latest news, projects, and events, from code, to community, to hardware manufacturing.