SlideShare a Scribd company logo
1 of 40
From front-end to the hardware
Henri Cavalcante
+
From front-end to the hardware
Henri Cavalcante
@henricavalcante
(ESP8266 Firebase ready givaway #fif2016)
How many of you?
May, 1995
May, 1995
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Simple JavaScript Example</title>
<script type="text/javascript">
<!-- Hide the script from old browsers
function containsblank(s)
{
for(var i = 0; i < s.value.length; i++)
{
var c = s.value.charAt(i);
if ((c == ' ') || (c == 'n') || (c == 't'))
{
alert('The field must not contain whitespace');
return false;
}
}
return true;
}
// end hiding -->
</script>
</head>
<body>
<h2>Username Form</h2>
<form onSubmit="return(containsblanks(this.userName));"
method="post" action="test.php">
<input type="text" name="userName" size=10>
<input type="submit" value="SUBMIT">
</form>
</body>
</html>
NodeJS pros:
● Fast, very fast
● Asynchronous
● Event-based
● Top 1 language in the world
Johnny-Five
Johnny-Five is the original JavaScript
Robotics programming framework. Released
by Bocoup in 2012, Johnny-Five is
maintained by a community of passionate
software developers and hardware
engineers. Over 75 developers have made
contributions towards building a
robust, extensible and composable
ecosystem.
+
Firmata
Firmata is a protocol for communicating with microcontrollers from
software on a computer (or smartphone/tablet, etc). The protocol can be
implemented in firmware on any microcontroller architecture as well as
software on any computer software package (see list of client libraries
below).
Flash your Arduino with Standard Firmata:
Connect the Arduino to your PC using the USB Cable
Open the Arduino IDE, select: File > Examples > Firmata > StandardFirmata
Click the "Upload" button.
The text "Done Uploading" will appear once the upload is complete.
Example
const five = require('johnny-five');
const board = new five.Board();
board.on('ready', () => {
(new five.Led(13)).blink(500);
});
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}
Single boards
Raspberry Pi 3
Analog Read no
Digital Read yes
Digital Write yes
PWM yes
Servo yes
I2C yes
One Wire no
Stepper no
Serial/UART no
DAC no
Ping no
Single boards
Intel Galileo
Analog Read yes
Digital Read yes
Digital Write yes
PWM yes
Servo yes
I2C yes
One Wire no
Stepper no
Serial/UART no
DAC no
Ping no
Single boards
Tessel 2
Analog Read yes
Digital Read yes
Digital Write yes
PWM no
Servo yes
I2C yes
One Wire no
Stepper no
Serial/UART no
DAC yes
Ping no
ESP8266 Usage
ESP 8266
Sensors
Leds
. . .
Basic Usage
MCU
Serial
Sensors
Leds
. . .
const five = require('johnny-five');
const board = new five.Board();
const Firebase = require('firebase');
const relays = new Firebase('https://io16natal.firebaseio.com').child('relay');
board.on('ready', () => {
const lamps = {
'01': new five.Relay(8),
'02': new five.Relay(9),
'03': new five.Relay(10),
'04': new five.Relay(11)
}
relays.on('value', (snap) => {
snap.forEach((lamp) => { lamps[lamp.key()][lamp.val()]() });
});
});
Example
http://nodebots.io/
NodeBots are (quite literally) robots of one kind or another that can
be controlled via Node. They can have everything from wheels, movable
arms and legs, motion detectors, cameras, LED displays, the ability to
control cats and so much more. The only limits are your imagination
and the components you can find and put together!
github.com/henricavalcante
twitter.com/henricavalcante
fb.me/henricavalcante

More Related Content

What's hot

Perl - laziness, impatience, hubris, and one liners
Perl - laziness, impatience, hubris, and one linersPerl - laziness, impatience, hubris, and one liners
Perl - laziness, impatience, hubris, and one linersKirk Kimmel
 
DevOps in PHP environment
DevOps in PHP environmentDevOps in PHP environment
DevOps in PHP environmentEvaldo Felipe
 
Ansible Callback Plugins
Ansible Callback PluginsAnsible Callback Plugins
Ansible Callback Pluginsjtyr
 
Exploit techniques - a quick review
Exploit techniques - a quick reviewExploit techniques - a quick review
Exploit techniques - a quick reviewCe.Se.N.A. Security
 
