Slide 1

Slide 1 text

BREAKFAST SATURDAY MORNING SERIAL by @SwiftAlphaOne

Slide 2

Slide 2 text

Note: I’m not Ryan Gosling @SwiftAlphaOne

Slide 3

Slide 3 text

ARDUINO! Let’s talk about

Slide 4

Slide 4 text

Why are developers cuckoo for arduino?

Slide 5

Slide 5 text

SIMPLE API

Slide 6

Slide 6 text

Giraffe Add Tiger Head Tigeraffe Arduino is Open Source

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

EVERYWHERE Now Available

Slide 9

Slide 9 text

LOTS OF EXAMPLES

Slide 10

Slide 10 text

GR-R-REAT! Arduino is

Slide 11

Slide 11 text

1 2 3 4 USB Serial Port Ground & Power Digital Pins Analog Pins ARDUINO 101

Slide 12

Slide 12 text

HELLO WORLD “ ”

Slide 13

Slide 13 text

Download the IDE http://arduino.cc/en/main/software

Slide 14

Slide 14 text

Wire up a LED

Slide 15

Slide 15 text

Blink 1: Arduino int led = 13; void setup() { pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

Slide 16

Slide 16 text

Prototyping in C, Hey kids! is totally fun and easy. “ ” - The Trix Rabbit

Slide 17

Slide 17 text

Friends don’t let Friends PROGRAM IN C.

Slide 18

Slide 18 text

THE INTERNETS? How do I talk to “ ”

Slide 19

Slide 19 text

#include #include EthernetClient client; String data = '{"foo":"bar"}'; void setup() { Ethernet.begin({0x90,0xA2,0xDA,0x00,0x55,0x8D}); } void loop() { if (client.connect("www.someapi.com",80)) { client.println("POST /api/v1/endpoints HTTP/1.1"); client.println("Host: www.someapi.com"); client.println("Content-Type: application/json"); client.print("Content-Length: "); client.println(data.length()); client.println(); client.print(data); client.println(); } }

Slide 20

Slide 20 text

#include #include EthernetClient client; String data = '{"foo":"bar"}'; void setup() { Ethernet.begin({0x90,0xA2,0xDA,0x00,0x55,0x8D}); } void loop() { if (client.connect("www.someapi.com",80)) { client.println("POST /api/v1/endpoints HTTP/1.1"); client.println("Host: www.someapi.com"); client.println("Content-Type: application/json"); client.print("Content-Length: "); client.println(data.length()); client.println(); client.print(data); client.println(); } } LOL

Slide 21

Slide 21 text

HORSEPOWER Limited .

Slide 22

Slide 22 text

A BETTER WAY! There must be

Slide 23

Slide 23 text

Feature Wishlist Language Agnostic Cross Platform Talks to the Internets Complex Processing

Slide 24

Slide 24 text

FIRMATA http://firmata.org Follow your nose!

Slide 25

Slide 25 text

from pyfirmata import Arduino from time import sleep board = Arduino('/dev/cu.usbmodem1411') ledPin = board.board.digital[13] while 1: ledPin.write(1) sleep(1) ledPin.write(0) sleep(1) Blink 2: pyFirmata

Slide 26

Slide 26 text

Johnny-Five ? Javascript Ruby Python

Slide 27

Slide 27 text

Cookies for breakfast!? Python ^

Slide 28

Slide 28 text

BREAKFASTSERIAL http://github.com/theycallmeswift/BreakfastSerial

Slide 29

Slide 29 text

$ pip install BreakfastSerial

Slide 30

Slide 30 text

from BreakfastSerial import Arduino, Led board = Arduino() led = Led(board, 13) led.blink(1000) Blink 3: BreakfastSerial

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Feature Wishlist Language Agnostic Cross Platform Talks to the Internets Complex Processing

Slide 33

Slide 33 text

 Language Agnostic  Cross Platform  Talks to the Internets  Complex Processing Feature Wishlist

Slide 34

Slide 34 text

Buttons, LEDs, & Sensors. “ ” Servos & buzzers too. Lots of new components, added by devs like you!

Slide 35

Slide 35 text

SRSLY THO, I ACCEPT PULLS http://github.com/theycallmeswift/BreakfastSerial

Slide 36

Slide 36 text

M OAR!

Slide 37

Slide 37 text

ARDUINO.IO No, really. It’s coming. Go sign up. http://arduino.io

Slide 38

Slide 38 text

THANK YOU @SwiftAlphaOne theycallmeswift.com