SlideShare a Scribd company logo
1 of 190
Download to read offline
HARDWARE HACKING AND THE RASPBERRY PI;
WHAT'S JAVASCRIPT GOT TO DO WITH IT?
ALEX ROCHE
@alexHacked
HARDWARE HACKING; WAT?
HARDWARE HACKING; WAT?
• We

take electronics and bend them to our will
HARDWARE HACKING; WAT?
• We

take electronics and bend them to our will



• Can

use any component, as long as it can be soldered
HARDWARE HACKING; WAT?
• We

take electronics and bend them to our will



• Can

use any component, as long as it can be soldered



•A

variety of levels of difficulty and accessibility
HARDWARE HACKING; WHY?
HARDWARE HACKING; WHY?
• Prototyping

concepts and systems
HARDWARE HACKING; WHY?
• Prototyping

concepts and systems



• Replacing

older tech that has failed
HARDWARE HACKING; WHY?
• Prototyping

concepts and systems



• Replacing

older tech that has failed



• Making

something cool
HARDWARE HACKING; HOW?
HARDWARE HACKING; HOW?
•A

basic knowledge of electronics is definitely helpful
HARDWARE HACKING; HOW?
•A

basic knowledge of electronics is definitely helpful

• Skills

such as soldering and stripping wires
HARDWARE HACKING; HOW?
•A

basic knowledge of electronics is definitely helpful

• Skills

such as soldering and stripping wires

• GPIO

pins; GPIO pins everywhere!
HARDWARE HACKING; HOW?
•A

basic knowledge of electronics is definitely helpful

• Skills

such as soldering and stripping wires

• GPIO
• No

pins; GPIO pins everywhere!

'correct' or 'right' way
HARDWARE HACKING; HOW?
•A

basic knowledge of electronics is definitely helpful

• Skills

such as soldering and stripping wires

• GPIO
• No
• Be

pins; GPIO pins everywhere!

'correct' or 'right' way

safe and have respect for electricity
HARDWARE HACKING; WHEN?
HARDWARE HACKING; WHEN?
• Creating

projects to react solely to electricity
HARDWARE HACKING; WHEN?
• Creating
• Using

projects to react solely to electricity

timing chips, resistors and circuit boards
HARDWARE HACKING; WHEN?
• Creating
• Using

projects to react solely to electricity

timing chips, resistors and circuit boards

• Programmable

micro controllers
HARDWARE HACKING; WHEN?
• Creating
• Using

projects to react solely to electricity

timing chips, resistors and circuit boards

• Programmable

micro-controllers

• Micro-controllers

on an integrated platform
ALL THE OPTIONS!
•A

lot of options for a lot of different skill levels
ALL THE OPTIONS!
•A

lot of options for a lot of different skill levels

• Little

Bits
ALL THE OPTIONS!
•A

lot of options for a lot of different skill levels

• Little

Bits

• Makey

Makey
ALL THE OPTIONS!
•A

lot of options for a lot of different skill levels

• Little

Bits

• Makey

Makey

• Arduino
ALL THE OPTIONS!
•A

lot of options for a lot of different skill levels

• Little

Bits

• Makey

Makey

• Arduino
• Raspberry

Pi
LITTLE BITS
LITTLE BITS
LITTLE BITS
• Individual, pre-formed

components
LITTLE BITS
• Individual, pre-formed

components


• Held

together with magnets
LITTLE BITS
• Individual, pre-formed

components


• Held

together with magnets



• Different

colours to help
design a circuit
LITTLE BITS; A BIT USEFUL?
LITTLE BITS; A BIT USEFUL?
• Extremely

Modular
LITTLE BITS; A BIT USEFUL?
• Extremely

Modular

• Incredibly

Hands On
LITTLE BITS; A BIT USEFUL?
• Extremely

Modular

• Incredibly

Hands On

• Makes

exploring hardware
simple and fun
LITTLE BITS; A BIT USEFUL?
• Extremely

Modular

• Incredibly

Hands On

• Makes

exploring hardware
simple and fun

• Best

for proof of concepts and
toying with new ideas
MAKEYMAKEY
MAKEYMAKEY
• Plug

and Play with your
computer
MAKEYMAKEY
• Plug

and Play with your
computer


• Acts

as a Keyboard
MAKEYMAKEY
• Plug

and Play with your
computer


• Acts

as a Keyboard



• Plug

