SlideShare a Scribd company logo
Connecting Open Source
                           Hardware to the Web

                           Justin Mclean

                           Web: http://www.classsoftware.com.au
                           Mail: justin@classsoftware.com.au
                           Twitter: justinmclean




Sunday, 28 February 2010
Who am I?
                    • Programming for 25 years
                    • Developing and creating web applications for
                           15 years
                    • Developer and trainer in Flex and ColdFusion
                    • Adode Community Professional




Sunday, 28 February 2010
Arduino
                           Overview of the Arduino Platform




Sunday, 28 February 2010
Arduino Platform
                    • Open source hardware and software platform
                    • Easy to program
                    • Hardware is flexible, fast and low power




Sunday, 28 February 2010
Arduino Hardware
                    • Comes in a number of shapes sizes
                    • Low cost
                    • Easy to extend




Sunday, 28 February 2010
Arduino Boards

Sunday, 28 February 2010
Arduino Shields

Sunday, 28 February 2010
Arduino Software Platform
                    •      Open source cross platform IDE
                    •      Alpha but very stable
                    •      Code in high level C like language
                    •      Updated frequently
                    •      Growing and active community




Sunday, 28 February 2010
Arduino Code
                    • C like high level language
                    • Inbuilt functions to read and set digital and
                           analog inputs and outputs
                    • Includes libraries to perform common
                           hardware or software tasks




Sunday, 28 February 2010
Arduino IDE

Sunday, 28 February 2010
Led Shield Demo

Sunday, 28 February 2010
Issues
                    • Debugging can be hard
                    • Memory, power and speed limits
                    • Helps to have a little electronic knowledge




Sunday, 28 February 2010
Connecting
                           Arduinos to the Web
                           How Arduinos can communicate with
                           the outside world.




Sunday, 28 February 2010
Connection Methods
                    •      Direct to computer
                    •      Wireless (XBee modems)
                    •      Ethernet or WiFi
                    •      “The Cloud”




Sunday, 28 February 2010
Supported Languages
                    •      Flash and Flex
                    •      Processing
                    •      Python
                    •      Ruby
                    •      Java
                    •      C, C++, C# and Objective C
                    •      .NET




Sunday, 28 February 2010
Direct Connection
                           How to communicate with Arduinos
                           via a computer




Sunday, 28 February 2010
Direct Communication
                    • Most languages can’t talk USB
                    • Solution: Socket to USB proxy




Sunday, 28 February 2010
Layers of Communication
                    • Code Library
                    • Proxy to USB
                    • Program on arduino to USB




Sunday, 28 February 2010
Firmata Protocal
                    •      Standard Arduino library
                    •      Simple binary protocol
                    •      Based on MIDI
                    •      Easy to extend




Sunday, 28 February 2010
Computer                       Arduino




                             Application Code                                  Arduino




                           Function Calls and
                                                                                Code
                                 Events


                                                 TCP/IP                USB
                                 Library                   USB Proxy           Firmata
                                                 Socket                Cable




                             Connection Diagram

Sunday, 28 February 2010
Firmata Demo

Sunday, 28 February 2010
Issues
                    • Works best with a persistent connection
                    • Otherwise startup time and auto reset may be
                           issues
                    • Proxy must be running on computer the
                           Arduino is connected to




Sunday, 28 February 2010
Ethernet
                           Using Arduino Ethernet Shields




Sunday, 28 February 2010
Ethernet Shields
                    •      Allow direct internet connection
                    •      No computer needed
                    •      Can act as web server or client
                    •      Shields need a little configuration




Sunday, 28 February 2010
Ethernet Shields

Sunday, 28 February 2010
Web Servers
                    • Simpler than you think
                    • A web server:
                      • Listens for connections
                      • Parse requests
                      • Send back status messages/resources
                           requested




Sunday, 28 February 2010
HTTP Requests
                    •      Start with request “GET index.html HTTP/1.1”
                    •      Optional headers “Accept-Language: en”
                    •      Empty line
                    •      Optional message body (POST and other
                           requests)




Sunday, 28 February 2010
Ethernet Arduino Code
                    • Web server code
                    • Easy to modify




Sunday, 28 February 2010
Ethernet Demo

