SMS Box
What is it for?This device acts as interface between your microcontroller project and a GSM phone. It handles all modem data communication between the GSM phone and your micro-project. The best thing is that it decodes PDU into TEXT on the fly!
TechnicalThe SMS Box! handles SMS messages in pdu-mode so you don't need to worry about *many* things. You can talk to it over its «4-wire bus» and can be used for:
1. Receiving sms messages (PDU -> TEXT conversion!)
2. Sending sms messages (TEXT mode)
3. Dialling a telephone number
4. Hang-up a call
5. Query call status
6. Receive CLIP string
7. Report a RING to microcontroller project (interrupt your uC program)
8. Answer a call
9. Set phone's date and time – not implemented yet
10. Get phone's date and time – not implemented yet
11. Check prepaid credit balance
It's based on PIC16F877A microcontroller running on 16MHz at 5V. It has an onboard level converter for serial communication with the gsm phone because PIC's UART RX input pin has a Schmitt trigger triggering at 4,5 - 5V while the phone is sending only approx. 3V from it's TX pin. It also has a zener diode at TX pin so it doesn't kill the phone's network connection when talking to it. Firmware is 100% written in MPASM assembler.
Two jumpers in the schematics are for: baud-rate selection (9600bps or 19200bps) - Siemens phones mostly use 19200 while Ericssons use 9600bps, the other jumper is for enabling the RING with CLIP reporting to your microcontroller project (if you need to be notified when the gsm phone is ringing so that you can see who's calling).
The device has been developed and tested on Siemens M35 phone. Other Siemens phones require testing and should/must work. The same thing is for the Ericsson phones. The phones that can be used are ones that have «AT modem» inside, UART port and work on 19200 or 9600bps (almost all phones).
Picture doesn't need any explanation. SMS Box! is grey box in the middle.
Primitive commands (communicating with the box)Commands you can send to the SMS Box!:
([0] is representing a null-byte, all commands are case-sensitive ASCII characters)
For detailed explanation of commands and their return values and the rest of this paragraph, please see PDF file.Communication protocol, the 4-wire busNot so much thought has been given to this 4-wire synchronous bus.
Looking from the SMS Box!'s side, we have:
1. Data line – bidirectional (input - output)
2. Clock line – unidirectional (input - your microcontroller project is clocking-out/in the data from/to the SMS Box!)
3. IRQ line – unidirectional (input – this is interrupt for SMS Box!)
4. HEY line – unidirectional (output – this is where IRQ is generated to your microcontroller project)
All communication lines are pulled-up to Vcc with PIC16F877A's internal pull-up resistors, so, active line = low (GND).
SMS Box!'s 4-wire communication assembler routines (send and receive) are in PDF file as well.
Jumper selection
On SMS Box! you will find two jumpers:
1. Ring reporting selection (jumper in position=Off, jumper removed=On)
2. Baud rate selection (jumper in position=9600bps, jumper removed=19200bps)
Video : SMS Box sending a message from easyPIC3 board
Project files:
http://rapidshare.com/files/117440293/011.rar <- dead linknew reupload:
Filename: 011.rar
Size: 1.10 Mb
Date: 2008-07-17 05:13:08
4 mirrors this time
http://rapidshare.com/files/130246387/011.rar.htmlhttp://depositfiles.com/en/files/6615285http://w13.easy-share.com/1700929117.htmlhttp://www.filefactory.com/file/0961e5/n/011_rarpass: sonsivri
nice time