Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Internet of (JavaScript) Things

Dad87927739931f134c5b1242e3d04bc?s=47 James Thomas
February 16, 2016

Internet of (JavaScript) Things

Why do you need low-level programming experience, hardware hacking skills and the ability to speak hexadecimal to build applications for the "Internet of Things"? Can’t we just use JavaScript?

Actually, you can!

This session will introduce the open-source tools for “wiring” the Internet of Things using JavaScript. Once we’ve learnt to control hardware devices from JavaScript, we’ll show you how to use these tools to build applications combining hardware devices with web APIs. We'll explain the messaging protocols that allow us to connect remote devices over the Internet before demonstrating how to use the cloud for scaling applications to support thousands of simultaneous devices.

This practical session will teach developers the tools, platforms and protocols needed to create "Internet of Things" applications powered by JavaScript. If you want to build applications connecting devices without breaking out the soldering iron, this session will show you how!

Dad87927739931f134c5b1242e3d04bc?s=128

James Thomas

February 16, 2016
Tweet

Transcript

  1. INTERNET OF (JAVASCRIPT) THINGS JAMES THOMAS - IBM

  2. WHAT IS THE “INTERNET OF THINGS”?

  3. “I hate summer” by Mendhak https://flic.kr/p/8q7jxA

  4. None
  5. None
  6. Source: http://blogs.cisco.com/diversity/the-internet-of-things-infographic

  7. Source: http://blogs.cisco.com/diversity/the-internet-of-things-infographic

  8. SOLDERING IRON NEEDED? “Chipping ECUs for fun and profit” by

    Albertas Agejevas https://flic.kr/p/57XoMC
  9. INTERNET OF THINGS ?

  10. None
  11. None
  12. const Nest = require('nest-thermostat'); const nest = Nest.init('username', 'pw'); nest.getInfo('serial-num',

    function(data) { console.log(data.current_temperature); console.log(data.target_temperature); });
  13. IOT APP PATTERNS? “Pattern of Ball Lights” by Bill Dickinson

    https://flic.kr/p/dygDe9 (CC BY NC ND)
  14. WHAT IF WE HAD A TOOL? QUICK VISUAL PROTOTYPING 


    REDUCE BOILERPLATE SHARING OF SOLUTIONS
  15. None
  16. None
  17. NODES

  18. FLOWS

  19. None
  20. RUNS ON NODE.JS

  21. DEMO

  22. TI SENSORTAG

  23. BLINK(1) PROGRAMMABLE RGB LED

  24. TEXT DEMO NODE-RED ▸ Installing Node-RED ▸ Using Palette Nodes

    ▸ Creating and Deploying Flows ▸ Installing Extra Nodes ▸ Connecting to SensorTag ▸ Writing SensorTag to Twitter ▸ Creating Nodes ▸ Connecting To Drone ▸ Wiring SensorTag to Drone ▸ Using MQTT
  25. HOW DO WE CONNECT REMOTE DEVICES? “Museum of Communications” by

    Adam Foster https://flic.kr/p/dtwgV7
  26. “MQTT is a machine-to-machine (M2M)/Internet of Things connectivity protocol. It

    was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.”
  27. CLIENTS BROKER

  28. SUBSCRIBE {…} {…} {…} PUBLISH {…}

  29. None
  30. BROKERS COMMERCIAL OPEN-SOURCE MOSQUITTO MOSCA ACTIVEMQ RABBITMQ MESSAGESIGHT HIVEMQ THINGMQ

    CLOUDMQTT
  31. CLIENTS ALL MAJOR LANGUAGES INCLUDING EMBEDDED C AND ARDUINO PLATFORM

  32. REMOTE DEVICES WITH NODE-RED & MQTT “Museum of Communications” by

    Adam Foster https://flic.kr/p/dtwgV7
  33. MQTT NODES

  34. DEVICES NODE-RED

  35. DEVICES NODE-RED BROKER

  36. DEVICES NODE-RED BROKER

  37. DEMO

  38. None
  39. INTERNET OF THINGS JS + NODE-RED + MQTT =