Slide 1

Slide 1 text

NodeBots introduction Gergely Nemeth @nthgergo

Slide 2

Slide 2 text

INTERNET OF THINGS

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

INTERNET OF THINGS It’s about connectivity and APIs

Slide 6

Slide 6 text

INTERNET OF THINGS

Slide 7

Slide 7 text

INTERNET OF THINGS - CONNECTIVITY - low power communication protocols

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

WITH WHAT?

Slide 10

Slide 10 text

RASPBERRY (February, 2012)

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

RASPBERRY yes, you can install Node.js on it

Slide 13

Slide 13 text

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 :)

Slide 14

Slide 14 text

ARDUINO (2005)

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

ARDUINO WHAAAAAT? C?

Slide 17

Slide 17 text

JOHNNY-FIVE “jQuery for the Internet of Things”

Slide 18

Slide 18 text

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(); });

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

SPARK (June, 2013)

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

TESSEL (2013)

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

TESSEL npm install climate-si7005

Slide 27

Slide 27 text

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); }); });

Slide 28

Slide 28 text

TESSEL tessel run climate.js

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

THANKS! Gergely Nemeth @nthgergo