Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Подключение SIM800L к Arduino: работа с AT-командами через Serial

Компоненты и материалы

Компонент Количество Примечание
Arduino UNO 1
Модуль SIM800L (GPRS/GSM) 1 Требует 3.4–4.4V, пиковый ток до 2А
Диод 1N4007 (или 1N4001) 1 Падение напряжения с 5V Arduino до ~4.3V для питания SIM800L

Инструменты

О проекте

SIM800L — компактный и дешёвый модуль для GSM/GPRS связи. В отличие от старых телефонов, он полностью программируется AT-командами с Arduino. Главная сложность — питание: модуль чувствителен к перепадам и требует до 2А тока при передаче. Питание от 5V Arduino через стабилизатор 3.3V Uno **не подходит** (слабый ток). Лучшие варианты: Li-Ion аккумулятор 3.7V прямо на VCC, или DC-DC понижающий преобразователь (buck) на 4.2V 2А+. В данном проекте показан простой вариант с диодом 1N4007 от 5V Arduino — работает для тестов AT-команд, но **не гарантирует стабильную работу при звонках/ГПРС**.

Схема подключения

  1. Питание SIM800L: Arduino 5V -> анод диода 1N4007 -> катод -> VCC SIM800L. GND Arduino -> GND SIM800L (обязательно общая земля!).
  2. UART (Serial): Arduino D10 (SoftwareSerial RX) -> TX SIM800L (через делитель 1к/2к на 3.3V). Arduino D11 (SoftwareSerial TX) -> RX SIM800L (можно напрямую, модуль 5V-толерантен на входах, но лучше делитель).
  3. Сим-карта: вставьте в слот (направление указано на корпусе). Контакты вверх/вниз — см. фото.

Фото схемы и сборки в разделе Schematics / Custom parts.

Проверка работы

  1. Соберите схему, вставьте сим-карту, подключите Arduino к USB.
  2. Позвоните на номер сим-карты с другого телефона. Если слышен гудок — модуль зарегистрирован в сети.
  3. Загрузите скетч (ниже). Откройте **Serial Monitor**, скорость **9600**, режим **Both NL & CR** (или только NL).
  4. Введите `AT` и нажмите Enter. Ответ должен быть `OK`.
  5. Теперь можно вводить любые AT-команды: `AT+CSQ` (уровень сигнала), `AT+CCID` (ID сим), `AT+CMGF=1` (текстовый режим SMS), `AT+CMGS="номер"` > текст > Ctrl+Z (отправка SMS) и т.д.

Скетч (прозрачный мост Serial <-> SoftwareSerial)

/* 
 * Проверка AT-команд для SIM800L
 * Автор: iakbasnayaka (setnfix.com)
 */
#include 

SoftwareSerial Sim800l(10, 11); // RX, TX Arduino

void setup() {
  Serial.begin(9600);       // USB Serial Monitor
  Sim800l.begin(9600);      // UART SIM800L (по умолчанию 9600 или 115200)
  delay(1000);
  // Можно отправить инициализацию:
  // Sim800l.println("AT");
}

void loop() {
  // Пересылка данных SIM800L -> Serial Monitor
  while (Sim800l.available()) {
    Serial.write(Sim800l.read());
  }
  // Пересылка команд Serial Monitor -> SIM800L
  while (Serial.available()) {
    Sim800l.write(Serial.read());
  }
}

Полезные AT-команды (шпаргалка)

Команда Описание
AT Проверка связи (ответ OK)
AT+CSQ Уровень сигнала (0-31, 99=нет)
AT+CREG? Статус регистрации в сети
AT+CMGF=1 Текстовый режим SMS
AT+CMGS="+7XXXXXXXXXX" Отправка SMS (после > вводить текст, завершить Ctrl+Z / 0x1A)
AT+CMGR=1 Чтение SMS из ячейки 1
AT+CMGD=1 Удаление SMS
ATD+7XXXXXXXXXX; Исходящий звонок (точка с запятой обязательна)
ATH Сброс вызова
AT+CGATT=1 Присоединение к GPRS
AT+SAPBR=3,1,"APN","internet" Настройка APN для GPRS

Типичные проблемы и решения

Дальнейшее развитие

Производственный процесс

  1. Расширение GoPiGo v2 на Windows 10 IoT Core для Raspberry Pi 3
  2. Высокоскоростная фотография капель воды на Arduino Nano — DIY-триггер для вспышки
  3. Умная копилка: управление монетоприёмником на Arduino Nano
  4. JX Wave Generator — Генератор сигналов на Arduino с DDS AD9833 и OLED-дисплеем
  5. Подключение Arduino Mega к GPS-модулю NEO‑6M: пошаговое руководство
  6. Крестики-нолики на Arduino с матрицей MAX7219 и картонным корпусом
  7. Сборка вольтметра на Arduino с дисплеем Nokia 5110 — Пошаговое руководство
  8. Сборка надежного таймера обратного отсчета на Arduino с 7-сегментным дисплеем SparkFun
  9. Голосовое управление бытовыми приборами: Bluetooth-управление через Google Assistant
  10. Модуль GPS u-blox LEA-6H 02: Интеграция с Arduino и Python