GSM SIM800L и Arduino: Подключение и Проекты
SIM800L — GSM/GPRS модуль. SMS, звонки, интернет. AT-команды. Питание 3.7–4.2 В.
Характеристики
- GSM/GPRS: 850/900/1800/1900 МГц
- Питание: 3.4–4.4 В (рекомендовано Li-Ion 3.7 В)
- Ток: до 2 А (пики)
- UART: 9600 бод
- GPIO, PWM, GPS (в некоторых)
Подключение
- VCC → 3.7–4.2 В (отдельный источник!)
- GND → GND
- TX → Arduino RX (7)
- RX → Arduino TX (8)
- RST → опционально
Питание: LM2596 + 1000 мкФ или Li-Ion.
AT-команды
AT— проверкаAT+CMGF=1— текст SMSAT+CMGS="+79..."— отправкаATD+79...;— звонок
Код: Отправка SMS
#include <SoftwareSerial.h>
SoftwareSerial sim(7,8);
void setup() {
sim.begin(9600);
Serial.begin(9600);
delay(1000);
sim.println("AT+CMGF=1");
delay(500);
sim.println("AT+CMGS=\"+79XXXXXXXXX\"");
delay(500);
sim.print("Hello from Arduino!");
delay(500);
sim.write(26); // Ctrl+Z
}
void loop() {}
Включает текстовый режим SMS (AT+CMGF=1).
Отправляет SMS на указанный номер (AT+CMGS=»номер»).
Передаёт текст сообщения и завершает ввод Ctrl+Z (sim.write(26)).
loop() пустой, так как сообщение отправляется один раз при старте.
Проекты
- SMS реле: вкл/выкл по SMS
- Трекер: GPS + GPRS на сервер
- Охрана: датчик → SMS/звонок
- IoT шлюз: HTTP POST
- Удалённый термостат: DHT22 + SMS
Советы
- Питание: отдельный блок, 2 А
- Антенна: внешняя для сигнала
- SIM: без PIN
- Скорость: 9600–115200
Заключение
SIM800L — надёжный GSM для SMS, звонков, IoT. Начните с SMS, добавьте реле, GPS. Работает везде с покрытием!
FAQ — GSM SIM800L и Arduino
Что такое GSM модуль SIM800L и зачем он нужен?
SIM800L — это GSM/GPRS модуль, который позволяет Arduino отправлять и получать SMS, совершать звонки и подключаться к интернету через мобильную сеть. Он используется в IoT-проектах, системах охраны и удалённого управления.
Какое питание нужно для SIM800L?
SIM800L питается от 3.7–4.2 В, при этом пиковый ток может достигать 2 А. Рекомендуется использовать литий-ионный аккумулятор или DC-DC понижающий преобразователь типа LM2596 с ёмкостью не менее 1000 мкФ для сглаживания просадок напряжения.
Можно ли подключить SIM800L напрямую к Arduino?
Напрямую — нельзя. Питание 5 В с Arduino может повредить модуль. Для связи по UART можно использовать SoftwareSerial (например, пины 7 и 8), но питание должно подаваться от отдельного источника 3.7–4.2 В.
Как отправить SMS с помощью SIM800L?
В коде Arduino нужно активировать текстовый режим командой AT+CMGF=1, затем использовать AT+CMGS="+79XXXXXXXXX" для ввода номера получателя и отправить текст. Завершается ввод символом Ctrl+Z (код 26). Пример кода приведён в статье.
Почему SIM800L не отвечает на команды?
Чаще всего проблема в питании — модуль не запускается при недостаточном токе. Проверьте, что питание стабильно 3.7–4.2 В, антенна подключена, SIM-карта вставлена и без PIN-кода. Также убедитесь, что RX и TX не перепутаны местами.
Можно ли использовать SIM800L для передачи данных по интернету?
Да, SIM800L поддерживает GPRS и может отправлять данные на сервер через HTTP-запросы. Это удобно для IoT-проектов, трекеров и удалённого мониторинга. Однако скорость невысокая — около 10–40 Кбит/с.
Можно ли управлять реле или другими устройствами через SMS?
Да, Arduino может анализировать входящие SMS и выполнять команды: включать реле, свет, насосы и т.п. Это популярная схема “SMS-реле”, часто используемая в системах умного дома или охраны.