SMS-контроллер на базе SIM800L

Подключение GSM модуля на примере SIM800 к Arduino

SMS-контроллер на базе SIM800L

О правильном подключении GSM модема SIM800L или по чему не работает модем с Arduino.

Особенности SIM800:

  • Четырехдиапазонный GSM/GPRS модуль, 850/900/1800/1900 МГц
  • В зависимости от версии модема, интерфейс USB для обновления программного обеспечения, UART, FM-radio, Bluetooth, PCM
  • Управление AT командами
  • Встроенный стек TCP/IP, UDP/IP, Протоколы , FTP, Email, PING, MMC
  • Определение местоположения по базовым станциям.
  • Декодирование и формирование DTMF-тонов
  • Воспроизведение аудиофайлов локально и в сторону удаленного абонента

800 серия или что означает буква в конце:

Не только тип корпуса, хотя это основное различие. SIM800A, как и SIM800F, электрически совместим с популярным, но уже снятым с производства SIM900 и предназначен для его замены, SIM800C выполнен в корпусе с возможностью ручного монтажа, LGA монтаж, имеет на борту bluetooth, SIM800L для поверхностного монтажа и имеет на борту FM радио. Программно они полностью совместимы.

Питание:

Диапазон напряжение питания SIM800 (не китайского модуля на SIM800, а модема) составляет от 3,4 до 4,4 В. Рекомендуемое напряжение 4,0 В. Модем рассчитан на батарейное питание от одной Li-Ion банки, напряжение 5 вольт не допустимого, попытки запитать модем от 5 вольт приводит к тому, что модем выключается (уходит в защиту).

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

На вход VBAT настоятельно рекомендуется подключать конденсатор большей емкости с низкий ESR.

Потребление электричества не линейное, происходит короткими импульсами, в эти моменты важно не допустить проседания напряжения питания ниже 3,0 В.

В документации на модем, для получения заветных 4,0 вольт, рекомендуют использовать линейный стабилизатор с низким падением напряжения MIC29302 либо более распространенный DC-DC преобразователь LM2596, схема включения выше.

Подойдет и MP1584EN, главное напряжение в приделах от 3,4 до 4,4 В и достаточный запас мощности.

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

Логические уровни и UART:

Как и питание, у модема не стандартный логический уровень 2,8 В, что добавляет веселья. При попытки подключить что либо к 5 или 3,3 вольтовой логике, модем выключается.

Включение модема и PWRKEY:

Например чтобы включить модем, необходимо на ногу PWRKEY модема подать логический 0, тоесть соединить с массой.

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

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

Временные интервалы включения показаны на графике выше, включать модуль ногой PWRKEY следует по прошествии 0,5 секунд после подачи питания на ноги VBAT, а добиться ответа на команды по UART, можно не раньше трех секунд после включения.

UART:

Выходы TX и RX также должны быть согласованны, подключение модема к 5 вольтовой ардуино без согласования может вывести его из строя, хотя обычно модем поругавшись на «овервольтаж» выключится.

Один из вариантов согласования из документации, обратите внимание на выход VDD_EXT, на этом выходе модем формирует напряжение 2,8 вольт, предназначенное для периферийных устройств.

Другой вариант, рекомендуемый для 5 вольтовых уровней, конвертировать при помощи транзисторов, схема включения аналогична дешевым китайским конвертерам в виде модулей для ардуино.

Подобным решением можно воспользоваться только при проектировании устройств на SIM800, т.е. не используя готовые китайские модули для ардуино, на которых не озаботились вывести выход VDD_EXT на колодку.

Согласовать уровни можно делителем напряжения на двух резисторах, в этом случаи не понадобятся дополнительные напряжения и выход VDD_EXT, но данный способ увеличивает нагрузку на порт и может не стабильно работать на высоких скоростях UART интерфейса.

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

Разновидности китайских модулей:

Модуль на SIM800C с минимальной обвязкой. Отсутствует конвертер уровней UART интерфейса, фильтры, стабилизатор питания. Самый популярный, дешевый и малогабаритный.

Аналогичный китайский модуль на SIM800L

Этот модуль уже поинтереснее, есть конвертер уровней (на плате два транзистора 2n7002) два включенных последовательно диода, чтобы снизить напряжение питания 5 вольт до положенных модему 4.2 вольта, решение сомнительное но самое дешевое. Выведена нога для антенны встроенного bluetooth.

Все еще отсутствуют фильтры в аналоговой части

Существует аналогичный модуль с тойже распиновкой, но за место конвертера уровней, стоит стабилизатор напряжения питания на DC-DC преобразователе MP1584EN. Странное решение.

