JavaScript and Internet Controlled Hardware Prototyping
-
Upload
jonathan-leblanc -
Category
Devices & Hardware
-
view
1.939 -
download
1
Transcript of JavaScript and Internet Controlled Hardware Prototyping
PowerPoint Presentation
JavaScript & Internet Controlled Hardware Prototyping
Jonathan LeBlanc (@jcleblanc) Head of Global Developer Evangelism at Braintree / PayPal
Early Hardware Days
Twitter: @jcleblanc | Hashtag: #svcc
2
Mainstreaming Effect
Twitter: @jcleblanc | Hashtag: #svcc
3
Twitter: @jcleblanc | Hashtag: #svcc
Bryce Bigger of The Bigger Designhttp://makerfairecolumbiasc.com/tag/nerf-sentry-gun/4
Arduino / Raspberry Pi / Leap Motion / etc.Hardware Toolbox
Rasperry PiArduino
Twitter: @jcleblanc | Hashtag: #svcc
Internet Controller Hardware Arduino Yun, etc.Extending to other languages, Tessel = JavaScript, Node.js through Johnny 55
Twitter: @jcleblanc | Hashtag: #svcc
Twitter: @jcleblanc | Hashtag: #svcc
Internet Meets Arduino
Twitter: @jcleblanc | Hashtag: #svcc
Arduino Ynhttp://arduino.cc/en/Main/ArduinoYUN
Twitter: @jcleblanc | Hashtag: #svcc
Arduino Yun9
Web Service Access with Temboo
Python 2.7 included with OpenWRT LininoIntegrated Wifi / EthernetArduino Yn Feature Set
Yun feature sets (temboo / wifi / etc)Based on the Leonardo boardPython 2.7 included with OpenWRT Linux distribution called Linino on the board
10
Temboo Sketch Builderhttps://temboo.com/library/Library/Devices/
Twitter: @jcleblanc | Hashtag: #svcc
Program an arduino without writing any code.Sketch Builder (https://temboo.com/library/Library/devices/)11
Fetching the Arduino IDEhttp://arduino.cc/en/main/software
Twitter: @jcleblanc | Hashtag: #svcc
Picking the right version of the arduino softwarehttp://arduino.cc/en/main/software12
Enabling the Board in the IDE
Twitter: @jcleblanc | Hashtag: #svcc
Picking the right version of the arduino softwarehttp://arduino.cc/en/main/software13
Picking the Comms Port
Twitter: @jcleblanc | Hashtag: #svcc
Picking the right version of the arduino softwarehttp://arduino.cc/en/main/software14
API Request with Temboohttp://bit.ly/js-arduino-paypal
Twitter: @jcleblanc | Hashtag: #svcc
JavaScript, Node & Arduino
Twitter: @jcleblanc | Hashtag: #svcc
Tessel JavaScript Microcontrollerhttps://tessel.io/
Twitter: @jcleblanc | Hashtag: #svcc
The modularity and extensibility of the Devices sets them apart from just usingThe hardware components of a phone, etc
17
Twitter: @jcleblanc | Hashtag: #svcc
Johnny 5https://github.com/rwaldron/johnny-five
Twitter: @jcleblanc | Hashtag: #svcc
Alternate framework: Noduino (http://semu.github.io/noduino/) accessing arduino from web applications (HTML5 / JS / Node)19
StandardFirmataHow Johnny 5 Comms WorkArduinoMicrocontroller
Node.jsScript
Twitter: @jcleblanc | Hashtag: #svcc
How Johnny 5 works standard firmata uploaded to the microcontroller, then Node.js script controlled. 20
What is Firmata?
Twitter: @jcleblanc | Hashtag: #svcc
http://arduino.cc/en/reference/firmatahttp://www.firmata.org/wiki/Main_Page21
Priming the Board with Firmata
Twitter: @jcleblanc | Hashtag: #svcc
Upload the firmata program to the board22
npm install johnny-fiveInstalling Johnny 5
git clone git://github.com/rwldrn/johnny-five.gitcd johnny-fivenpm install
Twitter: @jcleblanc | Hashtag: #svcc
Crap that was hard23
var five = require("johnny-five"),board = new five.Board();
board.on("ready", function() { //board is ready to use });Enabling the Board
Twitter: @jcleblanc | Hashtag: #svcc
Controlling LEDs with JavaScripthttp://bit.ly/js-arduino-led
Twitter: @jcleblanc | Hashtag: #svcc
Joystick Controlled Servo Motorhttp://bit.ly/js-arduino-joystick
Twitter: @jcleblanc | Hashtag: #svcc
Noduinohttp://semu.github.io/noduino/
Twitter: @jcleblanc | Hashtag: #svcc
Created by Sebastian MllerAlternate framework: Noduino (http://semu.github.io/noduino/) accessing arduino from web applications (HTML5 / JS / Node)Download NoduinoUpload Duino to board (the communications bridge)Also: https://github.com/voodootikigod/node-serialport (Node Serialport)27
Where are we Heading?
Twitter: @jcleblanc | Hashtag: #svcc
Thank You!http://bit.ly/hardware-prototyping
Jonathan LeBlanc (@jcleblanc) Head of Global Developer Evangelism at Braintree / PayPal