Как подключить Sim800l к Ардуино

Микроконтроллеры используются в ХХI в. для управления домашней бытовой техникой. В качестве связующего звена применяют микро-сим-карты, например SIM800L, подключение к «Ардуино» которой позволяет владельцам электроники быть в курсе всего, что происходит в доме или на другом объекте за время их отсутствия.

Sim800l

Общая информация

Специалисты отмечают, что устройство от «Ардуино» позволяет даже начинающим и плохо разбирающимся в электронике людям сделать свою жизнь проще, используя минипроцессор с удобными функциями.

Устройство оснащено:

  • вводами и выводами;
  • индикатором питания;
  • кнопкой сброса;
  • стабилизирующими конденсаторами;
  • индикаторами связи UART;
  • гнездом питания;
  • кварцевым резонатором;
  • преобразователем DC-DC;
  • USB;
  • конвертером USB-UART;
  • светодиодом PIN13.
При подключении SIM800L к устройству владелец получает возможность совершать звонки, отправлять короткие послания и программировать систему по своему вкусу. Кроме того, устройство сможет также по первой необходимости связываться с хозяином и сообщать ему о происходящем.

Этот вид SIM используется в современных системах, управляемых GPRS и GSM. Например, для отправки СМС владельцу достаточно выбрать из записной книжки смартфона ард-номер и ввести текст.

SIM800L Ардуино

Технические характеристики и особенности SIM800L

SIM800 — модем. Буквы в конце модификации указывают на его возможности. Кроме того, Nano-устройство с литерой L внешне отличается от модельного ряда.

SIM800L может:

  • управляться АТ-командами;
  • определять местоположение по базовым станциям;
  • воспроизводить аудиофайлы удаленному абоненту или локально;
  • ловить радиоволны;
  • отправлять и получать СМС и данные GPRS;
  • декодировать и формировать тональный набор DTMF.

Производитель оснастил модем:

  • 4-диапазонным модулем GSM/GPRS на 850/900/1800/1900 МГц;
  • интерфейсом USB для обновления программного обеспечения;
  • встроенным стеком TCP/IP, UDP/IP;
  • протоколами HTTP, FTP, Email, PING, MMC;
  • UART;
  • FM-радио;
  • Bluetooth;
  • РСМ.

Размеры устройства составляют 25х24х4 мм, а вес — 5 г. Модель поддерживает сеть в режиме 2G. Для работы ей необходимо питание 3,7-4,2 В. При этом ток режима ожидания составляет 0,7 мА, а пиковый — 2 А.

Характеристики Sim800l

Максимальное напряжение высокого уровня UART не должно превышать 2,8 В. Производитель запрограммировал универсальный асинхронный приемопередатчик на работу в пределах скорости от 1200 до 115200 бод. Максимальная скорость передачи GPRS-данных — 85,6 Кбод.

Micro-SIM поддерживает PBCCH, CSD, USSD, PAP, RTC, а кодируется CS с 1 по 4.

Чтобы пользователь смог легко подключить модем к устройству, связывающему проекты в единую систему, микро-сим-карта продается с неприпаянными антенной и контактами. Контакты рекомендуется припаивать, если микрочип планируется использовать с модульными микроконтроллерами, например Arduino.

Распиновка модели 800L:

  • RING — индикатор вызова;
  • DTR — готовность выходных данных;
  • MIC+/- — соединение с микрофоном;
  • SPK+/- — соединение с динамиком;
  • NET — подключение антенны;
  • VCC — напряжение питания;
  • RST — сброс, перезагрузка;
  • RXD — принимаемые данные;
  • TXD — передаваемые данные;
  • GND — общий контакт;
  • IPX ANT — подключение IPX-антенны;
  • LED — светодиодная индикация;
  • MICRO SIM — слот под карту формата micro-SIM.

Производитель рекомендует перед использованием микрочипа согласовать логические уровни подключаемых устройств. После этого в слот вставляют сим-карту.

Пока ей удастся поймать связь и установить скорость соединения, красный светодиод в верхнем левом углу на плате будет мигать раз в несколько секунд. Когда этот процесс закончится и устройство приступит к стабильной работе, скорость мерцания лампочки замедлится.

Варианты подключения модуля SIM800L к «Ардуино» и схемы

Для подсоединения SIM800L к контроллеру Аrduino UNO R3 понадобятся:

  • USB-кабель;
  • понижающий преобразователь напряжения;
  • источник питания от 6 до 20 В (батарейку 12 В);
  • соединительные провода.

Схема

Через USB-кабель подключают контроллер «Ардуино» к компьютеру. Это необходимо для настройки устройства и синхронизации его работы с SIM800L. Контакты ТХ и RХ на сим-модуле соединяют с контактами 2 и 3 на UNO R3, отдельно подключив его через преобразователь напряжения, к батарейке или другому источнику питания. При этом нужно учитывать, что «-» от батарейки идет через разъем GND контроллера к преобразователю и на модуль. То же должно произойти с «+». Преобразователь должен быть настроен на рабочее напряжение, удобное для модема.

Если под рукой оказался контроллер «Ардуино Леонардо», то для подключения сим-карты, кроме указанных дополнительных элементов, понадобится стабилизатор напряжения питания 4 В. В случае когда на плате установлен конвертер питания, напряжение подается и на него.

Загрузка кода

Для правильной работы системы в сети нужно ее зарегистрировать. В разделе «Выбор сети» надо выбрать ручное или автоматическое определение оператора.

Чтобы в процессе использования управлять устройством через монитор порта, необходимо ввести образцы команд и кодов через компьютер.

В библиотеке Software Serial в начале работы прописывают скетч:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include
 
SoftwareSerial mySerial(2, 3); // RX, TX
 
void setup() {
	Serial.begin(19200);
	Serial.println("Gооdnight mооn!");
 
	mySerial.begin(19200);
	mySerial.println("AT");
}
 
void loop() {
	if (mySerial.available())
		Serial.write(mySerial.read());
 
	if (Serial.available())
		mySerial.write(Serial.read());
}

В AT Command Tester Tool нажимают «Найти порты», выбирают BaudRate (19200), устанавливают нужную скорость передачи и нажимают Connect на AT Command Tester. Система отправит запрос на устройство и подключится.

Для настройки отправки и получения SMS код такой:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void sms(String text, String phone) {
	Serial.println("SMS send started");
	mySerial.println("AT+CMGS=\"" + phone + "\"");
 
	delay(1000);
 
	mySerial.print(text);
 
	delay(300);
 
	mySerial.print((char)26);
 
	delay(300);
 
	Serial.println("SMS send finish");
 
	delay(3000);
}

Добавив процедуру в конце скетча, ее нужно вызвать из основного цикла, задав команду: sms(String(«текст СМС на английском языке»), String(«№ телефона»)).

Для проверки правильности настроек в пустой строке задают команду АТI и нажимают «Ввод». Если все сделано верно, то в окне появится информация о модели модуля.

Ссылка на основную публикацию