Этот мало чем отличается от модулей выше, есть конвертер уровней, есть два диода чтобы снизить напряжение питания 5 вольт до положенных модему 4.2 вольта, к сожелению отсутствуют ые функции! возможно будет удобней в подключении, есть крепежные отверстия.

Вот, это уже чтото… Линейный стабилизатор напряжения питания MIC29302, конвертер логических уровней, на плате bluetooth антенна и SMA разъем для GSM антенны, Отсутствуют фильтры на аналоговой части.

Shield от Keystudio, вот это то как должно быть, есть возможность использовать внешнее питание и питание от ардуино, линейный стабилизатор питания MIC29302, фильтры в аналоговой части и джек для подключения гарнитуры, ионистор для часов, вывели даже USB.

Один недостаток, цена…

Все таки как подключать к Arduino:

А что подключать и к чему? разновидностей модулей десятки, версий ардуино плат тоже. Я не рекомендую использовать плату Arduino UNO, как и любую другую с ATmega328, совместно с библиотекой SoftwareSerial для работы с модемом, возможно данная связка подойдет для проверки работы модема и отладки, но в устройствах стабильной работы добиться практически не возможно.

Модем общается с микроконтроллерам по средствам UART интерфейса, на UNO единственный аппаратный UART отдан для перепрошивки платы и «монитор порта», это принуждает использовать библиотеку SoftwareSerial.h которая не может нормально переварить поток с модема. Правильным решением будет использовать плату с несколькими аппаратными UART интерфейсами, например Arduino Leonardo, Arduino Mega.

В случаи с Arduino Leonardo и аппаратным UART:

Не простой случай с дешевым модулем на SIM800L, тут нужен отдельный стабилизатор напряжения питания на 4,0 В, нужно согласовывать логические уровни с ардуино при помощи резистивного делителя напряжения, ибо по другому согласовать не получится.

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

Управление модемом:

Общение с модемом происходит при помощи АТ команд, в модем отправляется команда в текстовом виде, а после выполнения команды модем возвращает ответ, самая простая команда «AT» ответ на нее «OK«, служит для проверки соединения с модемом. Список всех доступных команд и возможных ответов можно посмотреть в документации на модем.

SIM800_Series_AT_Command_Manual_V1.09Скачать

Для управления модемом через «монитор порта» в ардуинку нужно залить пример, который транслирует данные из «монитора порта» в UART к которому подключен модем. Убедитесь в правильной скорости UART интерфейса, в настройках модема, скорость порта может отличатся от 9600.

 
void setup() {  // initialize both serial ports:  Serial.begin(9600);  Serial1.begin(9600);
} void loop() {  // read from port 1, send to port 0:  if (Serial1.available()) {    int inByte = Serial1.read();    Serial.write(inByte);  }  // read from port 0, send to port 1:  if (Serial.available()) {    int inByte = Serial.read();    Serial1.write(inByte);  }
}

В случаи с arduino uno и softwareserial.h :

Оригинал: http://arduinolab.pw/index.php/2019/05/29/podklyuchenie-gsm-modulya-na-primere-sim800-k-arduino/

GSM сигнализация для дачного домика на SIM800L

SMS-контроллер на базе SIM800L

GSM сигнализация для дачного домика на SIM800L.

Скачать скетч (файл расширения flp устанавливается на Arduino при помощи Flprog)

Скачать звуковые файлы

GSM сигнализация для дачного домика на SIM800L1 — Часть 2.

Ссылки на компоненты:

Ардуино UNO — ://ali.

pub/z6n3u

GSM GPRS Модуль SIM800L — ://ali.

pub/1mfqe0

DS18B20 — ://ali.

pub/1f3f18

DFPlaer mini — ://ali.

pub/1n49de

2-ух канальный релейный модуль на 5 В — ://ali.

pub/1mfqyf

DC-DC модуль на LM2596 — ://ali.

pub/1e3sli

Датчик движения HC-SR501 — ://ali.

pub/1n4adr

GSM сигнализация для дачного домика на SIM800L

Оригинал: http://arduinoprom.ru/arduino/276-gsm-signalizacija-dlja-dachnogo-domika-na-sim800l.html

Выгодная цена на Arduino Sim800l — суперскидки на Arduino Sim800l. Arduino Sim800l: топ-производители со всего мира в приложении АлиЭкспресс на с. 1

SMS-контроллер на базе SIM800L Бренды: Больше