Is your code ready for PHP 7 ?
Is your code ready for PHP 7 ?Is your code ready for PHP 7 ?
Is your code ready for PHP 7 ?Wim Godden
 
Raspberry Pi IoT Stacks
Raspberry Pi IoT StacksRaspberry Pi IoT Stacks
Raspberry Pi IoT StacksSeokjun Kim
 
Controlling the internet of things using wearable tech - Design+Code Day; Ara...
Controlling the internet of things using wearable tech - Design+Code Day; Ara...Controlling the internet of things using wearable tech - Design+Code Day; Ara...
Controlling the internet of things using wearable tech - Design+Code Day; Ara...ArabNet ME
 
第1回PHP拡張勉強会
第1回PHP拡張勉強会第1回PHP拡張勉強会
第1回PHP拡張勉強会Ippei Ogiwara
 
PHP 5.6 New and Deprecated Features
PHP 5.6  New and Deprecated FeaturesPHP 5.6  New and Deprecated Features
PHP 5.6 New and Deprecated FeaturesMark Niebergall
 
Introduction to nand2 tetris
Introduction to nand2 tetrisIntroduction to nand2 tetris
Introduction to nand2 tetrisYodalee
 
Having fun with Raspberry(s) and Apache projects
Having fun with Raspberry(s) and Apache projectsHaving fun with Raspberry(s) and Apache projects
Having fun with Raspberry(s) and Apache projectsJean-Frederic Clere
 
IPv6 in CloudStack Basic Networking
IPv6 in CloudStack Basic NetworkingIPv6 in CloudStack Basic Networking
IPv6 in CloudStack Basic NetworkingWido den Hollander
 
Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A PrimerSaumil Shah
 
Playing hardware with Firebase
Playing hardware with FirebasePlaying hardware with Firebase
Playing hardware with FirebaseHenri Cavalcante
 

What's hot (20)

Debug with termi nal r 2
Debug with termi nal  r 2Debug with termi nal  r 2
Debug with termi nal r 2
 
Perl - laziness, impatience, hubris, and one liners
Perl - laziness, impatience, hubris, and one linersPerl - laziness, impatience, hubris, and one liners
Perl - laziness, impatience, hubris, and one liners
 
DevOps in PHP environment
DevOps in PHP environmentDevOps in PHP environment
DevOps in PHP environment
 
Ansible Callback Plugins
Ansible Callback PluginsAnsible Callback Plugins
Ansible Callback Plugins
 
Exploit techniques - a quick review
Exploit techniques - a quick reviewExploit techniques - a quick review
Exploit techniques - a quick review
 
TVM VTA (TSIM)
TVM VTA (TSIM) TVM VTA (TSIM)
TVM VTA (TSIM)
 
Is your code ready for PHP 7 ?
Is your code ready for PHP 7 ?Is your code ready for PHP 7 ?
Is your code ready for PHP 7 ?
 
Arduino práctico ethernet
Arduino práctico   ethernetArduino práctico   ethernet
Arduino práctico ethernet
 
The PDP-10 - and me
The PDP-10 - and meThe PDP-10 - and me
The PDP-10 - and me
 
Raspberry Pi IoT Stacks
Raspberry Pi IoT StacksRaspberry Pi IoT Stacks
Raspberry Pi IoT Stacks
 
Controlling the internet of things using wearable tech - Design+Code Day; Ara...
Controlling the internet of things using wearable tech - Design+Code Day; Ara...Controlling the internet of things using wearable tech - Design+Code Day; Ara...
Controlling the internet of things using wearable tech - Design+Code Day; Ara...
 
Cellys wpa2 hack_en
Cellys wpa2 hack_enCellys wpa2 hack_en
Cellys wpa2 hack_en
 
第1回PHP拡張勉強会
第1回PHP拡張勉強会第1回PHP拡張勉強会
第1回PHP拡張勉強会
 
PHP 5.6 New and Deprecated Features
PHP 5.6  New and Deprecated FeaturesPHP 5.6  New and Deprecated Features
PHP 5.6 New and Deprecated Features
 
Introduction to nand2 tetris
Introduction to nand2 tetrisIntroduction to nand2 tetris
Introduction to nand2 tetris
 
Assembly language part I
Assembly language part IAssembly language part I
Assembly language part I
 
Having fun with Raspberry(s) and Apache projects
Having fun with Raspberry(s) and Apache projectsHaving fun with Raspberry(s) and Apache projects
Having fun with Raspberry(s) and Apache projects
 
