Wireless Remote Access THrough Cellular (WRATH – C) Team Members: Sam Bhoot Milap Dalal Kartik Natarajan David Yee
Objectives Acquire Hardware: – Embedded computer – Cell phone – PC link – Peripherals Install OS and necessary software Perform preliminary tests of hardware Work on Perl automation scripts
Hardware Computer – Compu-Lab 686 BASE 333 MHz Processor 64 M of RAM 40 Gig Hard-drive Cell Phone Motorola T720 – found to have problems Nokia 6190
Hardware Cell Phone – Motorola T720 – T720 operates as a modem so accepts Hayes AT command set. AT+CMGS – Send text message AT+CMGR – Receive text message – T720 did not support direct SMS from PC. – Tried uploading message to SIM card and send SMS for memory location. – Method proved to be unsuccessful due to insufficient documentation.
Hardware Cell Phone – Nokia 6190 – 6190 supports direct SMS from PC – Requires specific drivers for communications but Nokia only supports Windows OS – Un-official drivers exist for operation with Linux called GNOKII – GNOKII allows full access to phone including storing information on memory and SMS
Configuration Software: – Install Redhat 9.0 text-based operating system. – Compile GNOKII drivers. – Configure GNOKII to operate with Nokia 6190 with a dau9p cable on Serial port (ttys0).
Prelim.Testing Send commands to phone through PC link – Failed – Communication timed out. – Further configurations led to very slow communications (approximately 5 minutes) and errors in data. – Problem with embedded computer. Too slow? BIOS not configured correctly? Tried again using Dell Laptop – Success! – Full access to phone’s functionality. Solution: Develop with Laptop and export to Compu- Lab after completion.
GNOKII Testing GNOKII commands to send SMS: bash-2.05b# echo "Testing this method"|gnokii --sendsms GNOKII Version Send succeeded! GNOKII commands to receive SMS: bash-2.05b# gnokii --getsms SM 1 GNOKII Version Inbox Message (unread) Date/time: 06/04/ :09: Sender: Msg Center: Text: Hello mr phone guy!
Perl Simple script writing language – Script – sequence of commands that the user frequently uses Handle low-level tasks better than C (i.e. memory allocation)
Flow Chart Cell Phone SMS? Done /inbox/new Application /outbox/new Same Cell Phone /outbox/fail /outbox/sent checkSMS.pl OK? sendSMS.pl NO YES Store & Delete Sensor Tripped
Description of Parts checkSMS.pl – Checks cell phone for any messages in SIM – If there is, save message and delete it from SIM Do not want any old messages on the phone – Send command to Application – Adds message to a history file
Flow Chart Cell Phone SMS? Done /inbox/new Application /outbox/new Same Cell Phone /outbox/fail /outbox/sent checkSMS.pl OK? sendSMS.pl NO YES Store & Delete Sensor Tripped
Description of Parts (con ’ t) Application: Sensor board – Inputs Text command Sensor warning – Outputs Prepared SMS response message for transmission
Flow Chart Cell Phone SMS? Done /inbox/new Application /outbox/new Same Cell Phone /outbox/fail /outbox/sent checkSMS.pl OK? sendSMS.pl NO YES Store & Delete Sensor Tripped
Description of Parts (con ’ t) sendSMS.pl – Takes response SMS message and transmits – Adds message to a history file – If there is an error, give up and add message to failed history file
Flow Chart Cell Phone SMS? Done /inbox/new Application /outbox/new Same Cell Phone /outbox/fail /outbox/sent checkSMS.pl OK? sendSMS.pl NO YES Store & Delete Sensor Tripped
A little Perl code bash-2.05b# gnokii --getsms SM 1 GNOKII Version Inbox Message (unread) Date/time: 06/04/ :09: Sender: Msg Center: Text: Hello mr phone guy! my $reply = `/usr/local/bin/gnokii --getsms SM 1`; chomp($reply); if ($reply ne "SMS location SM 1 empty." && $reply ne "") { my $txtmsg = pop($lines); = split "\n",$reply; my $sender=""; my $tmp=""; foreach { if (/Sender:/) { = split (" ",$_); chomp($sender); $sender =~ s/\+//g; } gnokii’s code for reading SMS Gnokkii’s command output searches and stores sender’s number stores text message
A little more Perl code my $in = "/var/wrathc/inbox/new.txt"; open SMSNEW, ">>$in" || die "ERROR: $_"; print SMSNEW "$sender\n$txtmsg\n\n"; close SMSNEW; stores SMS into file
Cron Continuously running program on Unix Used to schedule when specific commands are executed We will use this to periodically call checkSMS.pl More research needs to be performed
Future Goals Finish Perl automation script for transmitting and receiving SMS. (Dave & Milap) Develop code for application stage. (Kartik) Continue researching methods to interface with sensor board. (Sam) User Authentication (Kartik & Sam) Export to Compu-Lab board.
Timeline 4/15 – Finalize design for sensor board. Continue working on Perl SMS scripts and application scripts. 4/22 – Finish Perl SMS scripts. Continue working on application scripts and user authentication methods. 4/29 – Finish all coding. Preliminary testing of completed project. Final: Demo completed design project.
Team Member Responsibilities Sam Bhoot – Hardware configuration, GNOKII development Milap Dalal – Perl coding Kartik Natarajan – Hardware configuration, AT command set research. David Yee – Perl coding