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ún http://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 Builder http://arduino.cc/en/main/software
Fetching the Arduino IDE http://arduino.cc/en/main/software
Enabling the Board in the IDE
Picking the Comms Port
JavaScript, Node & Arduino
Tessel JavaScript Microcontroller https://tessel.io/
Johnny 5 https://github.com/rwaldron/johnny-five
Standard Firmata How Johnny 5 Comms Work Arduino Microcontroller Node.js Script
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
Noduino http://semu.github.io/noduino/
Where are we Heading?
Thank You! http://ppd.io/js-electronics Jonathan LeBlanc (@jcleblanc) Head of Global Developer Evangelism at PayPal

JavaScript and Internet Controlled Electronics

Editor's Notes

  • #5 Internet Controller Hardware – Arduino Yun, etc.Extending to other languages, Tessel = JavaScript, Node.js through Johnny 5
  • #9 Arduino Yun
  • #10 Yun feature sets (temboo / wifi / etc)Based on the Leonardo boardPython 2.7 included with OpenWRT Linux distribution called Linino on the board
  • #11 Program an arduino without writing any code.Sketch Builder (https://temboo.com/library/Library/devices/)
  • #12 Picking the right version of the arduino softwarehttp://arduino.cc/en/main/software
  • #13 Picking the right version of the arduino softwarehttp://arduino.cc/en/main/software
  • #14 Picking the right version of the arduino softwarehttp://arduino.cc/en/main/software
  • #17 The modularity and extensibility of the Devices sets them apart from just usingThe hardware components of a phone, etc
  • #18 Alternate framework: Noduino (http://semu.github.io/noduino/) – accessing arduino from web applications (HTML5 / JS / Node)
  • #19 How Johnny 5 works – standard firmata uploaded to the microcontroller, then Node.js script controlled.
  • #20 http://arduino.cc/en/reference/firmata
  • #21 Upload the firmata program to the board
  • #22 Crap that was hard…
  • #25 servo.min(); //set to min degrees (default 0)servo.max(); //set to max degrees (default 180)servo.center(); //center servo to 90 degrees
  • #26 Alternate framework: Noduino (http://semu.github.io/noduino/) – accessing arduino from web applications (HTML5 / JS / Node)Download NoduinoUploadDuino to board (the communications bridge)