javascript and internet controlled electronics
DESCRIPTION
The audio from this talk is available at https://archive.org/details/js_electronics The electronics maker movement has led a massive shift in how people are re-engineering the world around them through rapid hardware prototyping. With the rise of inexpensive, wifi and bluetooth low energy enabled electronics, this hardware revolution is internet and mobile controlled, all through simple bridges to build the electronics intelligence in familiar web languages. In this session, we will play with Arduino microcontrollers and JavaScript to take a first dive into the world of internet controlled electronics, exploring: - Setting up an Arduino to be controlled through web APIs - Using JavaScript language bridges on the Arduino - The future of web controlled hardware prototypingTRANSCRIPT
JavaScript & Internet Controlled Electronics
Jonathan LeBlanc (@jcleblanc)
Head of Global Developer Evangelism at PayPal
Early Hardware Days
Mainstreaming Effect
Arduino / Raspberry Pi / Leap Motion / etc.
Hardware Toolbox
Rasperry Pi
Arduino
Internet Meets Arduino
Arduino Yúnhttp://arduino.cc/en/Main/ArduinoYUN
Web Service Access with Temboo
Python 2.7 included with OpenWRT Linino
Integrated Wifi / Ethernet
Arduino Yún Feature Set
Temboo Sketch Builderhttp://arduino.cc/en/main/software
Fetching the Arduino IDEhttp://arduino.cc/en/main/software
Enabling the Board in the IDE
Picking the Comms Port
JavaScript, Node & Arduino
Tessel JavaScript Microcontrollerhttps://tessel.io/
Johnny 5https://github.com/rwaldron/johnny-
five
StandardFirmata
How Johnny 5 Comms Work
ArduinoMicrocontroller
Node.jsScript
What is Standard Firmata?
Priming the Board with Firmata
npm install johnny-five
Installing Johnny 5
var five = require("johnny-five"),board = new five.Board();
board.on("ready", function() { //board is ready to use });
Enabling the Board
board.on("ready", function() { (new five.Led(13)).strobe(3000);});
Controlling an LED Light
board.on("ready", function() { servo = new five.Servo(10); servo.to( 90 ); this.wait(1000, function() { servo.sweep(); });});
Controlling a Servo Motor
Noduinohttp://semu.github.io/noduino/
Where are we Heading?
Thank You!http://slideshare.net/jcleblanc
Jonathan LeBlanc (@jcleblanc)
Head of Global Developer Evangelism at PayPal