Title: A Cell Phone-Based Remote Home Control System
1A Cell Phone-Based Remote Home Control System
Adam Mohling CprEmohbandy_at_iastate.edu
Issa Drame EEissad_at_iastate.edu
Chau Nguyen EEchayman_at_iastate.edu
Arturo Palau EEapalau_at_iastate.edu
Advisor Ahmed E. Kamal, Professorkamal_at_iastate.e
du
Client ECpE Department
2Agenda
- Problem statement
- System overview
- System components
- Technology considerations
- Device operations
- Summary and conclusions
- Questions
3Problem Statement
- Design a system that allows users, upon
authentication, to remotely control and monitor
multiple home appliances using a cell phone-based
interface.
4Project in Action Entire System
5Project in Action Cellular Phone Communication
Controlled Devices
6Cellular Phone Communication
- Technologies Considered
- Tone Decoding (DTMF) Features
- High Compatibility with all cell phone models
- Limited user interaction
- More prone to user error (uneditable)
- Inefficient, time consuming
- Additional hardware required (convert sound to
binary) - Text Messaging (SMS) Features
- Data transmitted in binary form (ASCII)
- Message can be edited prior to sending
7Cellular Phone Communication
- Technology Selected Text Messaging
- Reasons for Selection
- Allows user to verify and edit the message before
sending to ensure the command issued is the
command requested - Data is transmitted in binary, requires less
hardware to manipulate (as opposed to DTMF) - Most commonly used in M2M technology
8Cellular Phone Communication
- Text Message Implementation
- Users will be provided with a list of pre-defined
commands that can be stored into the cellular
phone - Users will then have to enter or issue the
commands from the cellular phone defined by the
command list - Example command PASSWORD
9Project in Action Cellular Module
Controlled Devices
Text Messages
10Cellular Modules
Model Type Connection type Programming Additional features Kit SIM
EE54 Edge GSM / GPRS USB 2.0 Low insertion force system connector AT commands (GSM07.07 and 07.05) TCP/IP protocol stack. PPP protocol Required 1.8/3V on board SIM card reader
GM47 GSM / GPRS 60 pin board-on-board including RS232 for AT 2 general purpose Serial interfaces AT proprietary commands AT access to TCP/IP stack UDP Required 3/5V SIM reader with SIM detection
GM28 GSM / GPRS RS232 DB-9 connection Control via AT commands AT access to TCP/IP stack UDP UCS2 16 bit data supported Not Required 3/5V SIM reader with SIM detection
11Cellular Modules
- Module Selected GM28
- Reasons for Selection
- RS232 DB9 connector
- No kit necessary for interface
- Located coding examples
12Project in Action - Microcontroller
GM28
Controlled Devices
Text Messages
13Microcontrollers
Starter Kit STK200 Starter Kit STK300 Starter Kit Freescale Starter Kit MC68HC11E9 8051 Starter Kit Philips XA/RD/66x
Microcontroller AT90S8515(8K bytes Flash) ATmega128(128KB Flash 4KB EEPROM 4KB SRAM) MC68HC11E9 (12KB Flash/EPROM 512B RAM 512B EEPROM) XA-G49 (64KB Flash 2KB RAM)
Cable/Connection ISP and RS232 ISP and RS232 opt. USB PC COM port RS232
Power Consumption 9-15VDC or 7-12VAC 9-15VDC or 7-12VAC 7-18VDC 9-15V AC or DC
I/O 64-pins 66-pins 38 pins 32 pins
Highlights   Sockets for various microcontrollers Vcc and Ground for powering external circuitry 3"x1.5" Solderless Breadboard 40-pin DIP
Highlights   Vcc and Ground for external circuitry Include daughter board 32Kbytes external RAM 44-pin PLCC sockets
Highlights   Brownout (2.9V or 4.5V level) Brownout (2.9V or 4.5V level) Buffalo Monitor utility for debug and test program switches and 10-way Bar LED
Software   Application Builder STK300 Application Builder AXIDE Application Builder
Software   AVR Studio 3 and 4 AVR ISP (C-complier) free Assembler, C compiler C-compiler Demos
Software   AVREdit and AVRGCC AVR and IAR Studio  WINISP and Flash Magic Programming Tools
Price 66 85 99 94.80
14Microcontroller
- Microcontroller Selected STK300 Starter Kit
- Reasons for Selection
- Allows large-scaled projects (ATmega128)
- Interchangeable microcontroller design
- Sufficient number of I/O pins
- Vcc and Gnd pins can power external circuitry
- Application Builder, AVR Studio, and programmable
in C Language
15Programming Languages Considered
- All the software developed for this project will
be loaded into the memory of the STK300
microcontroller. - The language must be supported by the STK300s
compiler - The STK300 compiler supports C and Assembly
- Java and C considered because code can be
converted to C - Assembly C
- C Java
16Development Languages
- Development Language Considered
- Assembly Language Features
- Low level language (greater device control)
- Less memory required
- Not many development resources/libraries
available - Team out of practice in Assembly language
programming
17Development Languages
- Development Language Considered
- JAVA Language Features
- Many GSM programming resources available
- Object oriented language (modular coding)
- Large memory requirement
- Poor response time
18Development Languages
- Development Language Considered
- C Language Features
- All team members have knowledge of C
- Object oriented language (modular coding)
- Not many development resources / libraries
available
19Development Languages
- Development Language Considered
- C Language Features
- Universally reliable language
- Many programming resources available
- Serial port libraries
- GSM libraries
- Example code and project resources online
- Team will need to identify differences between C
and C
20Development Languages
- Development Language Selected C Programming
Language - Reasons for Selection
- Vast amount of online resources
- Ease of development
- Team members have experience coding C
21Software Development Environment
- The code for this project will be developed in a
more user friendly environment than AVR Studio
(provided with the STK300) - Possible Solutions
- Eclipse v3.1
- MS Visual Studio .NET 2003
22Software Development Environment
- Eclipse v3.1
- Free, but requires some setup for team
- MS Visual Studio .NET 2003
- Free through MSDNAA (available to all ECE)
- Both are similar in their advantages. Since the
.c files will be copied into the STK300s
compiler, decision was made to go with Visual
Studio .NET
23Project in Action Controlled Devices
GM28
STK300
Controlled Devices
Text Messages
24Controlled Devices
- The following devices will be controlled by the
microcontroller - Fan
- Light
- Digital thermostat
25Controlled Devices - Fan
26Controlled Devices - Light
27Controlled Device Status Detection
28Controlled Device - Digital Thermostat
29Summary
- Experiences
- Technical Experiences
- GSM modules
- Microcontroller
- Control circuits synthesis
- Personal Experiences
- Time management
- Communication
- Accountability
30Conclusions
- Lessons Learned
- Functioning in a team environment
- Should follow assignment criteria closely
- Amount of detailed documents goes in a
professional project
31Acknowledgements
- Special thanks to Sony Ericsson for providing the
teams GM28 cellular module - Special thanks to Prof Kamal for his continued
support to the team
32Questions?
GM28
Any device with an electrical interface
STK300
Controlled Devices
Text Messages
33Issues Addressed
- Authentication and User Interaction
- Submit password with text message every time
action requested - Open sessions by submitting session open/close
text message - One-time password authentication via text message
- Create a Java GUI (for cell phone) that will
address user interactions
34Password For Every Action
- For every action requested, a user password is
required - PRO
- Increased security - user guaranteed authentic by
system every time - All commands issued will have the same format of
command password - CON
- Requires user to enter password every time
- More work for user, possible user error
- Ex.) parsed by (what if user enters
in message?)
35Open and Close Sessions
- User submits an open/close session command.
Acceptance allows phone to submit requests until
session times out or is closed by user. - PRO
- Less overhead for user
- Authentication only once
- CON
- Overload system with too many sessions
- What if user phone lost?
- What if user phone dies (session never closed)
36One Time Password Authentication
- User submits an authentication command. Upon
being confirmed, phone number added to an
acceptable user list and any message sent from
this number is accepted. - PRO
- Less overhead for user
- Authentication only once
- CON
- Security issue
- What if user phone lost?
- What if others identify password
37Java GUI for Cellular Phone
- Team creates a Java GUI for the cellular phone
that will provide user with a menu of acceptable
commands - PRO
- Less overhead for user
- User error virtually eliminated
- CON
- What if user phone lost?
- Limited phone type compatibility
- Phone requires more than simple text messaging
capability - Increased cost for users
- Pay for internet service to download/install Java
app (if required)