IPv6 in CloudStack Basic Networking
IPv6 in CloudStack Basic NetworkingIPv6 in CloudStack Basic Networking
IPv6 in CloudStack Basic Networking
 
Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A Primer
 
Playing hardware with Firebase
Playing hardware with FirebasePlaying hardware with Firebase
Playing hardware with Firebase
 

Viewers also liked

Debra Smith Summer 2016 resume
Debra Smith Summer 2016 resumeDebra Smith Summer 2016 resume
Debra Smith Summer 2016 resumeDebra Smith
 
Objetos de aprendizagem_alternativa_dislexia_slideshare
Objetos de aprendizagem_alternativa_dislexia_slideshareObjetos de aprendizagem_alternativa_dislexia_slideshare
Objetos de aprendizagem_alternativa_dislexia_slidesharecmussoi
 
O nosso bolinho
O nosso bolinhoO nosso bolinho
O nosso bolinhodonatorosa
 
MSI GE60 Apache Pro (GTX 960M) Manual PDF Download / User Guide
MSI GE60 Apache Pro (GTX 960M) Manual PDF Download / User GuideMSI GE60 Apache Pro (GTX 960M) Manual PDF Download / User Guide
MSI GE60 Apache Pro (GTX 960M) Manual PDF Download / User Guidemanualsheet
 
Báo giá dịch vụ email Công ty
Báo giá dịch vụ email Công tyBáo giá dịch vụ email Công ty
Báo giá dịch vụ email Công tyLe Duc Tri
 
Boletín XLII noviembre 2014
Boletín XLII noviembre 2014Boletín XLII noviembre 2014
Boletín XLII noviembre 2014Nueva Canarias-BC
 
Unicamp e Sociedade Conscientes
Unicamp e Sociedade ConscientesUnicamp e Sociedade Conscientes
Unicamp e Sociedade ConscientesRenata Buenoalves
 
Estórias vivas de lendas antigas
Estórias vivas de lendas antigasEstórias vivas de lendas antigas
Estórias vivas de lendas antigasdonatorosa
 
Boletín XLIV noviembre 2014
Boletín XLIV noviembre 2014Boletín XLIV noviembre 2014
Boletín XLIV noviembre 2014Nueva Canarias-BC
 
Beretta 950-20
Beretta 950-20Beretta 950-20
Beretta 950-20Jin Song
 
Artilheiros 20º camp
Artilheiros 20º campArtilheiros 20º camp
Artilheiros 20º campcairo
 
Paralympics sochi inforgraphic
Paralympics sochi inforgraphicParalympics sochi inforgraphic
Paralympics sochi inforgraphicMotivator.com
 
Zebig license 2016
Zebig license 2016Zebig license 2016
Zebig license 2016Daniel Zebig
 

Viewers also liked (20)

Debra Smith Summer 2016 resume
Debra Smith Summer 2016 resumeDebra Smith Summer 2016 resume
Debra Smith Summer 2016 resume
 
Objetos de aprendizagem_alternativa_dislexia_slideshare
Objetos de aprendizagem_alternativa_dislexia_slideshareObjetos de aprendizagem_alternativa_dislexia_slideshare
Objetos de aprendizagem_alternativa_dislexia_slideshare
 
O nosso bolinho
O nosso bolinhoO nosso bolinho
O nosso bolinho
 
Pingos nos is (slaides)
Pingos nos is (slaides)Pingos nos is (slaides)
Pingos nos is (slaides)
 
MSI GE60 Apache Pro (GTX 960M) Manual PDF Download / User Guide
MSI GE60 Apache Pro (GTX 960M) Manual PDF Download / User GuideMSI GE60 Apache Pro (GTX 960M) Manual PDF Download / User Guide
MSI GE60 Apache Pro (GTX 960M) Manual PDF Download / User Guide
 
Báo giá dịch vụ email Công ty
Báo giá dịch vụ email Công tyBáo giá dịch vụ email Công ty
Báo giá dịch vụ email Công ty
 
Boletín XLII noviembre 2014
Boletín XLII noviembre 2014Boletín XLII noviembre 2014
Boletín XLII noviembre 2014
 
Unicamp e Sociedade Conscientes
Unicamp e Sociedade ConscientesUnicamp e Sociedade Conscientes
Unicamp e Sociedade Conscientes
 
Estórias vivas de lendas antigas
Estórias vivas de lendas antigasEstórias vivas de lendas antigas
Estórias vivas de lendas antigas
 