and clip wires in to the
board to complete a circuit
MAKEYMAKEY;
MAKES THINGS COOL?
MAKEYMAKEY;
MAKES THINGS COOL?
• Binary

Input
MAKEYMAKEY;
MAKES THINGS COOL?
• Binary

Input



• Easy

way to hack together
basic interaction
MAKEYMAKEY;
MAKES THINGS COOL?
• Binary

Input



• Easy

way to hack together
basic interaction


• Key

Events can be used to
detect interaction
ARDUINO
ARDUINO
• Microcontroller

circuitboard

on a
ARDUINO
• Microcontroller

circuitboard
• GPIO

pins

on a
ARDUINO
• Microcontroller

on a

circuitboard
• GPIO

pins

• Programmable

over USB
ARDUINO
• Microcontroller

on a

circuitboard
• GPIO

pins

• Programmable
• Can

over USB

run Javascript and NodeJS
ARDUINO; OPEN SOURCE
MEANS OPEN OPTIONS
ARDUINO; OPEN SOURCE
MEANS OPEN OPTIONS
• Arduino

UNO
ARDUINO; OPEN SOURCE
MEANS OPEN OPTIONS
• Arduino

UNO

• Arduino

Mega
ARDUINO; OPEN SOURCE
MEANS OPEN OPTIONS
• Arduino

UNO

• Arduino

Mega

• Arduino

Lilypad
ARDUINO; OPEN SOURCE
MEANS OPEN OPTIONS
• Arduino

UNO

• Arduino

Mega

• Arduino

Lilypad

• Open

Source; can be
reproduced by anybody with
the right components
ARDUINO; HOW TO CODE
ARDUINO; HOW TO CODE
• IDE

based on translating
simple code to C++
ARDUINO; HOW TO CODE
• IDE

based on translating
simple code to C++ 


• BreakoutJS; Javascript

Browser interactivity

and Web
ARDUINO; HOW TO CODE
• IDE

based on translating
simple code to C++ 


• BreakoutJS; Javascript

and Web

Browser interactivity


• Johnny

Five; Node based
framework
RASPBERRY PI; TASTY!
RASPBERRY PI; TASTY!
•A

computer (and then some)
RASPBERRY PI; TASTY!
•A

computer (and then some)

• GPIO

pins
RASPBERRY PI; TASTY!
•A

computer (and then some)

• GPIO
• Has

pins

all the hardware needed
for a computer onboard
RASPBERRY PI; TASTY!
•A

computer (and then some)

• GPIO

pins

• Has

all the hardware needed
for a computer onboard

• Runs

a boatload of operating
systems
RASPBERRY PI; TASTY!
•A

computer (and then some)

• GPIO

pins

• Has

all the hardware needed
for a computer onboard

• Runs

a boatload of operating
systems

• GPIO

pins are easily
addressable
RASPBERRY PI; CHOICES!
RASPBERRY PI; CHOICES!
• Two

Different Types
RASPBERRY PI; CHOICES!
• Two

Different Types



• Model A
RASPBERRY PI; CHOICES!
• Two

Different Types



• Model A


• Model

B
RASPBERRY PI; MODEL A
RASPBERRY PI; MODEL A
• Single

USB
RASPBERRY PI; MODEL A
• Single

USB

• 256MB

RAM
RASPBERRY PI; MODEL A
• Single

USB

• 256MB
• Audio

RAM

& RCA video output
RASPBERRY PI; MODEL A
• Single

USB

• 256MB

RAM

• Audio

& RCA video output

• HDMI

output
RASPBERRY PI; MODEL A
• Single

USB

• 256MB

RAM

• Audio

& RCA video output

• HDMI

output

• 26

GPIO pins
RASPBERRY PI; MODEL A
• Single

USB

• 256MB

RAM

• Audio

& RCA video output

• HDMI

output

• 26

GPIO pins

• Runs

Minecraft!
RASPBERRY PI; MODEL B
RASPBERRY PI; MODEL B
•2

USB Connectors
RASPBERRY PI; MODEL B
•2

USB Connectors

• 512MB

RAM
RASPBERRY PI; MODEL B
•2

USB Connectors

• 512MB

RAM

• Ethernet

Jack
RASPBERRY PI; MODEL B
•2

USB Connectors

• 512MB

RAM

• Ethernet
• 34

Jack

GPIO pins
RASPBERRY PI; MODEL B
•2

USB Connectors

• 512MB

RAM

• Ethernet
• 34

