JavaScript is now running everywhere, but one of the most fascinating areas is in the crossroads of full stack JavaScript and prototyping boards. Join frog hacker, Jesse Cravens, and his 6 year old son Carter Clearwater, in a talk about how the open hardware and software revolutions are accelerating the everyday hacker's ability to innovate.
JavaScript's accessibility, friendly syntax, and asynchronous runtime, makes it the ideal programming language for makers of all levels, enabling a spectrum of entry points: those with experience in other languages can explore the more advance topics without being riddled with 'time-consuming' boilerplate, compilation, and multi-threading, while newbies and young learners can get started with a successful build in a matter of hours.
Discover newer JavaScript APIs. Explore a suite of prototyping boards, such as Arduino, Raspberry Pi, Beaglebone, and the Freescale Freedom, that are inspiring JavaScript developers to step out of the web browser and into the world of physical computing, robotics, and hardware. Leave with not only some new ideas for yourself but also your children.
8. 9 28 2013200ok 2013
200ok 2013
Making things always combines form
with function, the art of making should be
appreciated and celebrated
8
Saturday, September 28, 13
10. 9 28 2013200ok 2013
200ok 2013
12 - open hardware/software demos
3- prototyping boards
1 - drone
1 - dissected chopper
1 - virtual world
1 - 6 year old son as my co-presenter
100’s - packets over the network
What could possibly go wrong?
JS Makers
10
Saturday, September 28, 13
11. 9 28 2013200ok 2013
200ok 2013
@nonken
@bassistance
@voodootikigod
@rwaldron
@walter
@maxogden
...and many more
Path Pavers
11
Saturday, September 28, 13
12. 9 28 2013200ok 2013
JavaScript Makers
Arduino Uno
12
Microcontroller board based on the ATmega328
Flash Memory 32 KB (ATmega328)
SRAM 2 KB (ATmega328)
Clock Speed 16 MHz
Operating Voltage 5V
14 digital input/output pins
6 analog inputs
USB connection
Saturday, September 28, 13
13. 9 28 2013200ok 2013
JavaScript Makers
BeagleBone by TI
13
Processor
720MHz super-scalar ARM Cortex-A8 (armv7a)
3D graphics accelerator
ARM Cortex-M3 for power management
Connectivity
USB client
USB host
Ethernet
2x 46 pin headers
2x I2C, 5x UART, I2S, SPI,
CAN, 66x 3.3V GPIO, 7x ADC
Software
4GB microSD card with Angstrom Distribution
Cloud9 IDE on Node.JS with Bonescript library
Saturday, September 28, 13
14. 9 28 2013200ok 2013
JavaScript Makers
Raspberry Pi
14
Processor
700MHz ARM1176 JZF-S (armv6k) - overclock at 800MHz
Broadcam VideoCore IV
Connectivity
USB client
USB host
Ethernet
17 GPIOs pins
Software
Debian as default
WebIDE with Python Library
Saturday, September 28, 13
17. 9 28 2013200ok 2013
JavaScript Makers
Arduino Interfacing with Beaglebone
17
Node.js
HTTP / WEB SOCKET SERVER
Serial
node-serialport firmata
HTTP
johnny-five
firmata.js
Node.js
HTTP / WEB SOCKET SERVER
Saturday, September 28, 13
19. 9 28 2013200ok 2013
JavaScript Makers
trailr
19
Node.js
HTTP / WEB SOCKET SERVER
Node.js
HTTP / WEB SOCKET SERVER
Node.js
HTTP / WEB SOCKET SERVER
Saturday, September 28, 13
20. 9 28 2013200ok 2013
200ok 2013
lookin’ good:
extend with modules
tessel
20
var
tessel
=
require('tessel');
var
servos
=
require('servo-‐pca9685')
.connect(tessel.port('A'));
var
degrees
=
0;
setInterval(function
()
{
servos.moveServo(1,
degrees);
degrees
=
degrees
==
0
?
180
:
0;
},
500);
var
rfid
=
require('rfid-‐pn532')
.connect(tessel.port('b'),
function
()
{
rfid.on('read',
function
(err,
data)
{
//
Read
data
whenever
a
card
is
read.
console.log('Read
a
card:',
data);
});
});
Saturday, September 28, 13
21. 9 28 2013200ok 2013
200ok 2013
interactive JS interpreter for Micro-controllers
plug/play - no software to install
can be installed on other boards
espruino
21
Saturday, September 28, 13
22. 9 28 2013200ok 2013
200ok 2013
A most effective step in refining/
developing a thing is collaborating with
others on it.
22
Saturday, September 28, 13
23. 9 28 2013200ok 2013
200ok 2013
trailr-remote push sketches over WebSocket
trailr-mesh R24 mesh network and node.js based server
trailr-admin app running on a central hub (Beaglebone)
‘Floor Plan View’ with HTML5 Canvas
trailr-solar solar charge voltage divider
trailr
23
Saturday, September 28, 13
24. 9 28 2013200ok 2013
HTML5 and the Internet of Things
24
Solar Charge
ACS715 Hall Effect sensor
Grape Solar 100-Watt Monocrystalline
Off-Grid PV Solar Panel
void loop() {
// read the input on analog pin 0:
int sensor0Value = analogRead(A0);
float pinVoltage = sensor0Value * 0.00488;
float battVoltage = pinVoltage * ((10+20)/10);
// Vout = (R2/(R1+R2))
//float solarPower = solarPanelVoltage * solarPanelCurrent;
// P = V*I , power = voltage * current , measured in W i.e. 79% of 100W MAX capacity
Serial.print(battVoltage);
Serial.println(" V - battery");
}
Saturday, September 28, 13
25. 9 28 2013200ok 2013
HTML5 and the Internet of Things
25
Solar Charge
Grape Solar 100-Watt Monocrystalline
Off-Grid PV Solar Panel
12V 10Amp Charge Controlller
Saturday, September 28, 13
26. 9 28 2013200ok 2013
HTML5 and the Internet of Things
26
Solar Charge
Voltage Divider
Saturday, September 28, 13
27. 9 28 2013200ok 2013
200ok 2013
onboard, live HD video streaming
auto stabilizers
wifi enabled
nodecopter
27
Saturday, September 28, 13
44. 9 28 2013200ok 2013
200ok 2013
More than any other programming language JavaScript
is helping drive the Maker movement.
As open hardware lowers the barrier of entry to
electronics...
As 3D printing lowers the barrier of entry to
manufacturing...
JavaScript lowers the barrier of entry to programming.
JavaScript Makers
44
Saturday, September 28, 13