Boletín XLIV noviembre 2014
Boletín XLIV noviembre 2014Boletín XLIV noviembre 2014
Boletín XLIV noviembre 2014
 
Boletín XXVII julio 2014
Boletín XXVII julio 2014Boletín XXVII julio 2014
Boletín XXVII julio 2014
 
Milagro
MilagroMilagro
Milagro
 
le salon detmold 2012
le salon detmold 2012le salon detmold 2012
le salon detmold 2012
 
Beretta 950-20
Beretta 950-20Beretta 950-20
Beretta 950-20
 
Boletín XXXI julio 2014
Boletín XXXI julio 2014Boletín XXXI julio 2014
Boletín XXXI julio 2014
 
Artilheiros 20º camp
Artilheiros 20º campArtilheiros 20º camp
Artilheiros 20º camp
 
Paralympics sochi inforgraphic
Paralympics sochi inforgraphicParalympics sochi inforgraphic
Paralympics sochi inforgraphic
 
Zebig license 2016
Zebig license 2016Zebig license 2016
Zebig license 2016
 
Mestre
MestreMestre
Mestre
 
Garage Door Repair Murrieta
Garage Door Repair MurrietaGarage Door Repair Murrieta
Garage Door Repair Murrieta
 

Similar to From front-end to the hardware

Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter boardEmbedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter boardVincent Claes
 
Arduino for Beginners
Arduino for BeginnersArduino for Beginners
Arduino for BeginnersSarwan Singh
 
How do I draw the Labview code for pneumatic cylinder(air pistion). .pdf
How do I draw the Labview code for pneumatic cylinder(air pistion). .pdfHow do I draw the Labview code for pneumatic cylinder(air pistion). .pdf
How do I draw the Labview code for pneumatic cylinder(air pistion). .pdffootstatus
 
04 - I love my OS, he protects me (sometimes, in specific circumstances)
04 - I love my OS, he protects me (sometimes, in specific circumstances)04 - I love my OS, he protects me (sometimes, in specific circumstances)
04 - I love my OS, he protects me (sometimes, in specific circumstances)Alexandre Moneger
 
Arduino programming
Arduino programmingArduino programming
Arduino programmingSiji Sunny
 
Serial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Serial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter boardSerial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Serial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter boardVincent Claes
 
Getting Started with Raspberry Pi - DCC 2013.1
Getting Started with Raspberry Pi - DCC 2013.1Getting Started with Raspberry Pi - DCC 2013.1
Getting Started with Raspberry Pi - DCC 2013.1Tom Paulus
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the ArduinoCharles A B Jr
 
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015Windows Developer
 
maxbox starter72 multilanguage coding
maxbox starter72 multilanguage codingmaxbox starter72 multilanguage coding
maxbox starter72 multilanguage codingMax Kleiner
 
Arduino delphi 2014_7_bonn
Arduino delphi 2014_7_bonnArduino delphi 2014_7_bonn
Arduino delphi 2014_7_bonnMax Kleiner
 
Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013Tom Paulus
 
Track c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eveTrack c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -evechiportal
 
07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W matters07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W mattersAlexandre Moneger
 
EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5PRADEEP
 

Similar to From front-end to the hardware (20)

Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter boardEmbedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Embedding VHDL in LabVIEW FPGA on Xilinx Spartan 3E Starter board
 
Arduino for Beginners
Arduino for BeginnersArduino for Beginners
Arduino for Beginners
 
How do I draw the Labview code for pneumatic cylinder(air pistion). .pdf
How do I draw the Labview code for pneumatic cylinder(air pistion). .pdfHow do I draw the Labview code for pneumatic cylinder(air pistion). .pdf
How do I draw the Labview code for pneumatic cylinder(air pistion). .pdf
 
04 - I love my OS, he protects me (sometimes, in specific circumstances)
04 - I love my OS, he protects me (sometimes, in specific circumstances)04 - I love my OS, he protects me (sometimes, in specific circumstances)
04 - I love my OS, he protects me (sometimes, in specific circumstances)
 
Arduino programming
Arduino programmingArduino programming
Arduino programming
 
Serial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Serial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter boardSerial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter board
Serial Communication in LabVIEW FPGA on Xilinx Spartan 3E Starter board
 
