• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
A Practical Guide to Connecting Hardware to Flex
 

A Practical Guide to Connecting Hardware to Flex

on

  • 2,229 views

A look at the revolution in low cost, easy to program embedded computing and how to connect it to Flex. Focusing on the Arduino open source hardware and software platform and how it can be easily ...

A look at the revolution in low cost, easy to program embedded computing and how to connect it to Flex. Focusing on the Arduino open source hardware and software platform and how it can be easily connected both directly and via the Ethernet. The slides cover digital and analogue input and output and how to create your own web server (in under 20 lines of code). It’s easier than you realise to interface Flex with hardware and with a little knowledge you too can can do this.

Statistics

Views

Total Views
2,229
Views on SlideShare
2,227
Embed Views
2

Actions

Likes
2
Downloads
49
Comments
0

2 Embeds 2

http://localhost:3000 1
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    A Practical Guide to Connecting Hardware to Flex A Practical Guide to Connecting Hardware to Flex Presentation Transcript

    • A PRACTICAL GUIDE TO CONNECTING HARDWARE TO FLEX Justin Mclean Class Software Email: justin@classsoftware.com Twitter: @justinmclean Blog: http://blog.classsoftware.comTuesday, 21 June 2011
    • 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 AustraliaTuesday, 21 June 2011
    • Electronics Trends • Low cost components • Small components • Complex components with simple standard interfacesTuesday, 21 June 2011
    • Computing Trends • Easier to program • Use of high level languages • Software tools • Open sourceTuesday, 21 June 2011
    • Are We There Yet? • Low cost fast devices • It’s easy to communicate between devices and computers • Can build complex systems from off the shelf componentsTuesday, 21 June 2011
    • Arduino Overview of the Arduino PlatformTuesday, 21 June 2011
    • Arduino Platform • Open source hardware and software platform • Easy to program • Hardware is flexible, fast, consumes very little power and is cheapTuesday, 21 June 2011
    • Arduino Hardware • Comes in a number of shapes and sizes • Low cost • Easy to extend • Digital inputs/outputs • Analog inputsTuesday, 21 June 2011
    • Arduino BoardsTuesday, 21 June 2011
    • Arduino BoardsTuesday, 21 June 2011
    • Arduino BoardsTuesday, 21 June 2011
    • Arduino BoardsTuesday, 21 June 2011
    • Arduino ShieldsTuesday, 21 June 2011
    • Arduino ShieldsTuesday, 21 June 2011
    • Arduino ShieldsTuesday, 21 June 2011
    • Arduino ShieldsTuesday, 21 June 2011
    • Arduino Software Platform • Open source cross platform IDE • Alpha but very stable • Version 1.0 out in the next month • Updated frequently • Growing and active communityTuesday, 21 June 2011
    • Arduino Code • C/C++ but not scary! • Inbuilt functions to read and set digital and analog inputs and outputs • Includes libraries to perform common hardware or software tasks • Once uploaded programs are permanentTuesday, 21 June 2011
    • Arduino IDETuesday, 21 June 2011
    • Led Shield DemoTuesday, 21 June 2011
    • Led Shield DemoTuesday, 21 June 2011
    • Issues • Debugging can be hard • No simulator • Memory, power and speed limits • Helps to have a little electronics knowledgeTuesday, 21 June 2011
    • Connecting to the Web How Arduinos can communicate with the worldTuesday, 21 June 2011
    • Connection Methods • Direct to computer (USB) • Wireless (XBee modems) • Ethernet or WiFi • “The Cloud”Tuesday, 21 June 2011
    • Supported Languages • Flash and Flex • Processing • Python • Ruby • Java • C, C++, C# and Objective C • .NETTuesday, 21 June 2011
    • Flex Flex to Arduino direct connectionTuesday, 21 June 2011
    • Layers of Communication • Flex to proxy via an Actionscript library • Proxy to USB communication • USB to arduinoTuesday, 21 June 2011
    • Computer Arduino Flex Code Arduino Function Calls and Code Events TCP/IP USB AS3 Glue USB Proxy Firmata Socket Cable Flex to ArduinoTuesday, 21 June 2011
    • Flex Led DemoTuesday, 21 June 2011
    • AS3Glue Digital Output • Create arduino instance var arduino:Arduino = new Arduino(); • Wait for firmware version • Set digital pin as output arduino.setPinMode(pin, Arduino.OUTPUT); • Turn digital output on arduino.writeDigitalPin(pin, Arduino.HIGH);Tuesday, 21 June 2011
    • Danger Shield DemoTuesday, 21 June 2011
    • AS3Glue Analog Input • Turn on analog reporting arduino.setAnalogPinReporting(pin, Arduino.ON); • Listen for changes via event listener arduino.addEventListener (ArduinoEvent.ANALOG_DATA, onReceiveData); public function onReceiveData (event:ArduinoEvent):void { ... }Tuesday, 21 June 2011
    • Ethernet Using Arduino Ethernet ShieldsTuesday, 21 June 2011
    • Ethernet Shields • Allow direct internet connection • No dedicated PC needed • Shields need a little config • Can act as web server or clientTuesday, 21 June 2011
    • Ethernet ShieldsTuesday, 21 June 2011
    • Ethernet ShieldsTuesday, 21 June 2011
    • Ethernet ShieldsTuesday, 21 June 2011
    • Web Servers • Simpler than you think • A web server: • Listens for connections • Parse requests • Send back status messages/resources requestedTuesday, 21 June 2011
    • 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)Tuesday, 21 June 2011
    • Ethernet Arduino Code • Web server code • Easy to modifyTuesday, 21 June 2011
    • Ethernet DemoTuesday, 21 June 2011
    • Applications Ideas on how and where to use this technologyTuesday, 21 June 2011
    • Environmental Monitoring • Indoors or outdoors • Wide range of sensors • Sleep mode/low power consumptionTuesday, 21 June 2011
    • Home Automation • Power and utilities monitoring • Controlling Lights and Heating/Cooling • Garden watering/monitoringTuesday, 21 June 2011
    • Security and Safety • Security systems • Location reporting • Bike jacketsTuesday, 21 June 2011
    • 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 programmerTuesday, 21 June 2011
    • It’s Fun!Tuesday, 21 June 2011
    • Questions? Ask now, see me after the session, follow me on twitter @justinmclean or email me at justin@classsoftware.com. Code and slides can be found at http://blog.classsoftware.comTuesday, 21 June 2011
    • Resources Finding out more informationTuesday, 21 June 2011
    • Arduino Sites • Ardunio (http://ardunio.cc) • Spark fun (http://www.sparkfun.com) • Lady Ada (http://ladyada.net) • Seeed Studio (http://www.seeedstudio.com) • Modern Device (http://moderndevice.com)Tuesday, 21 June 2011
    • Electronic Components Suppliers • Electric Goldmine (http://www.goldmine-elec- products.com/) • Digikey (http://www.digikey.com/) • Farnell (http://ww.farnell.com/)Tuesday, 21 June 2011
    • Other Sites • Make magazine (http://makezine.com/) • Evil Mad Scientist (http:// evilmadscientist.com) • NYC Resistor (http://nycresistor.com)Tuesday, 21 June 2011