Jack

GPIO pins

• Additional

8 are mostly
unused; supply power and
ground
RASPBERRY PI; GPIO MAPPING
RASPBERRY PI; GPIO MAPPING
RASPBERRY PI; GPIO MAPPING
RASPBERRY PI; WHY?
RASPBERRY PI; WHY?
• More

Processing Power
RASPBERRY PI; WHY?
• More

Processing Power

• Onboard

Storage
RASPBERRY PI; WHY?
• More

Processing Power

• Onboard

Storage

• Freedom

of Language Choice
RASPBERRY PI; WHY?
• More

Processing Power

• Onboard

Storage

• Freedom

of Language Choice

• Easily

configured Internet
Access
RASPBERRY PI; WHY?
• More

Processing Power

• Onboard

Storage

• Freedom

of Language Choice

• Easily

configured Internet
Access

• Runs

any code you write for it
on the board instead of
tethered to a computer
RASPBERRY PI; WHY NOT?
• Less

battery life than an
Arduino
RASPBERRY PI; WHY NOT?
• Less

battery life than an
Arduino


• Can

be cumbersome to set up
and program
RASPBERRY PI; WHY NOT?
• Less

battery life than an
Arduino


• Can

be cumbersome to set up
and program


• Doesn’t

have as much of a
support for shields
SHIELDS?
SHIELDS?
• Pre

created circuit boards that extend functionality
SHIELDS?
• Pre

created circuit boards that extend functionality



• Can

use multiple shields at once ...
SHIELDS?
• Pre

created circuit boards that extend functionality



• Can

use multiple shields at once ...



• ... though

like using multiple of anything at once, take care.
NODE; WHAT IS IT?
NODE; WHAT IS IT?
•A

familiar flavour of Javascript; people already know it!
NODE; WHAT IS IT?
•A

familiar flavour of Javascript; people already know it!

• Non

Blocking I/O
NODE; WHAT IS IT?
•A

familiar flavour of Javascript; people already know it!

• Non

Blocking I/O

• Event

Driven using callbacks
NODE; WHAT IS IT?
•A

familiar flavour of Javascript; people already know it!

• Non

Blocking I/O

• Event

Driven using callbacks

• Operating

System Agnostic (mostly)
NODE; WHY IS IT COOL?
NODE; WHY IS IT COOL?
• Incorporates

Google’s V8 Engine for speed
NODE; WHY IS IT COOL?
• Incorporates
• Has

Google’s V8 Engine for speed

some really fun functions
NODE; WHY IS IT COOL?
• Incorporates
• Has

Google’s V8 Engine for speed

some really fun functions

• Crypto, OS, FS
NODE; WHY IS IT COOL?
• Incorporates
• Has
•

Google’s V8 Engine for speed

some really fun functions

Crypto, OS, FS

• Has

a massive amount of external libraries to augment it
NODE; WHY IS IT COOL?
• Incorporates
• Has
•

some really fun functions

Crypto, OS, FS

• Has
•A

Google’s V8 Engine for speed

a massive amount of external libraries to augment it

server side language front end developers can write!
NODE; HOW TO INSTALL?
LINUX
NODE; HOW TO INSTALL?
LINUX
> wget http://nodejs.org/dist/v.0.8.11/nodev0.8.11.tar.gz


>
>
>
>
>

tar -zxf node-v0.8.11.tar.gz
cd node-v0.8.11
./configure
make
sudo make install
NODE; HOW TO INSTALL?
MAC & WINDOWS
NODE; HOW TO INSTALL?
MAC & WINDOWS
• Much

more simple and straightforward than Linux
NODE; HOW TO INSTALL?
MAC & WINDOWS
• Much

more simple and straightforward than Linux



• Go

get the installer from nodejs.org/download/
NODE; HOW TO INSTALL?
MAC & WINDOWS
• Much

more simple and straightforward than Linux



• Go

get the installer from nodejs.org/download/



• No, really. Download

it from there and install it. Job done.
NODE; HOW TO INSTALL?
MAC & WINDOWS
• Much

more simple and straightforward than Linux



• Go

get the installer from nodejs.org/download/



• No, really. Download

it from there and install it. Job done.
NODE; HOW TO USE?
NODE; HOW TO USE?
• Write

JavaScript!
NODE; HOW TO USE?
• Write

JavaScript!



• Watch

out for the PHP-esque require(“”); though!
NODE; HOW TO USE?
• Write