Sunday, 28 February 2010
Why do this?
                    • Expose yourself to new ideas and new ways of
                           solving problems
                    • Involves interaction with the real world
                    • Encourages creativity
                    • Makes you a better programmer




Sunday, 28 February 2010
It’s Fun!

Sunday, 28 February 2010
Useful Sites
                           List of useful hardware and software
                           sites




Sunday, 28 February 2010
Software Sites
                    • Arduino http://www.arduino.cc for software,
                           user forum and playground
                    • Ethernet Shields http://arduino.cc/en/
                           Reference/Ethernet
                    • Pachhub http://www.pachube.com/




Sunday, 28 February 2010
Hardware Sites
                    • Little Bird Electronics (AUS) http://
                           www.littlebirdelectronics.com/
                    • Spark Fun (US) http://www.sparkfun.com/
                    • Adafruit Industries (US) http://
                           www.adafruit.com/
                    • Electronic Goldmine (US) http://
                           www.goldmine-elec.com/




Sunday, 28 February 2010
Other Sites
                    • Lady Ada http://www.ladyada.net/
                    • Evil Mad Scientist http://
                           www.evilmadscientist.com/
                    • NY Resistor http://www.nycresistor.com/
                    • Make Zine http://makezine.com/




Sunday, 28 February 2010

More Related Content

Viewers also liked

ColdFusion Security and Risk Management
ColdFusion Security and Risk ManagementColdFusion Security and Risk Management
ColdFusion Security and Risk Management
Justin Mclean
 
Edge Of The Web
Edge Of The WebEdge Of The Web
Edge Of The Web
Justin Mclean
 
Brochure 11352
Brochure 11352Brochure 11352
ColdFusion Security and Risk Management
ColdFusion Security and Risk ManagementColdFusion Security and Risk Management
ColdFusion Security and Risk Management
Justin Mclean
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?
Angelo Corsaro
 

Viewers also liked (6)

ColdFusion Security and Risk Management
ColdFusion Security and Risk ManagementColdFusion Security and Risk Management
ColdFusion Security and Risk Management
 
Edge Of The Web
Edge Of The WebEdge Of The Web
Edge Of The Web
 
Brochure 11352
Brochure 11352Brochure 11352
Brochure 11352
 
ColdFusion Security and Risk Management
ColdFusion Security and Risk ManagementColdFusion Security and Risk Management
ColdFusion Security and Risk Management
 
Corso Security Manager
Corso Security ManagerCorso Security Manager
Corso Security Manager
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?
 

Similar to Connecting open source hardware to the web

A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Hacking Meatspace with Arduino and pyFirmata
Hacking Meatspace with Arduino and pyFirmataHacking Meatspace with Arduino and pyFirmata
Hacking Meatspace with Arduino and pyFirmata
Ches Martin
 
Implementation of an Arduino Remote Laboratory with Raspberry Pi
Implementation of an Arduino Remote Laboratory with Raspberry PiImplementation of an Arduino Remote Laboratory with Raspberry Pi
Implementation of an Arduino Remote Laboratory with Raspberry Pi
Manuel Castro
 
11_04_2019 EDUCON Award: "Implementation of an arduino remoto laboratory with...
11_04_2019 EDUCON Award: "Implementation of an arduino remoto laboratory with...11_04_2019 EDUCON Award: "Implementation of an arduino remoto laboratory with...
11_04_2019 EDUCON Award: "Implementation of an arduino remoto laboratory with...
eMadrid network
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la Actualidad
Laurence HR
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
MediaTek Labs
 
Robots conf microcontroller and iot survey
Robots conf   microcontroller and iot surveyRobots conf   microcontroller and iot survey
Robots conf microcontroller and iot survey
Matt Haines
 
An open-source testbed for IoT systems
An open-source testbed for IoT systemsAn open-source testbed for IoT systems
An open-source testbed for IoT systems
Augusto Ciuffoletti
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
Nitesh Malviya
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
Preet Sangha
 
Building IoT with Arduino Day One
Building IoT with Arduino Day One Building IoT with Arduino Day One
Building IoT with Arduino Day One
Anthony Faustine
 
FFMUC presents #ffmeet - #virtualUKNOF
FFMUC presents #ffmeet - #virtualUKNOFFFMUC presents #ffmeet - #virtualUKNOF
FFMUC presents #ffmeet - #virtualUKNOF
Annika Wickert
 