На AliExpress мы предлагаем тысячи разновидностей продукции всех брендов и спецификаций, на любой вкус и размер. Если вы хотите купить arduino sim800l и подобные товары, мы предлагаем вам 165 позиций на выбор, среди которых вы обязательно найдете варианты на свой вкус.

Только здесь, на AliExpress вы сможете найти arduino sim800l самых лучших брендов, включая diymore и множество других, о которых вы, возможно, даже не подозревали.

Если конкретные характеристики говорят вам больше, чем непонятные названия, возможно, следующая информация — для вас: по всему объему продукции, найденной по вашему запросу "arduino sim800l", Тип может варьироваться в весьма широком диапазоне, есть Регулятор напряжения , Логические ИС , Другое , Таймер , Привод IC, и каких только еще нет.

Кроме того, если вы ищите arduino sim800l, мы также порекомендуем вам похожие товары, например arduino rev 3 , arduino robo car , delay relay lcd , aurdrino , arduino bluetooth robot , arduino mega usb , arduino car kit 4 , nano xbee , ethernet shield , arduino kit ultrasonic , arduino robo car , arduino with can bus , ardbox , nano xbee , arduino for robot , arduino nano nrf , ethernet shield , 30 arduino , 2wd robot smart , 4 relay arduino shield.
Приходите к нам на AliExpress, у нас вы найдете все!

Оригинал: https://AliExpress.ru/popular/arduino-sim800l.html

Подключение и настройка модуля SIM800L к Ардуино

SMS-контроллер на базе SIM800L

В этом уроке вы узнаете как настроить модуль SIM800L GSM/GPRS используя AT Команды и микроконтроллер Ардуино.

  • Комплектующие
  • Подключение модуля к Arduino
  • Код урока

Комплектующие

  • Sim800L
  • Arduino Uno
  • Преобразователь постоянного тока LM2596

Sim800L — самое доступное (и довольно дешевое) решение для вашего проекта, управляемого GSM / GPRS. Вы можете совершать телефонные звонки, получать и отправлять текстовые сообщения, получать информацию о местоположении. Вы можете делать все, что вы обычно делаете со своим мобильным телефоном.

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

Я использовал AT Command Tester Tool, который можно бесплатно использовать в течение 7 дней. Я покажу, как использовать это программное обеспечение для настройки модуля SIM800L.

Когда вы будете настраивать программное обеспечение, вам понадобится установить дополнение JAVA (англ. — add on) и открыть файл jar с помощью JAVA.

Подключение модуля к Arduino

Вы должны подавать на модуль SIM800 точно 4,2 В. Я использовал понижающий модуль LM2596. Настраиваем выходное напряжение до 4,2 В от потенциометра. Не забудьте соединить Arduino GND с выходом LM2596 (-).

Сначала подключите ваш модуль Sim800L к Arduino;

  • NET -> Нет соединения
  • VCC -> LM2596 Out (+)
  • RST -> Arduino D9
  • RXD -> Arduino D7
  • TXD -> Arduino D8
  • GND -> LM2596 Out (-)

Код урока

Откройте пустой эскиз Arduino и загрузите код ниже:

#include

SoftwareSerial mySerial(8,7); // Change These Pins if you make different wiring
void setup()
{
Serial.begin(19200);
//Serial.println(“Begin”);
mySerial.begin(19200);

}

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. Инструмент отправит запрос на устройство и подключится.

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

На вкладке «Голосовой вызов» вы можете проверить исходящие и входящие ые вызовы. Инструмент предоставляет простой в использовании интерфейс для набора исходящих номеров и приема входящих звонков.

  Иван Иванов 22 марта 2019 в 09:08 Уроки Arduino

Оригинал: https://ArduinoPlus.ru/sim800l-arduino-podkluchenie-i-nastroika/

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

SMS-контроллер на базе SIM800L

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

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

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

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

  • вводами и выводами;
  • индикатором питания;
  • кнопкой сброса;
  • стабилизирующими конденсаторами;
  • индикаторами связи UART;
  • гнездом питания;
  • кварцевым резонатором;
  • преобразователем DC-DC;
  • USB;
  • конвертером USB-UART;
  • светодиодом PIN13.

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

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

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

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

SIM800L может:

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

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

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

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

Максимальное напряжение высокого уровня 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());
}

#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);
}

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 и нажимают «Ввод». Если все сделано верно, то в окне появится информация о модели модуля.

Оригинал: https://CleverDIY.ru/kak-podklyuchit-sim800l-k-arduino

Понравилась статья? Поделиться с друзьями:
Тратосфера