JavaScript!



• Watch

out for the PHP-esque require(“”); though!



• Make

use of the inbuilt libraries in NodeJS
NPM;
NOT PROBLEMATIC, MOSTLY
NPM;
NOT PROBLEMATIC, MOSTLY
• Nodes

inbuilt library management tool
NPM;
NOT PROBLEMATIC, MOSTLY
• Nodes

inbuilt library management tool



• Has

its own website listing all of the modules
NPM;
NOT PROBLEMATIC, MOSTLY
• Nodes

inbuilt library management tool



• Has

its own website listing all of the modules



• Makes

it incredibly easy to install modules
NPM; HOW TO USE
NPM; HOW TO USE
• It

all starts with npm
NPM; HOW TO USE
• It

all starts with npm

• Different

Keywords; https://npmjs.org/docs
NPM; HOW TO USE
• It

all starts with npm

• Different
• Most

Keywords; https://npmjs.org/docs

useful are install and update
NPM; HOW TO USE
• It

all starts with npm

• Different

Keywords; https://npmjs.org/docs

• Most

useful are install and update

• npm

install || npm update
NPM; INSTALLING A MODULE
NPM; INSTALLING A MODULE
• Find

the package you want to install on the npm site
NPM; INSTALLING A MODULE
• Find

the package you want to install on the npm site

• Run

npm install gpio to install the package
NPM; INSTALLING A MODULE
• Find

the package you want to install on the npm site

• Run

npm install gpio to install the package

• -g

flag installs globally instead of locally for command line use
NPM; INSTALLING A MODULE
• Find

the package you want to install on the npm site

• Run

npm install gpio to install the package

• -g

flag installs globally instead of locally for command line use

• require(“gpio”);

in your project
NPM; INSTALLING A MODULE
• Find

the package you want to install on the npm site

• Run

npm install gpio to install the package

• -g

flag installs globally instead of locally for command line use

• require(“gpio”);
• npm

in your project

packages need to be installed in each project’s folder you
intend to use them in
BAKING A RASPBERRY PI
BAKING A PI
• We

have a lot of choices for the operating system
BAKING A PI
• We

have a lot of choices for the operating system

• Linux
BAKING A PI
• We

have a lot of choices for the operating system

• Linux
• RISC
BAKING A PI
• We

have a lot of choices for the operating system

• Linux
• RISC
• Android
BAKING A PI
• We

have a lot of choices for the operating system

• Linux
• RISC
• Android
• FirefoxOS
COOKING THE FILLING

•ç
COOKING THE FILLING
• Windows
• Win32DiskImager
COOKING THE FILLING
• Windows
• Win32DiskImager
• Mac
• RPI

sd card builder, PiWriter, Pi Filler
COOKING THE FILLING
• Windows
• Win32DiskImager
• Mac
• RPI

sd card builder, PiWriter, Pi Filler

• Linux
• ImageWriter
COOKING THE FILLING
• Windows
• Win32DiskImager
• Mac
• RPI

sd card builder, PiWriter, Pi Filler

• Linux
• ImageWriter
COOKING THE FILLING
• Windows
• Win32DiskImager
• Mac
• RPI

sd card builder, PiWriter, Pi Filler

• Linux
• ImageWriter
CUTTING IN TO THE PI
CUTTING IN TO THE PI
• First

off, we install Adafruit’s Occidentalis distribution
CUTTING IN TO THE PI
• First

off, we install Adafruit’s Occidentalis distribution



• We

SSH in to the Raspberry Pi
CUTTING IN TO THE PI
• First

off, we install Adafruit’s Occidentalis distribution



• We

SSH in to the Raspberry Pi



• We

connect it to a monitor with keyboard and mouse
CUTTING IN TO THE PI; SSH
CUTTING IN TO THE PI; SSH
• Power

it up!
CUTTING IN TO THE PI; SSH
• Power
• Plug

it up!

an Ethernet cable in to your Pi and your Router
CUTTING IN TO THE PI; SSH
• Power
• Plug
• Run

it up!

an Ethernet cable in to your Pi and your Router

ssh raspberrypi.local on your computer to get
to the Pi
CUTTING IN TO THE PI; SSH
• Power
• Plug

it up!

an Ethernet cable in to your Pi and your Router

• Run

ssh raspberrypi.local on your computer to get
to the Pi

• Alternatively

