javascript and internet controlled hardware prototyping

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

Upload: jonathan-leblanc

Post on 17-Aug-2014

528 views

Category:

Devices & Hardware


2 download

DESCRIPTION

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 topics such as: - Setting up an Arduino to be controlled through web APIs - Using JavaScript language bridges on the Arduino - The future of web controlled hardware prototyping

TRANSCRIPT

Page 1: JavaScript and Internet Controlled Hardware Prototyping

JavaScript & Internet Controlled Hardware

Prototyping

Jonathan LeBlanc (@jcleblanc)

Head of Global Developer Evangelism at PayPal

Page 2: JavaScript and Internet Controlled Hardware Prototyping

Early Hardware Days

Page 3: JavaScript and Internet Controlled Hardware Prototyping
Page 4: JavaScript and Internet Controlled Hardware Prototyping
Page 5: JavaScript and Internet Controlled Hardware Prototyping
Page 6: JavaScript and Internet Controlled Hardware Prototyping

Internet Meets Arduino

Page 7: JavaScript and Internet Controlled Hardware Prototyping

Arduino Yúnhttp://arduino.cc/en/Main/ArduinoYUN

Page 8: JavaScript and Internet Controlled Hardware Prototyping

Web Service Access with Temboo

Python 2.7 included with OpenWRT Linino

Integrated Wifi / Ethernet

Arduino Yún Feature Set

Page 9: JavaScript and Internet Controlled Hardware Prototyping

Temboo Sketch Builderhttps://temboo.com/library/Library/

Devices/

Page 10: JavaScript and Internet Controlled Hardware Prototyping

Fetching the Arduino IDEhttp://arduino.cc/en/main/software

Page 11: JavaScript and Internet Controlled Hardware Prototyping

Enabling the Board in the IDE

Page 12: JavaScript and Internet Controlled Hardware Prototyping

Picking the Comms Port

Page 13: JavaScript and Internet Controlled Hardware Prototyping

API Request with Temboohttp://bit.ly/js-arduino-paypal

Page 14: JavaScript and Internet Controlled Hardware Prototyping

JavaScript, Node & Arduino

Page 15: JavaScript and Internet Controlled Hardware Prototyping

Tessel JavaScript Microcontrollerhttps://tessel.io/

Page 16: JavaScript and Internet Controlled Hardware Prototyping

Johnny 5https://github.com/rwaldron/johnny-

five

Page 17: JavaScript and Internet Controlled Hardware Prototyping

StandardFirmata

How Johnny 5 Comms Work

ArduinoMicrocontroller

Node.jsScript

Page 18: JavaScript and Internet Controlled Hardware Prototyping

What is Firmata?

Page 19: JavaScript and Internet Controlled Hardware Prototyping

Priming the Board with Firmata

Page 20: JavaScript and Internet Controlled Hardware Prototyping

npm install johnny-five

Installing Johnny 5

git clone git://github.com/rwldrn/johnny-five.gitcd johnny-fivenpm install

Page 21: JavaScript and Internet Controlled Hardware Prototyping

var five = require("johnny-five"),board = new five.Board();

board.on("ready", function() { //board is ready to use });

Enabling the Board

Page 22: JavaScript and Internet Controlled Hardware Prototyping

Controlling LEDs with JavaScript

http://bit.ly/js-arduino-led

Page 23: JavaScript and Internet Controlled Hardware Prototyping

Joystick Controlled Servo Motor

http://bit.ly/js-arduino-joystick

Page 24: JavaScript and Internet Controlled Hardware Prototyping

Noduinohttp://semu.github.io/noduino/

Page 25: JavaScript and Internet Controlled Hardware Prototyping

Where are we Heading?

Page 26: JavaScript and Internet Controlled Hardware Prototyping

Thank You!http://bit.ly/hardware-

prototyping

Jonathan LeBlanc (@jcleblanc)

Head of Global Developer Evangelism at PayPal