UCLA Extension Digital DJing Lecture 4
UCLA Extension Digital DJing Lecture 4UCLA Extension Digital DJing Lecture 4
UCLA Extension Digital DJing Lecture 4
Gautam Banerjee
 
Build IoT Applications with C#
Build IoT Applications with C#Build IoT Applications with C#
Build IoT Applications with C#
Ken Samson, MISM
 
small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)
ariannaschlegel
 
Getting Started with Pinoccio
Getting Started with PinoccioGetting Started with Pinoccio
Getting Started with Pinoccio
fcohenvotsh
 
Caspar Resume EN 2009-07
Caspar Resume EN 2009-07Caspar Resume EN 2009-07
Caspar Resume EN 2009-07
Caspar Zhang
 
iTunes U + Podcast Producer
iTunes U + Podcast ProduceriTunes U + Podcast Producer
iTunes U + Podcast Producer
Dave Olsen
 
Language Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to ProductionLanguage Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to Production
Kinoma
 
Unit6_P7_luciablazquez
Unit6_P7_luciablazquezUnit6_P7_luciablazquez
Unit6_P7_luciablazquez
LucaBlzquez2
 

Similar to Connecting open source hardware to the web (20)

A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Hacking Meatspace with Arduino and pyFirmata
Hacking Meatspace with Arduino and pyFirmataHacking Meatspace with Arduino and pyFirmata
Hacking Meatspace with Arduino and pyFirmata
 
Implementation of an Arduino Remote Laboratory with Raspberry Pi
Implementation of an Arduino Remote Laboratory with Raspberry PiImplementation of an Arduino Remote Laboratory with Raspberry Pi
Implementation of an Arduino Remote Laboratory with Raspberry Pi
 
11_04_2019 EDUCON Award: "Implementation of an arduino remoto laboratory with...
11_04_2019 EDUCON Award: "Implementation of an arduino remoto laboratory with...11_04_2019 EDUCON Award: "Implementation of an arduino remoto laboratory with...
11_04_2019 EDUCON Award: "Implementation of an arduino remoto laboratory with...
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la Actualidad
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
 
Robots conf microcontroller and iot survey
Robots conf   microcontroller and iot surveyRobots conf   microcontroller and iot survey
Robots conf microcontroller and iot survey
 
An open-source testbed for IoT systems
An open-source testbed for IoT systemsAn open-source testbed for IoT systems
An open-source testbed for IoT systems
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
 
Building IoT with Arduino Day One
Building IoT with Arduino Day One Building IoT with Arduino Day One
Building IoT with Arduino Day One
 
FFMUC presents #ffmeet - #virtualUKNOF
FFMUC presents #ffmeet - #virtualUKNOFFFMUC presents #ffmeet - #virtualUKNOF
FFMUC presents #ffmeet - #virtualUKNOF
 
UCLA Extension Digital DJing Lecture 4
UCLA Extension Digital DJing Lecture 4UCLA Extension Digital DJing Lecture 4
UCLA Extension Digital DJing Lecture 4
 
Build IoT Applications with C#
Build IoT Applications with C#Build IoT Applications with C#
Build IoT Applications with C#
 
small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)
 
Getting Started with Pinoccio
Getting Started with PinoccioGetting Started with Pinoccio
Getting Started with Pinoccio
 
Caspar Resume EN 2009-07
Caspar Resume EN 2009-07Caspar Resume EN 2009-07
Caspar Resume EN 2009-07
 
iTunes U + Podcast Producer
iTunes U + Podcast ProduceriTunes U + Podcast Producer
iTunes U + Podcast Producer
 
Language Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to ProductionLanguage Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to Production
 
Unit6_P7_luciablazquez
Unit6_P7_luciablazquezUnit6_P7_luciablazquez
Unit6_P7_luciablazquez
 

Recently uploaded

FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
Data Hops
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 

Recently uploaded (20)

FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 

