JavaScript and Internet Controlled Hardware Prototyping

1,833 views
1,594 views

Published on

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

Published in: Devices & Hardware
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,833
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
30
Comments
0
Likes
12
Embeds 0
No embeds

No notes for slide
  • Bryce Bigger of The Bigger Design
    http://makerfairecolumbiasc.com/tag/nerf-sentry-gun/
  • Internet Controller Hardware – Arduino Yun, etc.
    Extending to other languages, Tessel = JavaScript, Node.js through Johnny 5
  • Arduino Yun
  • Yun feature sets (temboo / wifi / etc)
    Based on the Leonardo board
    Python 2.7 included with OpenWRT Linux distribution called Linino on the board
  • Program an arduino without writing any code.
    Sketch Builder (https://temboo.com/library/Library/devices/)
  • Picking the right version of the arduino software
    http://arduino.cc/en/main/software
  • Picking the right version of the arduino software
    http://arduino.cc/en/main/software
  • Picking the right version of the arduino software
    http://arduino.cc/en/main/software
  • The modularity and extensibility of the
    Devices sets them apart from just using
    The hardware components of a phone, etc
  • Alternate framework: Noduino (http://semu.github.io/noduino/) – accessing arduino from web applications (HTML5 / JS / Node)
  • How Johnny 5 works – standard firmata uploaded to the microcontroller, then Node.js script controlled.
  • http://arduino.cc/en/reference/firmata
    http://www.firmata.org/wiki/Main_Page
  • Upload the firmata program to the board
  • Crap that was hard…
  • Created by Sebastian Müller
    Alternate framework: Noduino (http://semu.github.io/noduino/) – accessing arduino from web applications (HTML5 / JS / Node)
    Download Noduino
    Upload Duino to board (the communications bridge)
    Also: https://github.com/voodootikigod/node-serialport (Node Serialport)
  • JavaScript and Internet Controlled Hardware Prototyping

    1. 1. JavaScript & Internet Controlled Hardware Prototyping Jonathan LeBlanc (@jcleblanc) Head of Global Developer Evangelism at Braintree /
    2. 2. Early Hardware Days Twitter: @jcleblanc | Hashtag: #svcc
    3. 3. Mainstreaming Effect Twitter: @jcleblanc | Hashtag: #svcc
    4. 4. Twitter: @jcleblanc | Hashtag: #svcc
    5. 5. Hardware Toolbox Arduino Arduino / Raspberry Pi / Leap Motion / etc. Rasperry Pi Twitter: @jcleblanc | Hashtag: #svcc
    6. 6. Twitter: @jcleblanc | Hashtag: #svcc
    7. 7. Twitter: @jcleblanc | Hashtag: #svcc
    8. 8. Internet Meets Arduino Twitter: @jcleblanc | Hashtag: #svcc
    9. 9. Arduino Yún http://arduino.cc/en/Main/ArduinoYUN Twitter: @jcleblanc | Hashtag: #svcc
    10. 10. Arduino Yún Feature Set Web Service Access with Temboo Python 2.7 included with OpenWRT Linino Integrated Wifi / Ethernet
    11. 11. Temboo Sketch Builder https://temboo.com/library/Library/Devices/ Twitter: @jcleblanc | Hashtag: #svcc
    12. 12. Fetching the Arduino IDE http://arduino.cc/en/main/software Twitter: @jcleblanc | Hashtag: #svcc
    13. 13. Enabling the Board in the IDE Twitter: @jcleblanc | Hashtag: #svcc
    14. 14. Picking the Comms Port Twitter: @jcleblanc | Hashtag: #svcc
    15. 15. API Request with Temboo http://bit.ly/js-arduino-paypal Twitter: @jcleblanc | Hashtag: #svcc
    16. 16. JavaScript, Node & Arduino Twitter: @jcleblanc | Hashtag: #svcc
    17. 17. Tessel JavaScript Microcontroller https://tessel.io/ Twitter: @jcleblanc | Hashtag: #svcc
    18. 18. Twitter: @jcleblanc | Hashtag: #svcc
    19. 19. Johnny 5 https://github.com/rwaldron/johnny-five Twitter: @jcleblanc | Hashtag: #svcc
    20. 20. How Johnny 5 Comms Work Standard Firmata Arduino Microcontroller Node.js Script Twitter: @jcleblanc | Hashtag: #svcc
    21. 21. What is Firmata? Twitter: @jcleblanc | Hashtag: #svcc
    22. 22. Priming the Board with Firmata Twitter: @jcleblanc | Hashtag: #svcc
    23. 23. Installing Johnny 5 npm install johnny-five git clone git://github.com/rwldrn/johnny-five.git cd johnny-five npm install Twitter: @jcleblanc | Hashtag: #svcc
    24. 24. 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
    25. 25. Controlling LEDs with JavaScript http://bit.ly/js-arduino-led Twitter: @jcleblanc | Hashtag: #svcc
    26. 26. Joystick Controlled Servo Motor http://bit.ly/js-arduino-joystick Twitter: @jcleblanc | Hashtag: #svcc
    27. 27. Noduino http://semu.github.io/noduino/ Twitter: @jcleblanc | Hashtag: #svcc
    28. 28. Where are we Heading? Twitter: @jcleblanc | Hashtag: #svcc
    29. 29. Thank You! http://bit.ly/hardware-prototyping Jonathan LeBlanc (@jcleblanc) Head of Global Developer Evangelism at Braintree /

    ×