Поскольку модуль SIM800L очень гибкий в плане функциональности, отличный проект на основе GSM может быть относительно простым даже без использования управляющих микроконтроллерных плат, как было рассмотрено в статье, описывающей основы работы с SIM800L. Но есть ряд причин для проведения экспериментов с более сложными функциональными моментами, такими как повышенная производительность и возможность использования настраиваемых опций.

Подключив к данному GSM/GPRS модулю микроконтроллерную плату вроде Arduino, можно получить доступ в мир более сложных инженерных проектов. В данном материале приведен пример тестирования AT-команд с Arduino Uno. Предполагается, что вы уже успешно тестировали AT-команды своего SIM800L-модуля с помощью конвертера USB-to-serial, как это было описано в предыдущей статье. Перейдем к следующему уровню.
Для начала организуйте подключение аппаратного обеспечения, как показано ниже. Естественно, вам понадобится работающая SIM-карта для полноценного использования модуля SIM800L. Для компактности конструкция может быть протестирована с литиево-ионным аккумулятором (емкостью 2700 мАч) 1S (3.7 V), который можно найти вомногих смартфонах. Затем загрузите тестовый скетч в Arduino Uno. Наконец, откройте последовательный монитор и проверьте стандартные AT-команды.

Используемые здесь последовательные линии связи (TXD и RXD) модуля SIM800L предназначены для работы с уровнем напряжения 3.3 В. Хотя мы просто подключили их к 5 В платы Arduino Uno для быстрого тестирования без конвертера логического уровня, настоятельно рекомендуется использовать соответствующий преобразователь для сдвига логического уровня.
Тестовый скетч (код) выглядит следующим образом.
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
}
void loop()
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
{
while(Serial.available())
{
mySerial.write(Serial.read());
}
mySerial.println();
}
}
AT-команды:
AT – Синхронизация скорости передачи в бодах
AT+IPR=9600 – Установить скорость передачи данных на 9600 бит/с
AT+CBC – Запросить состояние зарядки и оставшуюся емкость аккумулятора
AT+CSQ – CSQ Запрос качества сигнала GSM
AT+GSV – Отображение информации о продукте
Вот что можно получить при тестировании таких команд:

Для разработчиков серьезных проектов лучше обратиться к «SIM800 Series AT Command Manual_V1.09», чтобы узнать больше о мистических возвращаемых значениях. В качестве примера, возвращаемое значение «+ CBC: 0,62,3900» в данном случае означает:

0 – не заряжается
62 – емкости аккумулятора остается 62%
3900 – напряжение аккумулятора составляет 3900 мВ (3.9 В)
В следующем обучающем материале мы создадим простой, но полезный проект на основе SIM800L и Arduino.
© digitrode.ru