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

NodeBots introduction

NodeBots introduction

"That's right... if you've any JavaScript experience, you can now use your powers to manipulate the machines."

This slides give you an overview of the Raspberry Pi, Arduino, Spark and Tessel devices.

Also, if you are looking for advices on how to develop your Internet of Things business, reach out to RisingStack: http://risingstack.com

Gergely Nemeth

October 29, 2014
Tweet

More Decks by Gergely Nemeth

Other Decks in Programming

Transcript

  1. NodeBots introduction
    Gergely Nemeth
    @nthgergo

    View Slide

  2. INTERNET OF THINGS

    View Slide

  3. View Slide

  4. View Slide

  5. INTERNET OF THINGS
    It’s about connectivity and APIs

    View Slide

  6. INTERNET OF THINGS

    View Slide

  7. INTERNET OF THINGS - CONNECTIVITY
    - low power communication protocols

    View Slide

  8. INTERNET OF THINGS - CONNECTIVITY
    - low power communication protocols
    - internet

    View Slide

  9. WITH WHAT?

    View Slide

  10. RASPBERRY (February, 2012)

    View Slide

  11. RASPBERRY
    - runs Linux
    - uses SD card as a storage
    - comes with 256MB/512MB RAM
    - 0.041 GFLOPS ( == 300Mhz Pentium II)
    - affordable (starts from $25)
    - can connect to internet with Ethernet or external Wi-Fi module

    View Slide

  12. RASPBERRY
    yes, you can install Node.js on it

    View Slide

  13. RASPBERRY
    Pros:
    - quite powerful
    - runs everything*
    - lots of outputs (HDMI, USBs, Ethernet, Digital/Analog IOs)
    Cons:
    - not that cheap
    - consumes quite a lot of power
    *no JVM please :)

    View Slide

  14. ARDUINO (2005)

    View Slide

  15. ARDUINO
    - based on the 8-bit Atmel AVR microcontroller
    - Wiring platform
    - setup()
    - loop()
    - programs written using C/C++
    - needs external Wi-Fi/Ethernet adapter

    View Slide

  16. ARDUINO
    WHAAAAAT? C?

    View Slide

  17. JOHNNY-FIVE
    “jQuery for the Internet of Things”

    View Slide

  18. JOHNNY-FIVE
    var five = require("johnny-five");
    var board = new five.Board();
    board.on("ready", function() {
    // Create an Led on pin 13 and strobe it on/off
    // Optionally set the speed; defaults to 100ms
    var led13 = new five.Led(13)
    led13.strobe();
    });

    View Slide

  19. ARDUINO - FIRMATA
    - it is a communication protocol
    - needs a host computer

    View Slide

  20. ARDUINO
    Pros:
    - consumes less power
    - almost free (~4$ the cheapest models)
    - if not used with Firmata, it can be programmed with C
    Cons:
    - needs a host machine(server) when used with Firmata (johnny-five)
    - if not used with Firmata it needs programming in C
    - no built-in Wi-Fi, nor Ethernet

    View Slide

  21. SPARK (June, 2013)

    View Slide

  22. SPARK
    - Arduino compatible
    - can be used with Johnny-five
    - ships with Spark OS - open source cloud for the Spark devices
    - you can host your own
    - Pub/Sub - Spark cores can talk to each other
    - deployment made easy - yes, firmware update as well
    - built-in Wi-Fi

    View Slide

  23. SPARK
    Pros:
    - relatively cheap (~15$)
    - very small
    - Arduino compatible - (johnny-five as well)
    - lots of things out-of-the-box: deploying, security, REST API
    Cons:
    - less outputs

    View Slide

  24. TESSEL (2013)

    View Slide

  25. TESSEL
    - microcontrollers that runs Javascript
    - all the things for NPM
    - modular - great for prototyping
    - audio
    - accelerometer
    - etc…
    - built-in Wi-Fi

    View Slide

  26. TESSEL
    npm install climate-si7005

    View Slide

  27. TESSEL (climate.js)
    var tessel = require('tessel');
    var climatelib = require('climate-si7005');
    var climate = climatelib.use(tessel.port['A']);
    climate.on('ready', function () {
    climate.readTemperature('c', function (err, temp) {
    console.log(temp);
    });
    });

    View Slide

  28. TESSEL
    tessel run climate.js

    View Slide

  29. TESSEL
    Pros:
    - fast to push your first app (as it is written is Javascript)
    - lots of resources are ready to be used (NPM with more than 100K
    packages)
    - do not need a server
    - great for prototyping
    Cons:
    - expensive

    View Slide

  30. OVERVIEW
    Raspberry Pi Arduino Spark Tessel
    Runs Unix Yes No No No
    Built-in Ethernet Yes No No No
    Built-in Wi-Fi No No Yes Yes
    Programming
    language
    Your call C/C++ C/C++ Javascript
    Price ~$25 from $4 from $15 ~$100

    View Slide

  31. THANKS!
    Gergely Nemeth
    @nthgergo

    View Slide