SIM900A GSM/GPRS Module
SIM900A GSM/GPRS Module
The SIM900A GSM/GPRS Module is a compact, quad-band cellular module that enables wireless communication capabilities for various IoT applications. This module is based on the popular SIM900A chipset, which provides a robust and reliable platform for machine-to-machine (M2M) and mobile Internet of Things (IoT) communications.
| The SIM900A GSM/GPRS Module is designed to provide wireless communication capabilities for IoT devices, allowing them to connect to the internet and transmit data using GSM/GPRS networks. The module can operate in various modes, including |
Enables data transmission and reception over GPRS networks.
Supports voice calls and SMS messaging.
Facilitates fax transmission and reception.
850/900/1800/1900 MHz
Up to 85.6 kbps
1.5A (peak), 3mA (idle)
-40C to +85C
3.2V to 4.8V
24mm x 24mm x 3mm
| The SIM900A GSM/GPRS Module is suitable for a wide range of IoT applications, including |
Remote monitoring and data transmission for industrial automation, smart grids, and environmental monitoring.
| M2M Communications | Wireless communication for machine-to-machine applications, such as fleet management and industrial control systems. |
Enables wireless connectivity for wearable devices, such as smartwatches and fitness trackers.
Provides wireless connectivity for smart home devices, such as security systems and home automation systems.
SIM900A GSM/GPRS Module DocumentationOverviewThe SIM900A is a GSM/GPRS module that allows devices to communicate over cellular networks. It is a widely used module in IoT projects, providing a simple and cost-effective way to enable cellular connectivity. This documentation provides an overview of the SIM900A module, its features, and code examples demonstrating its usage in various contexts.FeaturesQuad-band GSM/GPRS support
SMS, Fax, and Data transmission capabilities
Support for TCP/IP and UDP protocols
Integrated antenna and SIM card holder
Power supply: 5V to 24V
Communication interfaces: UART, SPI, and I2CPinoutThe SIM900A module has a total of 24 pins, with the following key pins:VCC (5V to 24V)
GND
RX (UART input)
TX (UART output)
RST (Reset pin)
PWR (Power on/off pin)
SIM card holderCode Examples### Example 1: Sending an SMS using the SIM900A module with an Arduino boardThis example demonstrates how to send an SMS using the SIM900A module with an Arduino board.```cpp
#include <SoftwareSerial.h>#define SIM900A_RX 10
#define SIM900A_TX 11SoftwareSerial sim900a(SIM900A_RX, SIM900A_TX);void setup() {
Serial.begin(9600);
sim900a.begin(9600);// Wait for the SIM900A module to boot up
delay(3000);// Check if the SIM900A module is ready
while (!sim900a.available()) {
delay(100);
}// Send the SMS
sendSMS("1234567890", "Hello, this is an SMS sent from the SIM900A module!");
}void loop() {}void sendSMS(const char number, const char message) {
sim900a.print("AT+CMGF=1
");
delay(100);
sim900a.print("AT+CMGS=""");
sim900a.print(number);
sim900a.println("""");
delay(100);
sim900a.print(message);
delay(100);
sim900a.println((char)26);
delay(100);
}
```### Example 2: Establishing a GPRS connection using the SIM900A module with a Raspberry PiThis example demonstrates how to establish a GPRS connection using the SIM900A module with a Raspberry Pi.```python
import serial
import time# Initialize the serial connection
sim900a = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)# Wait for the SIM900A module to boot up
time.sleep(3)# Check if the SIM900A module is ready
while not sim900a.inWaiting():
time.sleep(0.1)# Set the APN and establish a GPRS connection
sim900a.write(b'AT+SAPBR=3,1,"CONTYPE","GPRS"
')
time.sleep(1)
sim900a.write(b'AT+SAPBR=3,1,"APN","internet"
')
time.sleep(1)
sim900a.write(b'AT+SAPBR=1,1
')
time.sleep(1)# Check if the GPRS connection is established
while not sim900a.inWaiting():
time.sleep(0.1)print("GPRS connection established!")
```Note: In this example, you need to replace `/dev/ttyUSB0` with the actual serial port of your SIM900A module.### Example 3: Receiving data using the SIM900A module with a microcontroller (PIC18F452)This example demonstrates how to receive data using the SIM900A module with a microcontroller (PIC18F452).```c
#include <p18f452.h>#define SIM900A_RX RB0
#define SIM900A_TX RB1void main() {
TRISB = 0x01; // Set RB0 as input (RX) and RB1 as output (TX)while (1) {
// Wait for data to be received
while (!RCIF) {
continue;
}// Read the received data
char data = RCREG;// Process the received data
// ...// Send an acknowledgement
TXREG = 'A';
while (!TRMT) {
continue;
}
}
}
```Note: In this example, you need to configure the PIC18F452 microcontroller to communicate with the SIM900A module using the UART protocol.