Сегодня в уроке рассмотрим Модуль GSM GPRS SIM800L V2.0 MicroSIM с антенной. Посмотрим в чем его преимущества и недостатки. Разберемся, как управлять данным модулем с помощью AT команд и оправим CMC сообщение.
Для урока понадодиться:
Модуль GSM GPRS SIM800L V2.0 обладает минимальным функционалом — обмен данными с GSM-модулем по UART. Плата имеет слот для установки внешней SIM-карты.
SIM800L V2.0 GSM/GPRS - это четырех диапазонный GSM/GPRS модуль, совместимый с Arduino. Модуль используется для реализации функций GSM и GPRS. Преимуществом этого модуля является возможность напрямую подключать его к Arduino или другому микроконтроллеру с напряжением питания 5В.
Так как модуль GSM GPRS SIM800L V2.0 MicroSIM может общаться только по UART и не имеет звукового интерфейса. Схема подключения будет очень простая, всего по двум проводам + питание.
Для отправки AT-команд и связи с модулем SIM800L будем использовать окно «Монитора порта». Копируем приведенный скетч ниже и загружаем его в Arduino.
#include <SoftwareSerial.h> SoftwareSerial SIM800(8, 9); // 8 - RX Arduino (TX SIM800L), 9 - TX Arduino (RX SIM800L) void setup() { Serial.begin(9600); // Скорость обмена данными с компьютером Serial.println("Start!"); SIM800.begin(9600); // Скорость обмена данными с модемом SIM800.println("AT"); } void loop() { if (SIM800.available()) // Ожидаем прихода данных (ответа) от модема... Serial.write(SIM800.read()); // ...и выводим их в Serial if (Serial.available()) // Ожидаем команды по Serial... SIM800.write(Serial.read()); // ...и отправляем полученную команду модему }
Открываем окно «Монитора порта», устанавливаем скорость «9600» и «NL (Новая строка)».
В коде используем библиотеку SoftwareSerial.h, которую нужно подключить. Библиотеку можно скачать внизу статьи в разделе «Файлы для скачивания».
Для проверки работоспособности будем использовать команды:
В мониторе порта увидим следующую информацию.
Также можно проверить:
Описание | Команда | Структура ответа | Пример ответа |
Готовность модуля к работе | AT | OK |
OK |
Запрос информации об устройстве | ATI | <info> OK <info> — модель и версия модуля |
SIM800 R14.18 OK |
Запрос версии установленного ПО | AT+CGMR | <revision> OK <revision> — модель и версия ПО |
Revision:1418B04SIM800L24
OK |
Готовность модуля совершать звонки | AT+CCALR? | +CCALR: <mode> OK <mode> — идентификатор готовности: 0 — модуль не готов совершать звонки |
+CCALR: 1 OK |
Запрос качества связи | AT+CSQ | +CSQ: <rssi>,<ber> OK <rssi> — качество сигнала (от 10 и выше — нормальное): 0 -115 дБм и меньше 0...7 — коэффициент битовых ошибок (меньше — лучше) |
+CSQ: 8,0 OK |
Запрос IMEI-модуля | AT+GSN | <sn> OK <sn> — IMEI модуля |
864713035030892 OK |
Запрос идентификационной информации модуля | AT+GSV | Текстовая информация о модуле | SIMCOM_Ltd SIMCOM_SIM800L Revision:1418B04SIM800L24 OK |
Напряжение питания | AT+CBC | +CBC: <bcs>,<bcl>,<voltage> OK <bcs> — статус зарядки 0 — зарядки нет <voltage> — напряжение питания модуля, в милливольтах |
+CBC: 0,73,3988 OK |
Тип регистрации в сети | AT+CREG? | +CREG: <n>,<stat> OK <n> — параметр ответа 0 — незапрашиваемый код регистрации в сети отключен 0 — незарегистрирован, не ищет нового оператора для регистрации |
+CREG: 0,1 OK |
Информация об операторе | AT+COPS? | +COPS: <mode>,[<format>,<oper>] OK <mode> — режим регистрации <format> — формат отображения <oper> — наименование оператора в заданном формате |
+COPS: 0,0,"MegaFon" OK |
Получение списка всех операторов | AT+COPN | +COPN: <numeric1>,<alpha1> [<CR><LF>+COPN: <numeric2>,<alpha2> […]] OK <numeric n> — цифровой код оператора <alpha n> — текстовый код оператора |
... +COPN: "24008","vodafone" +COPN: "24010","Swefour AB" +COPN: "24201","TELENOR" +COPN: "24202","NetCom" +COPN: "24403","FINNET" +COPN: "24405","Elisa Corporation" +COPN: "24409","FINNET" ... OK |
Статус телефона GSM-модуля | AT+CPAS | +CPAS: <pas> OK <pas> — статус 0 — готов к выполнению команд из терминала |
+CPAS: 4 OK |
Для отправки СМС также будем использовать AT команды:
Внимание! Прежде чем загрузить пример, необходимо ввести номер телефона. Найдите строку +7xxxxxxxxxx и замените его на необходимый номер телефона, на который будет оправлено сообщение.
Скетч отправки СМС сообщений будет следующим.
#include <SoftwareSerial.h> SoftwareSerial sim800l(8, 9); // 8 - RX Arduino (TX SIM800L), 9 - TX Arduino (RX SIM800L) void SendSMS() { Serial.println("Sending SMS..."); // Печать текста sim800l.print("AT+CMGF=1\r"); // Выбирает формат SMS delay(100); sim800l.print("AT+CMGS=\"+7xxxxxxxxxx\"\r"); // Отправка СМС на указанный номер +792100000000" delay(300); sim800l.print("A letter from the site: arduino-tex.ru"); // Тест сообщения delay(300); sim800l.print((char)26);// (требуется в соответствии с таблицей данных) delay(300); sim800l.println(); Serial.println("Text Sent."); delay(500); } void setup() { sim800l.begin(9600); //Инициализация последовательной связи с Arduino и SIM800L Serial.begin(9600); // Инициализация последовательной связи с Arduino и Arduino IDE (Serial Monitor) delay(1000); // Пауза 1 с SendSMS(); } void loop() { delay(500); // Пауза 500 мс if (sim800l.available()) { // Переадресация с последовательного порта SIM800L на последовательный порт Arduino IDE Serial.write(sim800l.read()); } }
В мониторе порта увидим подтверждение отправки сообщения, а также номер, на который было отправлено сообщение.
На телефоне, на который было отправлено сообщение, увидим следующую информацию. СМС сообщение, которое мы отправляли.
СМС может содержать показание с датчика температуры и влажности, данные с датчика движения или уровень воды, давление в баке отопления или другую информацию.
С помощью модуля GSM GPRS SIM800L V2.0 MicroSIM можно получать СМС,управляя устройствами. Отправлять данные про GPRS на сайт. Также считывать команды сайта и производить управление домашней электроникой. Более подробнее данные функции рассмотрим в следующих уроках.
Появились вопросы или предложения, не стесняйся, пиши в комментарии!
Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.
Всем Пока-Пока.
И до встречи в следующем уроке.
Понравилась статья? Поделитесь ею с друзьями:
Файлы для скачивания
![]() |
Тестирование AT-команд SIM800L.ino | 1 Kb | 1409 | Скачать |
![]() |
Скетч отправки СМС сообщения с помощью Arduino и модуля SIM800L.ino | 1 Kb | 1427 | Скачать |
![]() |
Библиотека SoftwareSerial.h.zip | 11 Kb | 1435 | Скачать |
Вернуться в раздел: Уроки Arduino: Подключение датчиков и модулей к Arduino Дата публикации 15 сентября , 2021
Читайте также
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.