log in to your router and get the IP of the Pi from
there; ssh pi@<ip_of_pi> . Use the password
“raspberry”
WIRED IS BORING, RIGHT?!
LETS GO WIRELESS!
CUTTING THE PI LOOSE
CUTTING THE PI LOOSE
• Run

sudo nano /etc/
network/interfaces
CUTTING THE PI LOOSE
• Run

sudo nano /etc/
network/interfaces

• Delete

file

the contents of the
CUTTING THE PI LOOSE
> auto lo


> iface lo inet loopback
> iface eth0 inet dhcp


> allow-hotplug wlan0
> auto wlan0



> iface wlan0 inet dhcp
>    wpa-ssid "ssid"
>    wpa-psk "password"

• Run

sudo nano /etc/
network/interfaces

• Delete

the contents of the

file 
• <-

Replace it with this
CUTTING THE PI LOOSE
> auto lo


> iface lo inet loopback
> iface eth0 inet dhcp


> allow-hotplug wlan0
> auto wlan0

• Run

sudo nano /etc/
network/interfaces

• Delete

the contents of the

file 




• <-

> iface wlan0 inet dhcp
>    wpa-ssid "ssid"
>    wpa-psk "password"

• Replace

Replace it with this

SSID and
PASSWORD
BLOWING RASPBERRIES
BLOWING RASPBERRIES

GPIO
API; https://npmjs.org/package/
gpio
Manual Setting and Getting
BLOWING RASPBERRIES
GPIO

Johnny-Five

API; https://npmjs.org/package/
gpio

API; https://github.com/
rwaldron/johnny-five/wiki

Manual Setting and Getting
for Raspberry Pi

Function Based System for
Arduino
BLOWING RASPBERRIES;
SETTING UP A CONTEXT
BLOWING RASPBERRIES;
SETTING UP A CONTEXT
GPIO

> var gpio = require("gpio");
>
>/* Calling export with a pin
>number will export that header
>and return a gpio header
>instance*/
>
> var gpio4 = gpio.export(4, {
>      direction: 'out',
>   
interval: 200,
>     ready: function() {
>   
}
>});
BLOWING RASPBERRIES;
SETTING UP A CONTEXT
GPIO

Johnny-Five


> var gpio = require("gpio");
>
>/* Calling export with a pin
>number will export that header
>and return a gpio header
>instance*/
>
> var gpio4 = gpio.export(4, {
>      direction: 'out',
>   
interval: 200,
>     ready: function() {
>   
}
>});


> var five = require("johnnyfive"), board, led;
>
> board = new five.Board();
>
>board.on("ready", function() {
});
BLOWING RASPBERRIES;
MAKING A LIGHT BLINK
BLOWING RASPBERRIES;
MAKING A LIGHT BLINK
GPIO

>Var strobeTimer =
setInterval(function() {
> gpio4.set();         
>
setTimeout(
>
function(){ 
>
gpio4.reset(); 
>
}, 200);
>
}, 400);
>/*Can also pass a number in to >the
>set function.*/
BLOWING RASPBERRIES;
MAKING A LIGHT BLINK
GPIO

Johnny-Five




>  /* Create a standard `led`
>hardware instance*/
>  Var led = new five.Led(13);
>
>  /* "strobe" the led in 100ms
>on-off phases*/
>  led.strobe( 100 );

>Var strobeTimer =
setInterval(function() {
> gpio4.set();         
>
setTimeout(
>
function(){ 
>
gpio4.reset(); 
>
}, 200);
>
}, 400);
>/*Can also pass a number in to >the
>set function.*/
BLOWING RASPBERRIES;
GETTING VALUES
BLOWING RASPBERRIES;
GETTING VALUES
GPIO

