Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs ›...
Transcript of Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs ›...
![Page 1: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/1.jpg)
Arduino Platform Part IJustin McleanClass Software
Email: [email protected]: @justinmcleanBlog: http://blog.classsoftware.com
Wednesday, 1 June 2011
![Page 2: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/2.jpg)
Who am I?• Director of Class Software for almost 15 years
• Developing and creating web applications for 15 years
• Programming for 25 years
• Adobe certified developer and trainer in Flex and ColdFusion
• Adobe Community Champion
• Based in Sydney Australia
Wednesday, 1 June 2011
![Page 3: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/3.jpg)
ArduinoHardware and software overview
Wednesday, 1 June 2011
![Page 4: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/4.jpg)
Arduino• Open source hardware and software platform
• Free software
• Easy to program
• Low cost hardware
• Several physical form factors
Wednesday, 1 June 2011
![Page 5: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/5.jpg)
Hardware• ATmega micro-controller from Atmel
• Arduino Duemilanove and Uno
• Arduino Pro and Pro mini
• Lillypad (wearable)
• Funnel IO
• Mega
• Many others
Wednesday, 1 June 2011
![Page 6: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/6.jpg)
Arduino Board• Connects via USB
• Power from USB or plug
• Digital inputs/outputs
• Analogue inputs
• PWM outputs - pulse width modulation
• Reset button
Wednesday, 1 June 2011
![Page 7: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/7.jpg)
Arduino Boards
Wednesday, 1 June 2011
![Page 8: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/8.jpg)
Arduino Boards
Wednesday, 1 June 2011
![Page 9: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/9.jpg)
Arduino Boards
Wednesday, 1 June 2011
![Page 10: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/10.jpg)
Arduino Boards
Wednesday, 1 June 2011
![Page 11: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/11.jpg)
ATmega328• High performance low power RISC
• 16 Mzh up to 16 mips
• 32K Flash (2K used for bootloader), 1K EEPROM, 2K SRAM
• SPI and 2 wire serial interfaces
• External interrupts, timers, pulse width modulation
• Harvard architecture (modified)
Wednesday, 1 June 2011
![Page 12: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/12.jpg)
Shields• Plug on top of Arduino
• Many available
• Can make your own
• Can be stacked
Wednesday, 1 June 2011
![Page 13: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/13.jpg)
Arduino Shields
Wednesday, 1 June 2011
![Page 14: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/14.jpg)
Arduino Shields
Wednesday, 1 June 2011
![Page 15: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/15.jpg)
Arduino Shields
Wednesday, 1 June 2011
![Page 16: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/16.jpg)
Arduino Shields
Wednesday, 1 June 2011
![Page 17: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/17.jpg)
IDE• IDE open source and cross platform
• Projects are called sketches
• Many open source sketches and libraries available
Wednesday, 1 June 2011
![Page 18: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/18.jpg)
Arduino IDE
Wednesday, 1 June 2011
![Page 19: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/19.jpg)
Led Shield Demo
Wednesday, 1 June 2011
![Page 20: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/20.jpg)
Led Shield Demo
Wednesday, 1 June 2011
![Page 21: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/21.jpg)
Programming• C/C++ language based on wiring
• GCC under the hood
• Write code and compile in IDE
• Upload compiled code via USB
• Can monitor serial port
• Uploaded program is in non volatile memory
Wednesday, 1 June 2011
![Page 22: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/22.jpg)
Prototyping• Breadboards
• Serial port
Wednesday, 1 June 2011
![Page 23: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/23.jpg)
Breadboard
Wednesday, 1 June 2011
![Page 24: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/24.jpg)
Digital OutputsTurning on a LED
Wednesday, 1 June 2011
![Page 25: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/25.jpg)
Digital Inputs/Outputs• Digital pins on Arduino are dual purpose
• Digital logic and voltage on = 5V off = 0V
• Can be set to be input or output via pinMode
Wednesday, 1 June 2011
![Page 26: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/26.jpg)
Variables• Data types include boolean, char, byte, int,
long , float, double, string and array.
• int 16 bits, long 32 bits, float 32 bits
• Strings are nul terminated ‘\0’
• Declare by <datatype> <variable name>; eg int i;
Wednesday, 1 June 2011
![Page 27: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/27.jpg)
Setup Function• Used for initialisation
• Run when program loaded or board reset
• Best place to place calls to pinMode
Wednesday, 1 June 2011
![Page 28: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/28.jpg)
LEDs• Light emitting diodes
• Current will only flow in one direction
• Emits light with current applied
• Don’t connect directly to power source use in series with a resistor
Wednesday, 1 June 2011
![Page 29: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/29.jpg)
Resistors• Resistors limit current flowing through them
• Value and tolerance indicated by colour bands
• Resistor values for LEDs
• For RGB or LED digits you need multiple resistors.
Wednesday, 1 June 2011
![Page 30: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/30.jpg)
Loop Function• Place main code here
• Set digital output via digitalWrite
• Output 13 is connected to led on board
Wednesday, 1 June 2011
![Page 31: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/31.jpg)
Debugging via Serial Port• Use Serial.begin to set speed
• Use Serial.print or Serial.println to output
• Use serial monitor in IDE to view
Wednesday, 1 June 2011
![Page 32: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/32.jpg)
Test Program• Set output mode in setup function
• Turn on pin 13 LED in loop function
• Verify
• Upload
Wednesday, 1 June 2011
![Page 33: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/33.jpg)
Breadboards• Tracks under board
• Separated into 2 or 4 sections with optional power/ground sections
• Standard spacing (imperial) so most components can plug straight in
Wednesday, 1 June 2011
![Page 34: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/34.jpg)
LED Circuit• Add LED and resistor to breadboard
• Connect to Arduino
• Change pin no to 3
Wednesday, 1 June 2011
![Page 35: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/35.jpg)
LED Circuit
Wednesday, 1 June 2011
![Page 36: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/36.jpg)
LED Circuit
Wednesday, 1 June 2011
![Page 37: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/37.jpg)
Blink• Make led blink by calling delay
Wednesday, 1 June 2011
![Page 38: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/38.jpg)
Analogue InputsConnecting sensors
Wednesday, 1 June 2011
![Page 39: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/39.jpg)
Reading Inputs• Can read values via analogRead
• Result is in range 0 to 1023 (10 bits)
• 0V = 0 and 5V =1023
Wednesday, 1 June 2011
![Page 40: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/40.jpg)
Analogue Input• Read potentiometer value
• Set led flash rate based on value
Wednesday, 1 June 2011
![Page 41: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/41.jpg)
LDR• Light dependant resistor (high resistance)
• Set flash rate based on value of LDR
Wednesday, 1 June 2011
![Page 42: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/42.jpg)
LDR Circuit
Wednesday, 1 June 2011
![Page 43: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/43.jpg)
LDR Circuit
Wednesday, 1 June 2011
![Page 44: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/44.jpg)
Web ServersTurning an Arduino into a web server
Wednesday, 1 June 2011
![Page 45: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/45.jpg)
Web Servers• Simpler than you think
• A web server:
• Listens for connections
• Parse requests
• Send back status messages/resources requested
Wednesday, 1 June 2011
![Page 46: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/46.jpg)
Ethernet Shields• Many shields available
• Two main types DHCP/non DHCP
• Some config required in both cases
• Non DHCP you set IP and MAC address in code
• May have support for SD cards
Wednesday, 1 June 2011
![Page 47: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/47.jpg)
Power Over Ethernet• Power and data
• Power injection via
• Split cable
• Hub or injector
• Different standards/voltages
• May need power regulation
Wednesday, 1 June 2011
![Page 48: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/48.jpg)
Ethernet Library• Standard ethernet library
• Can code as client or server or both
• Create server like so:Server server(80);
• Bare bones server about 20 lines of code and 5K compiled
Wednesday, 1 June 2011
![Page 49: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/49.jpg)
IP and MAC address• Set IP address and MAC in your code
• Need to be careful with duplicates
• Set up like so:Server.begin(ip, mac);
Wednesday, 1 June 2011
![Page 50: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/50.jpg)
HTTP Protocol• HyperText Transfer Protocol
• Used by web servers to transfer web pages to be displayed in your web browser
• Connection (usually) on port 80
Wednesday, 1 June 2011
![Page 51: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/51.jpg)
TCP Connections• TCP three way connection handshake
• Client sends SYN with random number (A)
• Server replies with SYN-ACK containing A+1 and random number (B)
• Client replies with ACK containing B+1
• Luckily ethernet library does this for you!
Wednesday, 1 June 2011
![Page 52: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/52.jpg)
Connection Code• Client client = server.available();
if (client) { while (client.connected()) { .... }}
Wednesday, 1 June 2011
![Page 53: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/53.jpg)
HTTP Requests• Start with request “GET index.html HTTP/1.1”
• Optional headers eg “host: www.domain.com” or “Accept-Language: en”
• Empty line
• Optional message body (POST and other requests)
Wednesday, 1 June 2011
![Page 54: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/54.jpg)
HTTP Request Hack• Standard GET request have request followed
by blank line
• So just ignore what is requested and check for blank line
Wednesday, 1 June 2011
![Page 55: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/55.jpg)
Request Code• if (client.available() {
char c = client.read(); ...}
• if (c == '\n' || c == '\r') { blankline = true;}
Wednesday, 1 June 2011
![Page 56: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/56.jpg)
HTTP Response• Send back status line
• Send back content type
• Send (HTML or XML) content
Wednesday, 1 June 2011
![Page 57: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/57.jpg)
Response Code• Send on good request
client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println();
• Send on bad requestclient.println("HTTP/1.1 400 Bad Request"); client.println("Content-Type: text/html"); client.println();
Wednesday, 1 June 2011
![Page 58: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/58.jpg)
Close Connections• Clear up after you:
client.flush();client.stop();
Wednesday, 1 June 2011
![Page 59: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/59.jpg)
ResourcesFinding out more information
Wednesday, 1 June 2011
![Page 60: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/60.jpg)
Arduino Sites• Ardunio (http://ardunio.cc)
• Tinker It! (http://tinker.it)
• Lady Ada (http://ladyada.net)
• Seeed Studio (http://www.seeedstudio.com)
• Modern Device (http://moderndevice.com)
Wednesday, 1 June 2011
![Page 61: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/61.jpg)
Electronic Components Suppliers• Spark fun (http://www.sparkfun.com)
• Electric Goldmine (http://www.goldmine-elec-products.com/)
• Digikey (http://www.digikey.com/)
• Farnell (http://ww.farnell.com/)
Wednesday, 1 June 2011
![Page 62: Arduino Platform Part I - Justin Mcleancdn.classsoftware.com › slides › as3devs › arduinoPartI.pdfArduino • Open source hardware and software platform • Free software •](https://reader033.fdocuments.in/reader033/viewer/2022052519/5f1e08b63c5f195f1b773753/html5/thumbnails/62.jpg)
Other Sites• Make magazine (http://makezine.com/)
• Evil Mad Scientist (http://evilmadscientist.com)
• NYC Resistor (http://nycresistor.com)
Wednesday, 1 June 2011