sms controler attiny2313 microcontrollers

Upload: mihai-paun

Post on 14-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Sms Controler ATtiny2313 Microcontrollers

    1/6

    Introduc

    tion

    With this

    circuit we

    can control

    up to 8

    devices (4

    devices in

    our

    example

    project), by

    sending aspecific

    SMS

    message

    with any mobile phone. It's very useful in the case that, at the place we have the devices, we

    have not a wired (fixed) telephone line. If you have an old ericsson mobile phone and you are

    not using it, its the time to build some useful with that. The controlling that we can do to the

    devices, it is ON , OFF or Reset.

    Usage of this circuit

    With this circuit you can switch-ON , OFF or Restart some Linux servers, ADSL

    modems, Printers, Door with electric lock, Garage door, House lights, Water

    pumps, electric sunshade, Block the engine of your car or your

    motorcycle, at the steal case and much more. The purpose of this circuit is to make the huma

    life better and easier.

    The circuit

    The hardware of the circuit is very simple, because the communication port of ericsson mobi

    works at the 5 volts with AT commands ( like the modem commands, but for mobile phones)The firmware of the AT90S2313 (or ATtiny2313) is very complicated because, we have to

    convert the 'septets' of the phone into 'octets' because the AVR needs bytes with 8 bits length

    ( The 'septet' is 1 byte with 7 bits length and 'octet' is 1 byte with 8 bits length). All this proc

    is necessary for decoding the text message from the SMS.

    This circuit is working on both AT90S2313 and ATtiny2313 microcontrollers. In case of ATtiny2313 y

    have to select "External Crystal Oscillator" instead of default "internal RC oscillator" fromthe "Fuses" tab of your programmer's software. You have to uncheck the "Divide clock by 8 internally

  • 7/27/2019 Sms Controler ATtiny2313 Microcontrollers

    2/6

    When you finish the circuit connect it to the mobile phone, turn on the phone and then poweron the circuit, not before . The AVR will try to read the message from the 1st memory

    location of the phone, for that I suggest you to delete all SMS messages from the phone befo

    you connect it to the circuit. If there is no message to the 1st memory location, the AVR

    is trying again until you sent any.

    The format of the message must be only '1' or '0'. '1' to enable, or '0' to disable the device. Th

    message must have only 8 numbers, '1' or '0' , alone or mixed .

    Example: if you send the message 11000100 then you enable, starting from the right, the

    devices 3,7,8 ('1') and disabling the devices 1,2,4,5,6 ('0') .

    If you want to send a new message and you don't want to change some device, must send the

    same number as the old message.

    Example: If you want to enable only the 5th device, you must send a new message like

    11010100 to keep the other devices as there are (we send the same message as the old (

    11000100 ) and we change only the 5th bit from '0' to '1' to enable the device ).

  • 7/27/2019 Sms Controler ATtiny2313 Microcontrollers

    3/6

  • 7/27/2019 Sms Controler ATtiny2313 Microcontrollers

    4/6

    Advice !

    If you want to protect your devices from other person's messages, modify the source code, to

    read the AVR, your telephone number before execute any message. In the source code I have

    some part of code, to read the telephone number, the service center number, the date and the

    time of the received message.

    The project its based on the Greek mobile phone network of and i don't know

    if the SMS message in other country, have the same syntax ( I mean the form of the septets th

    the GSM receiving from the GSM network ).

    After the GSM receive the message, the AVR execute it, delete it from the phone memory, to

    release the 1st memory location and starts again the searching for a new incoming SMS

    message.

    Service mode

    If you connect the pin7 (PD3) of the AVR to MAX 232 chip and this to computer, you will s

    at the terminal window software, all the data that the GSM sends to the AVR (Sender's numb

    service center number, date, time and the AT commands ) . Setup the COM port to 19200 bp8n1.

    Troubleshoot

    I have test it only with Greek sim cards and T10s mobile phone. I don't know if this

    circuit works fine to other cell phone providers in other countries or other mobile phone

    models. You can build the optional diagnostic circuit that is in the dot frame of the schematic

    and to connect the circuit with PC via RS232 port.

    When you power-on the circuit and the phone, the AVR will send the following commands to

    the mobile phone:

    1) AT+CPMS="ME" (Select the phone memory "ME")

    and

    2) AT+CMGR=1 (read the received message from memory position 1)

    If the mobile phone will response with:

    AT+CMGR=1[CR][CR][LF] (this message is sent when there is no message in the phonememory)

    +CMS ERROR: 500[CR][LF]

    On this case the AVR will send again the commands 1 & 2

    If the mobile phone will response with:

  • 7/27/2019 Sms Controler ATtiny2313 Microcontrollers

    5/6

    AT+CMGR=1[CR][CR][LF] (this message is sent when a new message arrives in the phone

    memory)

    +CMGR: 0,,26[CR][LF]

    0791039624910000240C91xxxxxxxxxxxx00003001205151302108B1180C068BC162[CR][

    ]

    OK[CR][LF]

    (xxxxxxxxxxxx is the phone number of the sender)

    the AVR will decode the septets message to octets, execute it (arm or disarm the relays) andsend the command

    AT+CMGD=1 (delete the received message from memory position 1)

    to delete the message from the phone memory.

    You can see the voltage of the PortB with any voltmeter if you have +5 or 0v voltage, to chec

    if the command you send, for example"11001010", is executed.

    History of SMS remote control (SMSrc):

    03.12.2006

    V2.2

    Plug 'n' play function: Some times the AVR stopped to communicate with T10s. Fix

    24.08.2006

    V2.1

    Reset command: Added a reset command. By sending the letter "r" or "R" , the AVRwill disarm for 2 seconds the specific relay and then it will arm it again, until rext

    received SMS. It is perfect to reset ADSL modems, WiFi Access points, linux servers

    e.t.c.

    Transmition bytes to PC: The transmission pin has changed. Now the pin7 (PD3) issending the data to PC, to see if the circuit works properly. The serial data

    communication has been changed to 19200bps 8 none 1 .

    Problem with unrecognized characters is fixed. Now if you send SMS to T10s withany different character than "1" , "0", "r" and "R" , the AVR it will ignore it. At the

    previous versions (up to V2.0) when received any unknown character, the specific rela

    was went to state.

    Send response message: is removed because the cell phone provider informsyou for free, if SMS was delivered (this service in lot of countries is free).

    The command method has not change it, you must send only up to 8 numbers '1' , '0' , 'r' and

    . For example 110r101R.

    06.07.2004

  • 7/27/2019 Sms Controler ATtiny2313 Microcontrollers

    6/6

    V2.0 is now available. I have re-write the code again from the beginning and I add 2 more

    features

    Plug 'n' play: now you can connect the SMSRC (SMS Remote Control) circuit withT10s mobile phone, power them ON both and then send any command '1' or '0' from

    some other mobile phone to the T10s of the circuit. The AVR will read the message an

    execute it and change the relay state.

    Send response message: when you send some command message from some othermobile phone (like nokia, siemens etc) to ericsson T10s like "11001010", the AVR wi

    execute the command and then it will response to the sender's mobile phone, if comma

    is executed.

    The new code is more stable than the old one. The command method has not change it, you

    must send only 8 numbers '1' or '0' for example 11001010 .

    23.10.2002

    V1.0 is now available. You can control up to 8 devices by sending commands '1' or '0' .

    Example: 11011010