300 likes | 315 Views
Explore integrating iPod Touch into ECpE curriculum, assessing feasibility, proposed design, costs, and testing with focus on hands-on application development. Objective to enhance student learning through practical labs and advance embedded systems knowledge.
E N D
CprE Curriculum based Application Development using iPod Touch May10-23: Advisor: Professor AkhileshTyagi Autumn Winkie Chad Nelson Morgan Janes Sean Freitag Tim Danzer
Outline • Introduction to iPod Touch • Integrating iPod Touch into ECpE curriculum • Project Requirements • Proposed Design • Projected Costs • Design Testing • Deliverables
The iPod Touch • Based on iPhone hardware • Mobile Embedded Platform • Samsung 32-bit RISC ARM • Clocked at 412 MHz • Multi-touch touch screen • 128 MB DRAM • 8-32 GB solid state memory • 120 x 480 pixel, 163 pixels/inch LCD • iPhoneOS • Stripped down version on MacOSX • WiFi and Bluetooth • Battery 3.7 V at 1150 mAh
Development Environment • Closed Platform • Unix based • Objective-C • Communicates via “small-talk” • Frameworks provide communication to the systems devices • Unable to access services outside of provided frameworks
iPod Touch Capabilities • The iPod touch is capable of: • Communicating via WiFi to external networks • Communicating via Bluetooth to other iPhone based devices and hands free peripheral devices • Detecting acceleration in three dimensional space • Determining its own location • Displaying advanced user interfaces • Encoding/decoding music and video for play back
iPod Touch Limitations • The iPod touch is not capable of: • Communicating via serial/USB without Apple’s permission (which we do not have) • Utilizing camera, GPS, video recording, microphone, or compass like the iPhone 3GS • Executing user developed background applications • Supporting Bluetooth profiles outside of advanced audio distribution, audio/video remote control, and personal area network
iPod/iPhone Popularity • Sold approximately 26.4 Million iPhones and 20 million iPod Touches • Approximately 5%of US population owns an iPhone • Over 1 Billion apps downloaded from Apple’s store
Project Objective • Because of the overwhelming popularity of the iPhone platform it would be opportunistic for Iowa State University to pursue integrating the platform into its curriculum • Our project is to assess the feasibly of integrating the iPod touch into the CprE embedded systems curriculum
Course Outline • Professor Tyagi has communicated with the Embedded Systems faculty to create requirements for this embedded course • Project requirements will be based on those established for CprE 388X: Microcontroller and Systems Design • Feasibility will be assessed based on fulfillment of these requirements
Requirements • Event Loop • Event Scheduling • Web Client Design (Network Embedded Systems) • Cooperative and Distributed Decision Making • Resource Management • Processor • Memory • Energy
Design Approach • Design a minimal set of labs to meet requirements • Implement given set of labs • Generate documentation for each lab • Provide labs, documentation, feasibility analysis and any other relevant resources as deliverables
Initial Design Plan • Five labs will meet requirements • Hello World! • Light Saber • iFind • Web Radio • iRobot Integration
Project Evolution Labs Requirements Hello World! Hello World! Event Loop Event Loop Light saber Light saber Event Scheduling Event Scheduling iFind iFind Networking (Client/Server) Networking (Client/Server) Web Radio Web Radio Resource Management (memory, processor, energy) Resource Management (memory, processor, energy) iRobot Integration iRobot Integration Cooperative and Distributed Decision Making Cooperative and Distributed Decision Making
Project Evolution Labs Requirements Hello World! Hello World! Event Loop Event Loop Light saber Light saber Resource Management Event Scheduling Event Scheduling iFind FindMe Networking (Client/Server) Networking (Client/Server) Distributed Brute Force Web Radio Resource Management (memory, processor, energy) Resource Management (memory, processor, energy) iRobot Integration Cooperative and Distributed Decision Making Cooperative and Distributed Decision Making
Project Evolution Labs Requirements Hello World! Hello World! Event Loop Event Loop Resource Management Resource Management Event Scheduling Event Scheduling FindMe FindMe Networking (Client/Server) Networking (Client/Server) Distributed Brute Force Distributed Brute Force Resource Management (memory, processor, energy) Resource Management (memory, processor, energy) Light Saber Light Saber Cooperative and Distributed Decision Making Cooperative and Distributed Decision Making
Lab 1: Hello World Description: Introduce students to iPhone application development process Concepts: • Objective-C • Structure and components for iPhone app • View Controllers • Delegates • Interface Builder • Developer Certificates to directly test on the iPhoneplatform Deliverable: An application using these components to display “Hello World”
Lab 2: Resource Management Description: Require students to explore the physical constraints of the platform Concepts: • Monitor battery depletion • Compare processor performance versus energy consumption • Compare network usage versus energy consumption • Illustrate need for memory management Deliverable: A lab report with supporting graphs demonstrating the application of resource management
Lab 3: FindMe Description: Utilize location services to track other other users’ locations Concepts: • Alert users when a friend is nearby • Apple Push Notifications • Client/Server interactions • Advanced user interface design • MapKitand Corelocations frameworks for iPhone platform Deliverable: An application that submits its geo-location to a server and receives peer locations. A server that supports push notifications.
Lab 4: Distributed Brute Force Description: Use multiple iPodtouches to collaboratively solve a given MD5 hash via brute force. Concepts: • Uses Bluetooth • Uses distributive computing • Multithreaded server Deliverable: A client that can perform a brute force on a given hash and a server to provide the hash.
Lab 5: Light Saber Description: Light saber battle between two users with collision detection. Concepts: • Use accelerometers to determine the orientation and striking of iPod touch as light saber in battle • Use Bluetooth to communicate these accelerometer values to opponent in real time • Determining collisions and blocks based on calculations using accelerometer values • Audio services to control striking and movement sounds • Light Saber app will be considered the final project Deliverable: An application that connects to an opponent via Bluetooth and supports battle calculations by utilizing accelerometer data.
Lab Reasoning • 5 labs is the minimal set that meets all requirements • Expected that filler labs will be created during class implementation • Labs are subject to change to parallel lecture material
Lab Timeline • Hello World (1 week) • Resource Management (1 week) • Expected filler lab (1-2 weeks) • FindMe App (2 weeks) • Distributed Brute Force (2 weeks) • Light Saber (3-4 weeks) Total of 10-12 weeks worth of labs
Project Costs • Purchases prior to project start • Apple enterprise developer program certification - $99 • 8gb iPodtouches provided by the department - $995 • Costs incurred during project • Labor: 150 hrs/person x $20/hr x 5 people = $15000 • Poster: $40 • Total Cost = $16140
Testing • A seminar to test the usefulness of the documentation in implementing the labs will take place during March 2010 • Ideal participants • Will be avid embedded systems programmers who have taken at least CprE 288 • Have interest in the iPhone platform. • Seminar will provide us with • An idea of the difficultly of the labs/projects • The usefulness of the documentation made to accompany each lab or project • Feedback analyzed and used to improve labs and generate feasibility report
Deliverables • Lab documentation • Student write-ups • References to Apple developer documentation • Datasheets • Framework documentation • XCode tutorials • Course content outline • Feasibility results • Feedback surveys • Succession/expansion planning
May10-23 Website • Progress and status reports can be viewed at the team website: http://seniord.ece.iastate.edu/may1023
References Picture References in order of appearance • http://techplore.com/technology/wp-content/uploads/2009/07/new_iphone.jpg • http://www.ifixit.com/Teardown/iPod-Touch-1st-Generation/596/3 • http://upload.wikimedia.org/wikipedia/commons/8/8f/IPhone_sales_per_quarter.svg • http://idannyb.wordpress.com/2008/05/16/iphone-country-count-up-to-53/ • http://jonmell.co.uk/wp-content/uploads/2008/12/find-people.jpg • http://greatbignerd.files.wordpress.com/2009/05/133946__lightsaber_l.jpg