I am using SIM 900 modem to enable GSM connection wirh my product.
Micro-controller Communicates with SIM900 modem through a SET AT commands over UART.
My product is time critical and i need to have updated time even after power failure.
To achieve this I am using inbuilt RTC of SIM900 modem.
After each power ON I send following sequence to modem:
- AT+CFUN=0
- AT+CFUN=1
After this I am supposed to get +PSUTTZ string from modem which has timestamp in it and it indicated that modem has synchronized its time with network.After this after this I send AT+CCLK? command periodically to modem to read its RTC.
The problem is sometimes I does receive +PSUTTZ string from modem with some Service providers. With BSNL(in India) service provider I never able to get this string.
Anyone has Idea that how to make sure that +PSUTTZ will always receive without fail?
(May be some different AT commands or something?)
Best Answer
One way to get current time is by sending a message to itself. Below is an example:
AT+CMGF=1
AT+CSCS="GSM"
AT+CMGS="0123456789" your phone number
THIS IS TEST test message
...
...
+CMTI: "SM",1 recevied a message at index:1
...
...
AT+CMGR=1
+CMGR: "REC UNREAD","0123456789","","14/11/15,15:03:13+22" got current time
THIS IS TEST
Sync your SIM900 with current time by
AT+CCLK="14/11/15,15:06:45+22"
For commands refer datasheet.