Read & Send SMS from a Mobile using PIC Microcontroller

This forum is about writing software to embedded systems and microcontrollers.

Read & Send SMS from a Mobile using PIC Microcontroller

Postby Chakkarapani on Wed Oct 03, 2007 1:47 pm

Hi, Please help me out if u find any solution. . .

I want to read an SMS i received in the mobile phone using the PIC microcontroller.
I found many article stating that using Fbus we can send and receive SMS with the help of AT commands. Also i found that Septet has to be converted in to octet.
My problem is how i will convert it and interpret it. Is it i have to manipulate with the program what i write? or anyother logic is behind that...
My ultimate aim in my project is to enhance mobility, so i am not using any PC here.
whatever the site i visited, it is providing interface through hyperterminal for using AT commands...
how can i use AT commands through microcontroller?
Please provide me some solutions...
Chakkarapani
 
Posts: 3
Joined: Wed Oct 03, 2007 10:36 am

AT commands and microcontroller

Postby Tomi Engdahl on Fri Oct 19, 2007 7:00 am

Sending AT commands and receiving the reply from them using microcontroller is basically the same as implementing any serial port communications with a microcontroller.


Here are some pointers to more information:

AT commands from microcontroller to a mobile phone DISCUSSION
http://discussion.forum.nokia.com/forum ... php?t=9389

SMS Data Dissected
how to interpret TPU information read from a GSM cellphone
http://www.riccibitti.com/tinyplanet/tiny_sidebar.htm

"An SMS message, according to ETSI specification, can be up to 140 bytes long (octets in ETSI terminology). The usual GSM alphabet requires only 7 bits per character (a septet), allowing for the packing of up to 140 * 8 / 7 = 160 characters."


Tiny Planet: a planet-wide, wireless I/O port
http://www.riccibitti.com/tinyplanet/tiny_article.htm

"Control takes place by means of SMS (Short text Messages Service). When the mobile receives a predefined text message, like "Activate burglar alarm" or "Start backup pump", the circuit automatically recognizes it as a command, and switches the output accordingly. Besides switching the port on or off, the user can pulse it for a short period (e.g. "Reboot remote server")."

Image

"To start with, similar to modems, GSM cellular phones can accept AT commands (more precisely an extension of the AT command set)."

"But the real surprise was to discover that the rules [1] [2] that standardize GSM cell phones (including the AT modem command set extension) derive from a European Institute (ETSI, European Telecommunication Institute), which published them on-line!"

First, tell the phone which memory to use for successive commands:

AT+CPMS="ME","ME" +CPMS: 7,15,7,15,7,15
OK

Next, a message can be read from that memory specifying its number:

AT+CMGR=4
+CMGR: 1,,27 0791934329005000040C9193433728501400001060314104350809D02A735A043DAB54
OK

This is the fourth message, 1= received and read, 27 bytes long text, in PDU (Protocol Description Unit) format.
The PDU format is quite complex, as it contains many subfields packed together using different encodings.

The next command frees precious mobile memory deleting the seventh message:

AT+CMGD=7
OK

The last step is to send an SMS message.
a simple command is all that is required to resend the message from memory:

AT+CMSS=1
+CMSS :96
OK

Besides being simple for the microcontroller, this technique is simple for the user too.
I like to call it setup by example: to setup the system which text to send, which phone numbers to use, and which command to recognise, just send them once manually (as usual, using the mobile itself), then press the CONFIGURATION button to make the machine learn them automatically.

Circuit diagram from article:

Image
Tomi Engdahl
Site Admin
 
Posts: 1839
Joined: Mon Oct 20, 2003 6:15 pm
Location: Espoo, Finland


Return to Embedded Software

Who is online

Users browsing this forum: No registered users and 6 guests

cron