Getting Started with Raspberry Pi - DCC 2013.1
Getting Started with Raspberry Pi - DCC 2013.1Getting Started with Raspberry Pi - DCC 2013.1
Getting Started with Raspberry Pi - DCC 2013.1
 
Johnny-Five
Johnny-FiveJohnny-Five
Johnny-Five
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the Arduino
 
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
 
maxbox starter72 multilanguage coding
maxbox starter72 multilanguage codingmaxbox starter72 multilanguage coding
maxbox starter72 multilanguage coding
 
Arduino delphi 2014_7_bonn
Arduino delphi 2014_7_bonnArduino delphi 2014_7_bonn
Arduino delphi 2014_7_bonn
 
CGI.ppt
CGI.pptCGI.ppt
CGI.ppt
 
Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013
 
Track c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eveTrack c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eve
 
07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W matters07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W matters
 
First fare 2010 java-beta-2011
First fare 2010 java-beta-2011First fare 2010 java-beta-2011
First fare 2010 java-beta-2011
 
EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5
 
&lt;img src="xss.com">
&lt;img src="xss.com">&lt;img src="xss.com">
&lt;img src="xss.com">
 
Fav
FavFav
Fav
 

From front-end to the hardware

  • 1. From front-end to the hardware Henri Cavalcante
  • 2. + From front-end to the hardware
  • 3.
  • 4.
  • 6. How many of you?
  • 8.
  • 9.
  • 11.
  • 12. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Simple JavaScript Example</title> <script type="text/javascript"> <!-- Hide the script from old browsers function containsblank(s) { for(var i = 0; i < s.value.length; i++) { var c = s.value.charAt(i); if ((c == ' ') || (c == 'n') || (c == 't')) { alert('The field must not contain whitespace'); return false; } } return true; } // end hiding --> </script> </head> <body> <h2>Username Form</h2> <form onSubmit="return(containsblanks(this.userName));" method="post" action="test.php"> <input type="text" name="userName" size=10> <input type="submit" value="SUBMIT"> </form> </body> </html>
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. NodeJS pros: ● Fast, very fast ● Asynchronous ● Event-based ● Top 1 language in the world
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Johnny-Five Johnny-Five is the original JavaScript Robotics programming framework. Released by Bocoup in 2012, Johnny-Five is maintained by a community of passionate software developers and hardware engineers. Over 75 developers have made contributions towards building a robust, extensible and composable ecosystem. +
  • 23.
  • 24.
  • 25. Firmata Firmata is a protocol for communicating with microcontrollers from software on a computer (or smartphone/tablet, etc). The protocol can be implemented in firmware on any microcontroller architecture as well as software on any computer software package (see list of client libraries below). Flash your Arduino with Standard Firmata: Connect the Arduino to your PC using the USB Cable Open the Arduino IDE, select: File > Examples > Firmata > StandardFirmata Click the "Upload" button. The text "Done Uploading" will appear once the upload is complete.
  • 26.
  • 27.
  • 28.
  • 29. Example const five = require('johnny-five'); const board = new five.Board(); board.on('ready', () => { (new five.Led(13)).blink(500); }); void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(500); }
  • 30. Single boards Raspberry Pi 3 Analog Read no Digital Read yes Digital Write yes PWM yes Servo yes I2C yes One Wire no Stepper no Serial/UART no DAC no Ping no
  • 31. Single boards Intel Galileo Analog Read yes Digital Read yes Digital Write yes PWM yes Servo yes I2C yes One Wire no Stepper no Serial/UART no DAC no Ping no
  • 32. Single boards Tessel 2 Analog Read yes Digital Read yes Digital Write yes PWM no Servo yes I2C yes One Wire no Stepper no Serial/UART no DAC yes Ping no
  • 33.
  • 36. const five = require('johnny-five'); const board = new five.Board(); const Firebase = require('firebase'); const relays = new Firebase('https://io16natal.firebaseio.com').child('relay'); board.on('ready', () => { const lamps = { '01': new five.Relay(8), '02': new five.Relay(9), '03': new five.Relay(10), '04': new five.Relay(11) } relays.on('value', (snap) => { snap.forEach((lamp) => { lamps[lamp.key()][lamp.val()]() }); }); }); Example
  • 37. http://nodebots.io/ NodeBots are (quite literally) robots of one kind or another that can be controlled via Node. They can have everything from wheels, movable arms and legs, motion detectors, cameras, LED displays, the ability to control cats and so much more. The only limits are your imagination and the components you can find and put together!
  • 38.
  • 39.