370 likes | 738 Views
MotoFreedom. Iowa State University. Dec 06-08 Team. Team Members. Shariq Siddiqui (Team Leader) - EE Andrew Charlet (Communications) - CprE Ahad Mir - EE Donghoo Kim - EE. Project Client. Motorola Mr. Michael Pearce. Faculty Advisor. Dr. Sang W. Kim. Agenda.
E N D
MotoFreedom Iowa State University Dec 06-08 Team
Team Members • Shariq Siddiqui (Team Leader) - EE • Andrew Charlet (Communications) - CprE • Ahad Mir - EE • Donghoo Kim - EE
Project Client • Motorola Mr. Michael Pearce Faculty Advisor • Dr. Sang W. Kim
Agenda • Introduction and Problem Statement – Shariq • Functional Requirements and Phone Details - Andrew • Technical Considerations - Kim • Home Display Unit GUI Details - Ahad • Home Unit Coding Details - Shariq
Problem Statement • Alzheimer’s disease and dementia currently affect a large and growing segment of the population. • Most people who are initially diagnosed with these conditions cannot be immediately placed in a care facility. • They cannot live on their own; a close family member typically stays in close contact in order to take care of them. • This situation can become extremely stressful for both the caregiver and the cared-for due to the constant presence required to ensure the safety of the cared-for person. • The proposed solution includes an easy to use communication system that will help both the patient and caregiver to communicate with each other. • They can communicate via voice, video and text.
Intended Users Alzheimer’s patients and Caregivers Elderly people Handicapped people Families Intended Uses Communication between Alzheimer’s patient and caregiver Replacing existing home phones Providing message service Can be used in offices Intended Users & Uses
Functional Requirements Home Display Unit • Home Display Unit is a wall mounted device which has the following functionalities: • The home display unit shall have one button push to talk capability and the button will be on the lower corner of the screen. • The home display unit shall have easy to use graphical user interface (GUI) for the patient. • The home display unit shall have data transfer capability with the caregiver’s communication device. • The home display unit shall have built-in mic. and speaker capabilities with volume control.
Functional Requirements Communication Device • Communication device is for the caregiver which has the following functionalities: • Communication device used is a cell phone. • The communication device shall have existing enabled cellular service. • The communication device shall have a programmable GUI. • The communication device shall have data transfer capability for voice and data communication (up to several messages).
Cell Phone Software • Custom coded Java application for the cell phone. One application that will encompass all the tools to communicate with the Home Unit in one place. • Voice Call • Text Messaging • Video Message
Software Development Requirements • Eclipse • Eclipse ME • J2ME • Sun Java Wireless Toolkit 2.2
Software Development • public VaderCanvas(DemoVaders midlet) throws IOException{ • super(false); • this.midlet = midlet; • setFullScreenMode(true); • height=getHeight(); • // initialize the layer manager • layerManager=new VaderManager(this); } • protected void sizeChanged(int width, int height){ layerManager.setViewWindow(0,0,getWidth(), getHeight()); layerManager.reDrawDisplay(height-this.height); graphics.setClip(0,0,getWidth(),getHeight()); this.height=height; }
Testing Environment • Primary development phone the A1000 • Provides a fully functioning Emulation • Ability to roll back phone versions with backup capabilities.
Cingular • Nation 450 w/Rollover $39.99 450 Daytime 5000 Night-Weekend Unlimited Mobile to Mobile • Data Connect Unlimited $44.99 Unlimited Internet Data • Pay As You Go Unlimited Mobile to Mobile $0.10 per minute Daytime $0.10 per minute Night/Weekend $1.00 on days you use your phone • Pay As You Go $.25 per minute $0.25 per minute Standard Call $0.25 per minute Night and Weekend $0.00 Daily Charge
T-Mobile • Get More $39.99 600 Minutes Unlimited Weeknight Minutes Unlimited Weekend Minutes • T-Mobile Total Internet $49.99 None Minutes Unlimited Data/Month Unlimited Email/Month • Pre-Paid
Touch screen home device • Convertible Laptop XP based (Gateway® CX200S) • The least expensive. • Allows for a wide array of software applications to be run on this system. • There is a keyboard and mouse on the unit . • A wide variety of extras such as DVD players and expandable hard drives. • Offers more options than this project requires .
A1000 • Supported Wireless Networks3G UMTS (WCDMA 2100), GSM 900/1800/1900 GPRS • Supported TechnologiesJ2ME, SMS, MMS • Operating System • Symbian 7.0 • Data Input MethodTouch Screen • Device Screen Size208 x 320 TFT (65K color) • Full HTML BrowserOpera 7 Browser with small screen rendering • Device Feature Highlights3G UMTS, Streaming, capture, and playback audio/video, PIM application, 24 MB User Memory, TransFlash card, A-GPS for location services, Symbian 7.0/UIQ 2.1, C++, SMS/MMS, Email: POP3, IMAP3, USB, Bluetooth
E680i • Supported Wireless NetworksGSM 900/1800/1900 GPRS • Supported TechnologiesWAP 2.0, J2ME, MMS, Magic 4 IM • WAP Browser VersionMIB 2.2 • Operating System • Linux • Data Input MethodTouch Screen • Device Screen SizePortrait Mode: 240 x 320 • Device Feature HighlightsTri band, MMS, Integrated digital camera (VGA quality), MPEG4 video capture/playback, Wireless IM, Email, Stereo 3D speakers, MP3 music/ringtone download and playback, MIDI music, Embedded, portable, and online Java games, Customizable UI skins, 50 MB internal user.
Phones Selected: A1000reasons for selection • Runs the Symbian operating system. • It seems like future phones will start to use this OS as well. • Was selected as a test phone because of its similar look and layout of the phone.
The Home Display Unit GUI • Easy to use - Touch Screen • Main GUI made by Visual C ++ • Contains different buttons to control the communication process • Buttons connected at backend to SKYPE API functions • Contains a single button to make or receive calls
CALL button • The purpose of the CALL button is to make and receive calls for the patient • Runs the appropriate API function to make or receive call
Volume Control Button • The volume control is in the form of scroll bar for the ease of use for normal people • Has mute function
Voice Mail Button • The system allows the caregiver/any caller to record voice mails • Recorded messages are retrievable through this button
Customize Button • Only for the care giver • Gives the flexibility to the caregiver to update the cell number • Allows to update IP Address
Add Ons • Different functions – can be added using API functions • Call Scheduling • Caller ID • Address Book • Things to Remember • Morning Alarm
Display Device Software • The display device software uses the Skype API • The Skype API passes commands in simple text messages between Skype and client applications and devices • The Skype API has two main components; the Skype phone API and the Skype access API. • The display device software uses the Skype access API.
Skype Access API • The Skype access API enables external applications to control certain Skype functions, • For example to place a call
Characteristics of Skype API • All actions performed using the API are mirrored on the Skype client • All times and dates in the API are in UTC (Coordinated Universal Time) • Multiple applications can use the Skype access API at the same time. • Transmission over the API is in UTF-8 encoding.
Initialization • Use the RegisterWindowMessage method to register • To initiate communication, a client application broadcasts the SkypeControlAPIDiscover message • Skype responds with a SkypeControlAPIAttach message
Communication between Skype and Client program • The client application issues a command to control Skype • In reply to some commands, Skype returns a synchronous response • Skype objects are application, call, chat, chat message, profile, user, and voicemail.
Commands • CALL command (Use the CALL command to make a call) • Set CALL INPROGRESS command (Use the SET CALL INPROGRESS command to take an incoming call) • SET CALL FINISHED command (Use the SET CALL FINISHED command to end a call) • SET CALL ONHOLD command (Use the SET CALL ONHOLD command to place a call on hold)
Message Receive Code • The display device software uses the sockets to receive the text message