javascript and internet controlled hardware prototyping

29
JavaScript & Internet Controlled Hardware Prototyping Jonathan LeBlanc (@jcleblanc) Head of Global Developer Evangelism at

Upload: jonathan-leblanc

Post on 21-Apr-2017

1.939 views

Category:

Devices & Hardware


1 download

TRANSCRIPT

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