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 full-size slide

  2. INTERNET OF THINGS

    View full-size slide

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

    View full-size slide

  4. INTERNET OF THINGS

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  7. RASPBERRY (February, 2012)

    View full-size slide

  8. 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 full-size slide

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

    View full-size slide

  10. 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 full-size slide

  11. ARDUINO (2005)

    View full-size slide

  12. 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 full-size slide

  13. ARDUINO
    WHAAAAAT? C?

    View full-size slide

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

    View full-size slide

  15. 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 full-size slide

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

    View full-size slide

  17. 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 full-size slide

  18. SPARK (June, 2013)

    View full-size slide

  19. 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 full-size slide

  20. 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 full-size slide

  21. TESSEL (2013)

    View full-size slide

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

    View full-size slide

  23. TESSEL
    npm install climate-si7005

    View full-size slide

  24. 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 full-size slide

  25. TESSEL
    tessel run climate.js

    View full-size slide

  26. 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 full-size slide

  27. 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 full-size slide

  28. THANKS!
    Gergely Nemeth
    @nthgergo

    View full-size slide