Connecting open source hardware to the web

  • 1. Connecting Open Source Hardware to the Web Justin Mclean Web: http://www.classsoftware.com.au Mail: justin@classsoftware.com.au Twitter: justinmclean Sunday, 28 February 2010
  • 2. Who am I? • Programming for 25 years • Developing and creating web applications for 15 years • Developer and trainer in Flex and ColdFusion • Adode Community Professional Sunday, 28 February 2010
  • 3. Arduino Overview of the Arduino Platform Sunday, 28 February 2010
  • 4. Arduino Platform • Open source hardware and software platform • Easy to program • Hardware is flexible, fast and low power Sunday, 28 February 2010
  • 5. Arduino Hardware • Comes in a number of shapes sizes • Low cost • Easy to extend Sunday, 28 February 2010
  • 8. Arduino Software Platform • Open source cross platform IDE • Alpha but very stable • Code in high level C like language • Updated frequently • Growing and active community Sunday, 28 February 2010
  • 9. Arduino Code • C like high level language • Inbuilt functions to read and set digital and analog inputs and outputs • Includes libraries to perform common hardware or software tasks Sunday, 28 February 2010
  • 10. Arduino IDE Sunday, 28 February 2010
  • 11. Led Shield Demo Sunday, 28 February 2010
  • 12. Issues • Debugging can be hard • Memory, power and speed limits • Helps to have a little electronic knowledge Sunday, 28 February 2010
  • 13. Connecting Arduinos to the Web How Arduinos can communicate with the outside world. Sunday, 28 February 2010
  • 14. Connection Methods • Direct to computer • Wireless (XBee modems) • Ethernet or WiFi • “The Cloud” Sunday, 28 February 2010
  • 15. Supported Languages • Flash and Flex • Processing • Python • Ruby • Java • C, C++, C# and Objective C • .NET Sunday, 28 February 2010
  • 16. Direct Connection How to communicate with Arduinos via a computer Sunday, 28 February 2010
  • 17. Direct Communication • Most languages can’t talk USB • Solution: Socket to USB proxy Sunday, 28 February 2010
  • 18. Layers of Communication • Code Library • Proxy to USB • Program on arduino to USB Sunday, 28 February 2010
  • 19. Firmata Protocal • Standard Arduino library • Simple binary protocol • Based on MIDI • Easy to extend Sunday, 28 February 2010
  • 20. Computer Arduino Application Code Arduino Function Calls and Code Events TCP/IP USB Library USB Proxy Firmata Socket Cable Connection Diagram Sunday, 28 February 2010
  • 21. Firmata Demo Sunday, 28 February 2010
  • 22. Issues • Works best with a persistent connection • Otherwise startup time and auto reset may be issues • Proxy must be running on computer the Arduino is connected to Sunday, 28 February 2010
  • 23. Ethernet Using Arduino Ethernet Shields Sunday, 28 February 2010
  • 24. Ethernet Shields • Allow direct internet connection • No computer needed • Can act as web server or client • Shields need a little configuration Sunday, 28 February 2010
  • 26. Web Servers • Simpler than you think • A web server: • Listens for connections • Parse requests • Send back status messages/resources requested Sunday, 28 February 2010
  • 27. HTTP Requests • Start with request “GET index.html HTTP/1.1” • Optional headers “Accept-Language: en” • Empty line • Optional message body (POST and other requests) Sunday, 28 February 2010
  • 28. Ethernet Arduino Code • Web server code • Easy to modify Sunday, 28 February 2010
  • 29. Ethernet Demo Sunday, 28 February 2010
  • 30. Why do this? • Expose yourself to new ideas and new ways of solving problems • Involves interaction with the real world • Encourages creativity • Makes you a better programmer Sunday, 28 February 2010
  • 31. It’s Fun! Sunday, 28 February 2010
  • 32. Useful Sites List of useful hardware and software sites Sunday, 28 February 2010
  • 33. Software Sites • Arduino http://www.arduino.cc for software, user forum and playground • Ethernet Shields http://arduino.cc/en/ Reference/Ethernet • Pachhub http://www.pachube.com/ Sunday, 28 February 2010
  • 34. Hardware Sites • Little Bird Electronics (AUS) http:// www.littlebirdelectronics.com/ • Spark Fun (US) http://www.sparkfun.com/ • Adafruit Industries (US) http:// www.adafruit.com/ • Electronic Goldmine (US) http:// www.goldmine-elec.com/ Sunday, 28 February 2010
  • 35. Other Sites • Lady Ada http://www.ladyada.net/ • Evil Mad Scientist http:// www.evilmadscientist.com/ • NY Resistor http://www.nycresistor.com/ • Make Zine http://makezine.com/ Sunday, 28 February 2010