3G/GSM/GPRS/GPS TTL MODEM-SIM5360E
RhydoLABZ’s SIM5360E 3G/GSM/GPRS TTL UART Modem series is Dual-Band UMTS/HSDPA/HSUPA/HSPA+ and Quad-Band GSM/GPRS/EDGE module solution in a SMT type which supports HSPA+ up to 14.4Mbps for downlink data transfer.supports 3G network and combines GPS technology for satellite navigation. Besides, it also supports A-GPS that available for indoor localization.and it also supports for eCALL.The module is controlled by AT command via UART and supports 3.3V and 5V logical level. The Modem is coming with selectable interfacing voltage,which allows you to connect 5V & 3V3 microcontroller directly without any level conversion chips. The baud rate is configurable from 9600-115200 through AT command. The GSM/GPRS Modem is having internal TCP/IP stack to enable you to connect with internet via GPRS. It is suitable for SMS, Voice as well as DATA transfer application in M2M interface.
This modem can operate at both TTL 3.3V and 5V Logic Level hence making it suitable for controllers at 5V logic level (PIC, AVR) as well as for 3.3V controllers like ARM based controllers and while interfacing depending upon the controller’s logic level we should give appropriate voltage to the V_interface pin of the modem like 3.3V or 5V(should be in the range 2.5-6V) and power the modem with supply range(5V-12V).
FEATURES
- Quad-band GSM/GPRS/EDGE 850/900/1800/1900MHz.
- Dual-Band UMTS//HSPA+ 900/2100MHz.
- HSPA+: Max. 14.4Mbps(DL), Max. 5.76Mbps(UL).
- WCDMA: Max. 384Kbps(DL), Max. 384Kbps(UL).
- GPRS multi-slot class 12, Max. 85.6Kbps(DL), Max. 85.6Kbps(UL).
- EDGE multi-slot class 12, Max. 236.8Kbps(DL), Max. 236.8Kbps(UL).
- Controlled by AT Commands.
- Supports Real Time Clock.
- Supply voltage range 5V ~ 12V.
- Supports for eCALL.
- Integrated GPS/CNSS and supports A-GPS.
- Supports 3.0V to 5.0V logic level.
- Low power consumption, 1mA in sleep mode.
- Supports GPS NMEA protocol.
- Standard Micro SIM Card.
- Firmware update via USB.
- Normal operation temperature: -30°C to +80°C.
GSM/GPRS SPECIFICATION
PIN DIAGRAM
PIN DETAILS
K4 RMC CONNECTOR
K5 RMC CONNECTOR
K9 RMC CONNECTOR
K10
K11
K12
K2,K3,K6,K8,K13
LAYOUT
GETTING STARTED
- Insert an unlocked Micro Sim card to SIM card holder. 8 pin holder for Micro SIM card is provided on the modem.
- Connect GSM Antenna to the modem.
- Connect serial cable to the modem.
- Give power supply in between 4.5V to 12V through the power jack provided.
- Default factory Baud rate is 115200.
- When the modem is successfully powered-up, the Red LED on the modem (PWR) will be ON, the STS LED(GREEN) will light after 1-2 seconds and the NET LED(BLUE) will blink every second. After the Modem registers in the network (takes between 10-60 seconds), this LED will blink in step of 3 seconds.
LED STATUS DESCRIPTION
The Network LED indicates the various status of GSM module eg. Power on, Network registration & GPRS connectivity. When the modem is powered up, this NETWORK LED will be on. After the Modem registers in the network (takes between 10-60 seconds), this LED will blink every seconds. At this stage you can start using Modem for your application,showing that modem is registered with the network
How to Test?
Check your GSM/GPRS Modem Using DOCKLIGHT in PC:
- you need RS232 – TTL (5V) Converter or you can use FTDI Basic Breakout – 5V for making a connection between 3G/GSM/GPRS/GPS TTL UART MODEM- SIM5360E and PC.
- Before making connection with the system you should give external supply to the modem (4.5V-12V DC) and make the ground of this supply common with GND of modem and the converter.This should be done because we cannot power the modem from the USB supply as normal operation of the modem requires a minimum current of 590 mA so its better to use a power source with 1-2A current rating.
- Firstly install a virtual serial port loading on the computer FT232RL drivers. Once the drivers are installed, connect the modem, with USB/mini-USB cable, and wait while it is found and that mean drivers are actually installed.
- The connection details and interfacing requirements of rhydoLABZ 3G/GSM/GPRS/GPS TTL UART MODEM- SIM5360E with rhydoLABZ FTDI Basic Breakout-5V is as shown below
-
- Connections should be like below :
- TX(modem)-RX(converter TTL)
- RX(modem)-TX(converter TTL)
- V-INT(Modem)-PWR(converter)
- Make ground (GND-GND)common.
- Many embedded devices communicate over the serial port connection as most modern computers lack a hardware serial port;USB adaptors are used to convert USB data to standard serial port data and vice versa.
- Once you are done with all these procedures, choose the appropriate COM port that got assigned to the USB in your system by looking into the device manager like as shown below.
- select the serial software Hyper Terminal and Enter the name(any).
- Select the appropriate COM port(Check it on device manager).Set the baudrate which should be115200(default), parity none ,data bits 8 and stop bit 1 and flow control can also be kept as none.
- Now let’s try to check our Modem with AT commands for that we need to send following AT commands to Modem as shown below.
- AT command (followed by enter) after “OK” response, this signifies that our Modem is working properly.
- ATE0 command (followed by enter) is being sent to stop the echo.
- AT+CREG? (followed by enter) is being used to check whether the SIM got registered or not
Sending a text message from PC using AT Commands and hyper terminal
Now next let’s send a message using rhydolabz 3G/GSM/GPRS/GPS TTL UART MODEM- SIM5360E. For sending message we need to first send related AT commands to initialize the modem to send a message.
- The AT+CMGF=1 command (followed by enter) sets the GSM Modem in SMS text mode.
- AT+CMGS=<number>followed by enter gives<CR><write message><Ctrl+z>
<CR> represents the carriage return character.
<Ctrl+z>When you finish entering the SMS message body, you have to enter the <Ctrl+z> character to mark the end of the SMS message body.
+CMGS: x and OK; where x = “current number of sent SMS messages”
Receiving a text message in Modem and displaying in hyper terminal.
Now let’s receive a message using rhydolabz 3G/GSM/GPRS/GPS TTL SIM5360E.For receiving message we need to first send related AT commands to initialize the modem.
- AT+CNMI=2,1,0,0,0 command (followed by enter) set the modem to indicate received messages with +CMTI response indicates that new message has been received and shows location number of last received message in above figure it is shown by number ’9′.
- AT+CMGR=<index> :<index>integer type; value in the range of location numbers supported by the associated memory and gives +CMGR response which includes status i.e “REC UNREAD” Received unread messages, Sender’s number,date, time and received message.
Receiving GPS location from Modem using AT Commands
- Connections should be like below :
- AT+CGPSNMEA is used to configure NMEA output sentences .AT+CGPSNMEA=511(followed by enter) gives “OK” response .511 will allow all NMEA data output from Debug UART.
- AT+CGPSHOT is used to hot start GPS session.AT+CGPSHOT(followed by enter) gives “OK” response.
- AT+CGPSINFOCFG =10,31 (followed by enter) gives “OK” response.10 second is used to report NMEA sentence. 31 is used to set the whole NMEA sentence bit(s).
Testing of SD card
- AT+FSCD=C: command is used to select the C drive(By default the module is in C drive).
- AT+FSCD=D: command to select D drive if SD card is not inserted the command will respond EROOR
- AT+FSMEM this command shows the total size and used size of internal memory and SD card (if SD card is not inserted it shows only C drive).
Test with PIC16F877A
- Sample code shows how we can send a message using PIC interfacing with modem.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
/******************************************************************************* * Microcontroller -- PIC 16 F877 - 40-pin - 8-bit * * Clock Frequency is 20 MHz -- Period in 200 Nano Seconds * * Gsm communications are done using USART - BaudRate 9600 * * This program sends an SMS to a prefixed number when reseted. * *******************************************************************************/ #include<pic.h> /******************************************************************************* * FUNCTION DEFINITIONS *******************************************************************************/ void Delay_Ms(int ms); void Uart_Initial_Tx_Rx(unsigned long baud); void Uart_Data(unsigned char data); void Send(const char *ptr); void Send_Message(); /******************************************************************************** * CODE AREA ********************************************************************************/ void main() { Uart_Initial_Tx_Rx(115200); Send_Message(); while(1); } /******************************************************************************* * Function : Uart_Initial_Tx_Rx * Description : Usart Initialization function - Baud Rate 9600 * Parameters : baud, for selecting baurd rate *******************************************************************************/ void Uart_Initial_Tx_Rx(unsigned long baud) { TRISC6 = 0; /* Set Tx pin Output and Rx pin Input */ TXEN=1; /* Transmit Enabled */ BRGH=1; /* BaudRate = 9600 */ SYNC=0; /* Asynchronous Mode */ SPEN=1; /* Enable Serial Port */ if(baud == 9600 ) SPBRG = 129; else if (baud == 19200) SPBRG = 64; else if (baud == 38400) SPBRG = 32; else if (baud == 57600) SPBRG = 21; else if (baud == 115200) SPBRG = 10; } /******************************************************************************** * Function : Uart_Data * Description : Function to send data through the UART * Parameters : data, contains the data to be transmitted and is written to * the TXREG register ********************************************************************************/ void Uart_Data(unsigned char data) { TXREG=data; while(TRMT!=1); } /******************************************************************************** * Function : Send * Description : Function to send a string data thru USART * Parameters : ptr, contains the byte to be sent ********************************************************************************/ void Send(const char *ptr) { while(*ptr!='') { TXREG=*ptr; while(TRMT!=1); ptr++; } } /******************************************************************************** * Function : Delay_Ms * Description : Function for milliseconds at 20mhz * Parameters : ms, variable for delay ********************************************************************************/ void Delay_Ms(int ms) { int i,count; for(i=1;i<=ms;i++) { count=498; while(count!=1) { count--; } } } /******************************************************************************** * Function : Send_Message * Description : Function to send commands for sending sms * Parameters : None ********************************************************************************/ void Send_Message() { Send("AT\r\n"); /* Transmit AT to the module */ Delay_Ms(500); /* 500ms delay */ Send("ATE0\r\n"); /* Echo Off */ Delay_Ms(500); /* 500ms delay */ Send("AT+CMGF=1\r\n"); /* Switch to text mode */ Delay_Ms(500); /* 500ms delay */ Send("AT+CNMI=2,1,0,0,0\r\n"); /* Msg:settings command */ Delay_Ms(500); /* 500ms delay */ Send("AT+CMGS=\"9874563210\"\r\n"); /* Send SMS to a cell number */ Delay_Ms(500); /* 500ms delay */ /* Input SMS Data */ Send("\rTest SMS from rhydoLABZ.com-Cochin\r\n"); Uart_Data(0x1A); /* Ctrl-Z indicates end of SMS */ Delay_Ms(500); /* 500ms delay */ } /******************************** END ******************************************/ |
Test with Arduino
- Sample code shows how we can send a message using arduino interfacing with modem.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
void setup() { Serial.begin(115200); // set the baud rate Serial.print("AT\r\n"); // Transmit AT to the module delay(500); // wait for a 500ms delay Serial.print("ATE0\r\n"); // Echo Off delay(500); // wait for a 500ms delay Serial.print("AT+CMGF=1\r\n"); // Switch to text mode delay(500); // wait for a 500ms delay Serial.print("AT+CNMI=2,1,0,0,0\r\n"); // Msg:settings command delay(500); // wait for a 500ms delay } void loop() { Serial.print("AT+CMGS=\"919xxxxxxxxx\"\r\n"); // Send SMS to a cell number delay(500); // wait for a 500ms delay Serial.print("Test SMS "); delay(500); Serial.write(0x1A); // Ctrl-Z indicates end of SMS delay(500); // wait for a 500ms delay while(1); } |
NOTE: If you have any problem while using normal UART pins in Arduino boards use software serial.
- Sample code for sending SMS using software serial pins in Arduino.In this code pin 2 is Rx and 3 is TX.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); // RX, TX void setup() { mySerial.begin(115200); // set the baud rate mySerial.print("AT\r\n"); // Transmit AT to the module delay(500); // wait for a 500ms delay mySerial.print("ATE0\r\n"); // Echo Off delay(500); // wait for a 500ms delay mySerial.print("AT+CMGF=1\r\n"); // Switch to text mode delay(500); // wait for a 500ms delay mySerial.print("AT+CNMI=2,1,0,0,0\r\n"); // Msg:settings command delay(500); // wait for a 500ms delay } void loop() { mySerial.print("AT+CMGS=\"9349160503\"\r\n"); // Send SMS to a cell number delay(500); // wait for a 500ms delay mySerial.print("Test MSG"); delay(500); mySerial.write(0X1A); // Ctrl-Z indicates end of SMS delay(500); // wait for a 500ms delay while(1); } |
RESOURCES
HOW TO BUY
- Click here to buy FTDI Basic Breakout – 5V (rhydoLABZ)
- Click here to buy SIM5360E 3G/GSM/GPRS/GPS UART Modem(rhydoLABZ)
Leave a Reply
You must be logged in to post a comment.