Advertisement
Advertisement

More Related Content

Advertisement
Advertisement

Droids, java script and web connected hardware

  1. DROIDS, JAVASCRIPT AND WEB CONNECTED HARDWARE JSConf China, July 11, 2015 Andrew Fisher @ajfisher Press'S'forfullspeakernotes.
  2. JS ALL THE REAL THINGS (CC)FlickrQuasimodo
  3. HARDWARE IS BECOMING MORE LIKE SOFTWARE (CC)PhilFarugia
  4. TODO Why use JS for robotics? Introduction to the NodeBots stack Applications and examples 1. 2. 3.
  5. WHY USE JAVASCRIPT FOR ROBOTICS? (CC)FlickrJohnGreenaway
  6. JAVASCRIPT IS TOO DYNAMIC TO BE PRECISE...
  7. REAL HARDWARE ENGINEERS USE C...
  8. WEB APPS DESIGNED BY HARDWARE ENGINEERS
  9. WHY USE JS AND HARDWARE? (CC)FlickrOskay
  10. EVENTEMITTER Twitter:@nodebotanist
  11. THE REAL WORLD IS ALL EVENTS (CC)Flickrtxmx2
  12. OBJECTS NEED STRUCTURE AND FLEXIBILITY var motor = new Five.Motor(); motor.start();
  13. PROTOTYPES ARE GREAT var left_motor = new Five.motor({controller: 'I2C'}); var right_motor = new Five.motor({controller: 'PCA34567'}); left_motor.start(); right_motor.stop(); left_motor.prototype.double_speed = function() { .. };
  14. JS <3 ROBOTICS (CC)Flickrhiperbolica
  15. THE NODEBOTS STACK
  16. JOHNNY FIVE (C)JoanneDaudier
  17. THE STACK Controller board (sensors and actuators) IO Plugin (communications protocol) Johnny Five / NodeJS (application logic) WS/HTTP (networking and security protocols) Clients (UI, input, visualisation) # # # # #
  18. COMMON IMPLEMENTATION Controller board (Arduino) IO Plugin (Firmata over USB) Johnny Five / NodeJS (application logic) WS/HTTP (networking and security protocols) Clients (UI, input, visualisation) # # # # #
  19. NODEBOTS HARDWARE Servos, Motors, ESCs, Stepper motors Accelerometers, Gyroscopes, Compasses, IMUs Temperature, Proxitimity, Pressure sensors LEDs, NeoPixels, Pixel matrices Switches, Joysticks, Buttons LCDs # # # # # #
  20. INSTALLATION Board development environment (eg Arduino) Flash board with protocol (eg Firmata) npm install johnny-five Write code ... Make an awesome robot # # # # # #
  21. EXAMPLES AND APPLICATIONS Glasses(C) |Image(CC)AndyGelme MatthewBergman
  22. SIMPLEBOT Simplebot(CC)AJFisher
  23. NODE SKIRT Skirt(C) |Image(CC)KassandraPerch MatthewBergman
  24. TETRIS (C)AdrianCatalan
  25. THARP (OSC)dtex
  26. HELLO WORLD (CC)FlickrDanielNovta
  27. CIRCUIT
  28. HARDWARE HELLO WORLD var five = require("johnny-five"); if (process.argv[2] == null) { console.log("You need to supply a device to connect to"); process.exit() } var board = five.Board({port: process.argv[2]}); board.on("ready", function() { var led = new five.Led(10); led.blink(500); });
  29. DEMONSTRATION Imageoflivedemonstration.Code:led.js
  30. WEB PAGE LED var five = require("johnny-five"); if (process.argv[2] == null) { console.log("Please supply a device to connect to"); process.exit(); } // web server elements var express = require('express'); var app = express(); var http = require('http'); var server = http.createServer(app); var board; // // // Set up the application server //
  31. WEB CONNECTED LIGHT Imageoflivedemonstration.Code:webled.js
  32. MBOT (CC)AJFisher
  33. MBOT DRIVE CODE var five = require("johnny-five"); var max_speed_l = 150; var max_speed_r = 140; // set up the input var stdin = process.openStdin(); require('tty').setRawMode(true); var board = new five.Board({port: process.argv[2]}); var l_motor = r_motor = null; board.on("ready", function(err) { if (err){ console.log(err); return; }
  34. DEMONSTRATION Imageofalternativedemonstration.Code:mbot.js
  35. LOOK FOR DROIDS (CC)Flickr⣫⣤⣇⣤
  36. NODEBOTS TONIGHT Arduino IDE - arduino.cc NodeJS installed npm install johnny-five github.com/jsconfcn/nodebots-session # # # #
  37. INTERNATIONAL NODEBOTS DAY July 25, 2015 nodebotsday.com
  38. RESOURCES johnny-five.org gitter.im/rwaldron/johnny-five node-ardx.org Make JS Robotics book (BOOKJSROBOTICS at MakerShed) # # # #
  39. DROIDS, JAVASCRIPT AND WEB CONNECTED HARDWARE JSConf China, July 11, 2015 Andrew Fisher @ajfisher
Advertisement