Играемся с SIM800L на Arduino 2
Поскольку модуль SIM800L очень гибкий, отличный дизайн проекта GSM может быть относительно простым. Но есть ряд причин для экспериментов с более сложными идеями, такими как повышенная производительность и возможность использования настраиваемых опций. Конечно, одним из основных недостатков сложных конструкций является то, что он может проводить недели DIYer для поиска и приобретения необходимых компонентов, не говоря уже о времени для создания и устранения неполадок проекта. Удивительно, но сегодняшние платформы микроконтроллеров являются простыми и сложными по своей природе, но относительно легко играть. Для большинства DIYers, коротких на умении и терпении, Arduino - хороший вход в мир таких сложных дизайнерских идей. Ниже приведен пример тестирования AT-команд с Arduino Uno. Предполагается, что вы уже успешно тестировали AT-команды в своем SIM800L-модуле с помощью инструмента USB-to-serial, как описано в первой части этого руководства. Перейдем к следующему уровню!
Аппаратные средства
Для начала настройте аппаратное обеспечение, как показано ниже. Естественно, вам понадобится действительная SIM-карта для полного использования модуля SIM800L. Для компактности моя установка была протестирована с литиево-ионным аккумулятором (емкостью 2,700 мАч) емкостью 1S (3.7 V), снятым с моего смартфона. Затем загрузите тестовый эскиз в Arduino Uno, как обычно. Я использовал данный эскиз для тестирования SIM800L с помощью Arduino Uno. Наконец, откройте Arduino Serial Monitor и проверьте рекомендуемые AT-команды.
Тестовый скетч
#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 + IPR = 9600 |
Установите скорость передачи данных на скорости 9 600 бит / с |
AT + CBC |
Запросить состояние зарядки и оставшуюся емкость аккумулятора |
AT + CSQ |
Запросить качество сигнала GSM |
AT + GSV |
Отображать информацию об идентификаторе продукта |
Вот скриншот моего Serial Monitor (см. Возвращаемые значения):
Для серьезных разработчиков проектов лучше обратиться к «SIM800 Series AT Command Manual_V1.09», чтобы узнать больше о мистических значениях возврата. В качестве примера, возвращаемое значение «+ CBC: 0,62,3900» в моем окне гласит, что:
- 0 - не заряжается
- 62 - 62% емкости аккумулятора остается
- 3,900 - напряжение аккумулятора 3,900 мВ (3,9 В)
Быстрое напоминание. Используемые здесь последовательные линии связи (TXD & RXD) модуля SIM800L предназначены для работы на уровне 3,3 В. Хотя я просто подключил их к 5-V Arduino Uno для быстрого тестирования без конвертера на логическом уровне, я настоятельно рекомендую использовать подходящий сдвиг на логическом уровне (см. Раздел быстрого запуска в первой части этого руководства).