>var gpio = require("gpio");
>var gpio4 = gpio.export(4, {
>   direction: "in",
>   ready: function() {
>
Console.log(gpio4.value
>   }
>});
BLOWING RASPBERRIES;
GETTING VALUES
GPIO

Johnny-Five


>var gpio = require("gpio");
>var gpio4 = gpio.export(4, {
>   direction: "in",
>   ready: function() {
>
Console.log(gpio4.value
>   }
>});


>new five.Pin(13).query(
>function(state) {
>  console.log(state);
>});
BLOWING RASPBERRIES;
SETTING VALUES
BLOWING RASPBERRIES;
SETTING VALUES
GPIO

> gpio4.set(function()
>{ console.log(gpio4.value);
>});
BLOWING RASPBERRIES;
SETTING VALUES
GPIO

> gpio4.set(function()
>{ console.log(gpio4.value);
>});

Johnny-Five

Nothing explicit; is accomplished by passing
values straight in to the functions
FINAL HINTS AND TIPS
• Once

client

connected so you can SSH in to it, use a file transfer
FINAL HINTS AND TIPS
• Once

connected so you can SSH in to it, use a file transfer

client
• Helpful

the PI

if the GPIO pins are labeled using the paper overlay for
FINAL HINTS AND TIPS
• Once

connected so you can SSH in to it, use a file transfer

client
• Helpful

if the GPIO pins are labeled using the paper overlay
for the PI

• Get

a ribbon cord for the Pi; will make your life easier.
HE’S STILL NOT FINISHED?
• Not

everything has to be written in NodeJS
HE’S STILL NOT FINISHED?
• Not

everything has to be written in NodeJS

• Is, however, an

developers

accessible starting point for front end
HE’S STILL NOT FINISHED?
• Not

everything has to be written in NodeJS

• Is, however, an

accessible starting point for front end

developers
• Projects

don’t need to be in the same language
HE’S STILL NOT FINISHED?
• Not

everything has to be written in NodeJS

• Is, however, an

accessible starting point for front end

developers
• Projects

don’t need to be in the same language

• Important

that what you’ve written works
MAYBE HE NEARLY IS?
• Don’t

be afraid; there’s always help at hand!
MAYBE HE NEARLY IS?
• Don’t

be afraid; there’s always help at hand!

• Don’t

expect to not learn anything during the project!
MAYBE HE NEARLY IS?
• Don’t

be afraid; there’s always help at hand!

• Don’t

expect to not learn anything during the project!

• Have

fun with your project!
MAYBE HE NEARLY IS?
• Don’t

be afraid; there’s always help at hand!

• Don’t

expect to not learn anything during the project!

• Have

fun with your project!

• Be

Careful!
THANK YOU!
RESOURCES
• Node; nodejs.org/downloads/
• NPM; npmjs.org
• NodeSchool; nodeschool.io
• Adafruit

Industries; http://learn.adafruit.com/category/learnraspberry-pi

• RS-Components; uk.rs-online.com
• Farnell; uk.farnell.com

More Related Content

Viewers also liked

Video games, literacy, and identity
Video games, literacy, and identityVideo games, literacy, and identity
Video games, literacy, and identityNicky Rosi
 
Updated version of media presentation
Updated version of media presentationUpdated version of media presentation
Updated version of media presentationshipy02
 
Pop star homework4
Pop star homework4Pop star homework4
Pop star homework4shipy02
 
tastyJob_investment_proposal_rus_v4
tastyJob_investment_proposal_rus_v4tastyJob_investment_proposal_rus_v4
tastyJob_investment_proposal_rus_v4Maxim Grebenuk
 
Updated version of media presentation 2
Updated version of media presentation 2Updated version of media presentation 2
Updated version of media presentation 2shipy02
 
E&C data center Ukraine databank demoversion www.encint.com
E&C data center Ukraine databank demoversion www.encint.comE&C data center Ukraine databank demoversion www.encint.com
E&C data center Ukraine databank demoversion www.encint.comExpert and Consulting (EnC)
 
Pop star homework3
Pop star homework3Pop star homework3
Pop star homework3shipy02
 
Intro biomimicry talk- edu
Intro biomimicry talk- eduIntro biomimicry talk- edu
Intro biomimicry talk- eduSheila Wilson
 
My Nisqually Watershed Pledge
My Nisqually Watershed Pledge My Nisqually Watershed Pledge
My Nisqually Watershed Pledge Sheila Wilson
 
Sortida a Can cortes Escola Palau 2n primària
Sortida a Can cortes Escola Palau 2n primàriaSortida a Can cortes Escola Palau 2n primària
Sortida a Can cortes Escola Palau 2n primàriaciclesuperiorescolapalau
 
Nisqually National Wildlife Refuge - Habitat types
Nisqually National Wildlife Refuge - Habitat typesNisqually National Wildlife Refuge - Habitat types
Nisqually National Wildlife Refuge - Habitat typesSheila Wilson
 
Tips On Dating A Girl
Tips On Dating A GirlTips On Dating A Girl
Tips On Dating A Girlwilbourntext
 
Pre-trip Planting Presentation- Anderson Version
Pre-trip Planting Presentation- Anderson VersionPre-trip Planting Presentation- Anderson Version
Pre-trip Planting Presentation- Anderson VersionSheila Wilson
 
FRP - Functional Reactive Programming
FRP - Functional Reactive ProgrammingFRP - Functional Reactive Programming
FRP - Functional Reactive ProgrammingRyo Kamimura
 
HENSCO_LUWAK_COFFEE
HENSCO_LUWAK_COFFEEHENSCO_LUWAK_COFFEE
HENSCO_LUWAK_COFFEEAmelia Hadin
 
NREP Ohop Tree Planting -Fall 2013
NREP Ohop Tree Planting -Fall 2013NREP Ohop Tree Planting -Fall 2013
NREP Ohop Tree Planting -Fall 2013Sheila Wilson
 

Viewers also liked (20)

Video games, literacy, and identity
Video games, literacy, and identityVideo games, literacy, and identity
Video games, literacy, and identity
 
Updated version of media presentation
Updated version of media presentationUpdated version of media presentation
Updated version of media presentation
 
Pop star homework4
Pop star homework4Pop star homework4
Pop star homework4
 
tastyJob_investment_proposal_rus_v4
tastyJob_investment_proposal_rus_v4tastyJob_investment_proposal_rus_v4
tastyJob_investment_proposal_rus_v4
 
Updated version of media presentation 2
Updated version of media presentation 2Updated version of media presentation 2
Updated version of media presentation 2
 
E&C data center Ukraine databank demoversion www.encint.com
E&C data center Ukraine databank demoversion www.encint.comE&C data center Ukraine databank demoversion www.encint.com
E&C data center Ukraine databank demoversion www.encint.com
 
Pop star homework3
Pop star homework3Pop star homework3
Pop star homework3
 
ELS SECRETS DE L'AIGUA
ELS SECRETS DE L'AIGUAELS SECRETS DE L'AIGUA
ELS SECRETS DE L'AIGUA
 
Museu d'Història de Catalunya
Museu d'Història de CatalunyaMuseu d'Història de Catalunya
Museu d'Història de Catalunya
 
Intro biomimicry talk- edu
Intro biomimicry talk- eduIntro biomimicry talk- edu
Intro biomimicry talk- edu
 
My Nisqually Watershed Pledge
My Nisqually Watershed Pledge My Nisqually Watershed Pledge
My Nisqually Watershed Pledge
 
Sortida a Can cortes Escola Palau 2n primària
Sortida a Can cortes Escola Palau 2n primàriaSortida a Can cortes Escola Palau 2n primària
Sortida a Can cortes Escola Palau 2n primària
 
Padrins i fillols de 5èA i 1rA
Padrins i fillols de 5èA i 1rAPadrins i fillols de 5èA i 1rA
Padrins i fillols de 5èA i 1rA
 
Mussel Magic
Mussel MagicMussel Magic
Mussel Magic
 
Nisqually National Wildlife Refuge - Habitat types
Nisqually National Wildlife Refuge - Habitat typesNisqually National Wildlife Refuge - Habitat types
Nisqually National Wildlife Refuge - Habitat types
 
Tips On Dating A Girl
Tips On Dating A GirlTips On Dating A Girl
Tips On Dating A Girl
 
Pre-trip Planting Presentation- Anderson Version
Pre-trip Planting Presentation- Anderson VersionPre-trip Planting Presentation- Anderson Version
Pre-trip Planting Presentation- Anderson Version
 
FRP - Functional Reactive Programming
FRP - Functional Reactive ProgrammingFRP - Functional Reactive Programming
FRP - Functional Reactive Programming
 
HENSCO_LUWAK_COFFEE
HENSCO_LUWAK_COFFEEHENSCO_LUWAK_COFFEE
HENSCO_LUWAK_COFFEE
 
NREP Ohop Tree Planting -Fall 2013
NREP Ohop Tree Planting -Fall 2013NREP Ohop Tree Planting -Fall 2013
NREP Ohop Tree Planting -Fall 2013
 

Similar to Hardware hacking on the pi; what's js got to do with it

Rust is for Robots!
Rust is for Robots!Rust is for Robots!
Rust is for Robots!Andy Grove
 
Eating Fruit - Combining Robots & Apps
Eating Fruit - Combining Robots & AppsEating Fruit - Combining Robots & Apps
Eating Fruit - Combining Robots & AppsRobotGrrl
 
6 reasons Jubilee could be a Rubyist's new best friend
6 reasons Jubilee could be a Rubyist's new best friend6 reasons Jubilee could be a Rubyist's new best friend
6 reasons Jubilee could be a Rubyist's new best friendForrest Chang
 
One Shellcode to Rule Them All: Cross-Platform Exploitation
One Shellcode to Rule Them All: Cross-Platform ExploitationOne Shellcode to Rule Them All: Cross-Platform Exploitation
One Shellcode to Rule Them All: Cross-Platform ExploitationQuinn Wilton
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobilePhilip Brechler
 
Achieve Blazing-Fast Ingest Speeds with Apache Arrow
Achieve Blazing-Fast Ingest Speeds with Apache ArrowAchieve Blazing-Fast Ingest Speeds with Apache Arrow
Achieve Blazing-Fast Ingest Speeds with Apache ArrowNeo4j
 
Raspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker MovementRaspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker Movementsrmonk
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsUwe Korn
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduinoPreet Sangha
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
Make your own device
Make your own deviceMake your own device
Make your own deviceKi-hyeok Park
 
R0boCamp2016 Гліб Вінніков Home automation by ESP8266
R0boCamp2016  Гліб Вінніков  Home automation by ESP8266R0boCamp2016  Гліб Вінніков  Home automation by ESP8266
R0boCamp2016 Гліб Вінніков Home automation by ESP8266Lviv Startup Club
 
IoT is Something to Figure Out
IoT is Something to Figure OutIoT is Something to Figure Out
IoT is Something to Figure OutPeter Hoddie
 
'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps BelfastJohn Fitzpatrick
 
Open stack jobs avoiding the axe
Open stack jobs   avoiding the axeOpen stack jobs   avoiding the axe
Open stack jobs avoiding the axeJim Leitch
 
eMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseScott Taylor
 

Similar to Hardware hacking on the pi; what's js got to do with it (20)

Rust is for Robots!
Rust is for Robots!Rust is for Robots!
Rust is for Robots!
 
Eating Fruit - Combining Robots & Apps
Eating Fruit - Combining Robots & AppsEating Fruit - Combining Robots & Apps
Eating Fruit - Combining Robots & Apps
 
2013-06-26: Meet The Blinky Tape
2013-06-26: Meet The Blinky Tape2013-06-26: Meet The Blinky Tape
2013-06-26: Meet The Blinky Tape
 
6 reasons Jubilee could be a Rubyist's new best friend
6 reasons Jubilee could be a Rubyist's new best friend6 reasons Jubilee could be a Rubyist's new best friend
6 reasons Jubilee could be a Rubyist's new best friend
 
One Shellcode to Rule Them All: Cross-Platform Exploitation
One Shellcode to Rule Them All: Cross-Platform ExploitationOne Shellcode to Rule Them All: Cross-Platform Exploitation
One Shellcode to Rule Them All: Cross-Platform Exploitation
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobile
 
Achieve Blazing-Fast Ingest Speeds with Apache Arrow
Achieve Blazing-Fast Ingest Speeds with Apache ArrowAchieve Blazing-Fast Ingest Speeds with Apache Arrow
Achieve Blazing-Fast Ingest Speeds with Apache Arrow
 
Raspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker MovementRaspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker Movement
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
nodebots presentation @seekjobs
nodebots presentation @seekjobsnodebots presentation @seekjobs
nodebots presentation @seekjobs
 
Make your own device
Make your own deviceMake your own device
Make your own device
 
Getting started with arduino uno
Getting started with arduino unoGetting started with arduino uno
Getting started with arduino uno
 
R0boCamp2016 Гліб Вінніков Home automation by ESP8266
R0boCamp2016  Гліб Вінніков  Home automation by ESP8266R0boCamp2016  Гліб Вінніков  Home automation by ESP8266
R0boCamp2016 Гліб Вінніков Home automation by ESP8266
 
Smart Switch
Smart SwitchSmart Switch
Smart Switch
 
IoT is Something to Figure Out
IoT is Something to Figure OutIoT is Something to Figure Out
IoT is Something to Figure Out
 
'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast
 
Open stack jobs avoiding the axe
Open stack jobs   avoiding the axeOpen stack jobs   avoiding the axe
Open stack jobs avoiding the axe
 
eMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the Enterprise
 

Recently uploaded

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 

Recently uploaded (20)

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 

Hardware hacking on the pi; what's js got to do with it