GSM GPRS SIM800L модуль: описание, подключение. Подключение модуля Sim800l к микроконтроллеру esp8266 Sim800l подключение к arduino

Содержание

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

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

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

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

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

Как подключить к Arduino:

Питание:

Диапазон напряжение питания 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, можно не раньше трех секунд после включения.

Выходы 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«, служит для проверки соединения с модемом. Список всех доступных команд и возможных ответов можно посмотреть в документации на модем.

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

Подключение модуля Sim800l к микроконтроллеру esp8266

ESP8266 стал настоящей новостью прошлого года для всех, кто занимается созданием девайсов на Ардуино. Дешёвый микроконтроллер, с возможностями, превышающими его дорогостоящий аналог, и при этом совместимый с АТ+.

Ардуино не остались за бортом, и теперь данный модуль официально добавлен в списки поддерживаемых платой, а соответственно, всё больше пользователей приобщится к китайскому мк для wi-fi соединения. Но бывает, что в системе необходимо отслеживать и местоположение модуля, для чего одной платы esp8266 будет недостаточно. Здесь и пригодится esp8266 sim800l.

Возможности подключения Sim800l к микроконтроллеру esp8266

Для смарт-домов и множества поделок требуется получать уведомление о местоположении платы, будь то дистанционная дверь или обычный трекер. Вот лишь краткий список поделок, которые можно создать, совмещая esp8266 sim800:

  1. Умный дом. Практически любую технику для умных домов можно настроить на определённые патерны при приближении объекта. Но зачем устанавливать датчики движения, если можно просто прикрепить в wi-fi плате sim800, вшить в какой-то предмет одежды мк с аккумулятором (благо, много энергии не потребуется) и автоматически включать свет или открывать дверь при приближении пользователя.
  2. Разнообразные отслеживающие устройства. Речь не идёт о противозаконных жучках и прочих устройствах, нарушающих ваше право на неприкосновенность. Однако мк может работать отдельно от ардуино, а если к нему прикрепить sim800, общие размеры устройства не превысят спичечный коробок. Просто оберните всё в металлический корпус и прикрепите к ключам, в качестве брелока. Отныне найти смартфон, ключи и даже вашу машину на парковке будет в разы проще.
  3. Робототехника и смежные направления. Здесь можно долго говорить о развитии современного виртуального интеллекта и нейросетях, но зачастую, чтобы создавать карту местности и ориентироваться в ней, железякам недостаточно датчиков. И если вы занимаетесь чем-то подобным, то gps модуль пригодится. Особенно он удобен в паре с дронами.

Когда вы определитесь с конечной целью проекта, следует разобраться в нюансах вопроса. Подключение устройств к вышеназванному микроконтроллеру такое же, как у стандартных плат ардуино, разница лишь в количестве доступных пинов. GPS трекер требует для работы от 3.7 до 4.2 вольт, в отличие от стандартных 5, выдаваемых микроконтроллером. Это следует учитывать при построении схемы платы и соответствующе подбирать вспомогательные источники питания. Либо устанавливать трансформаторы и резисторы, в зависимости от того, что вы ещё будете подсоединять к конечной системе.

Как только вы подключите трекер к системе, необходимо будет его запустить и отправить первые команды, лучше всего подойдут АТ и АТ+. Только после этих действий модуль, наконец, начнёт посылать данные и отвечать на ваши запросы, поэтому не стоит беспокоится, если вы его подсоединили, диод мигает, но никаких реакций на скрипты нет. Вам просто необходимо активировать Sim800i при первом использовании, чтобы он успел зарегистрироваться в сети.

Также не стоит рассматривать Sim800i, как альтернативу ESP8266, чем грешат многие пользователи на форумах. Если вы натыкались на подобные заявления, можете смело утверждать, что автор в жизни не работал с ардуино. В первую очередь, сравнивать вспомогательную плату и микроконтроллер – бессмысленно. Не говоря уже о том, что одно из устройств создано для координации, отправки и принятия запросов по беспроводному интернету, а второе является GSM GPRS модулем. Соответственно, они являются хорошим дополнением друг к другу, но никак не альтернативой.

Схема подключения sim800l к esp8266

Распиновка более чем стандартная. Пин с питанием подключаете к источнику, способному выдавать напряжение в пределах 3.7-4.2 Вольт, или же к трансформатору. TX идёт к RX пину и наоборот. Как только вы выполните спайку и решите протестировать работу модуля, подключив источник питания, о правильности подключения просигнализируют диоды. Далее остаётся активировать модуль по описанному выше методу, и вы сможете использовать АТ-команды для управления. Если захотите подгрузить вспомогательную библиотеку или какие-то весомые медиа, стоит ознакомиться с подключением карты памяти к системе Ардуино.

Для начала давайте протестируем скорость работы порта и информацию о модуле, для этого воспользуемся «AT+IPR?» и «AT+CPAS» соответственно. Если всё в порядке и информация выводится без ошибок, то можно продолжить проверку и протестировать уровень сигнала, а также операторов, которых может увидеть модуль.

Это также открывает простор для применения систем с его участием. Если вы захотите написать определённый скрипт, запускающий что-либо по входящему звонку, то учитывайте, что модуль реагирует на него фразой «RING» в командной строке.

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

Пример реализации подключения gsm модуля sim800l к мк esp8266

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

Если уменьшение частоты световых сигналов не произошло, то стоит, при помощи АТ-команд, удостовериться, воспринял ли вообще sim800I сеть вашего мобильного оператора и нет ли никакой ошибки. Также проверьте правильность распиновки и как установлена СИМ-карта с антенной, ошибка может быть и в них.

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

Подключение GSM модуля SIM800C к ESP8266/ESP32/Arduino

Для разработки IoT устройств приходится использовать различные GSM модули. К сожалению, NB IoT или LoraWAN чипы на данный момент стоят минимум в три раза дороже, поэтому в большинстве проектов их использование неоправданно, пока не снизится стоимость.

Модуль хорошо документирован. Документация здесь. Сайт кривой. Скачать документацию официально не просто. 🙁 Поэтому используем прямую ссылку, не требующую регистрации, на всю необходимую документацию и прошивки для SIM800C. Прямая ссылка на документацию и инструменты прошивки для SIM800x. Документация по схемотехнике.

На Aliexpress есть несколько вариантов модулей SIM800C. Ссылка здесь. В данном примере я рассмотрю вариант с разведенным на плате конвертером уровней TTL 5V

В принципе, можно использовать более дешевый вариант модуля SIM800L, адаптировав уровень TTL под 5V Arduino с помощью резисторного делителя напряжения, либо заказав плату двунаправленного TTL конвертера уровней 5V 3V ценой в районе 0,5 $ и добавив DC-DC down-step модуль для снижения напряжения с 5V до 3,7 V по цене 0,3 $ но в совокупности цена получится примерно такой-же, экономии не будет.

Однако надо понимать, что при добавлении двунаправленного TTL конвертера уровней на него надо подать опорное напряжение равное уровню допустимого напряжения на входе SIM800, а это

2,9 V, а не 3,3 V, которых взять негде, поскольку выход VDD_EXT с чипа SIM800 не выведен.

Батарею можно напрямую подключить к пину Vbat. На этом входе можно замерять напряжение на чипе. Оно составляет 3,7 V, встроенный преобразователь напряжения работает нормально, хоть и схема проще, чем у самого дешевого DC-DC step down конвертера.

Схема платы SIM800C

В datasheet модуля указан максимальный уровень логической единицы на входе RX — 3,1 В (при минимальном 2,1 В). Для конвертации TTL уровней на плате SIM800C разведен конвертер. В принипе достаточно было конвертер поставить только на RX вход, поскольку микроконтроллеры Arduino/ESP8266/ESP32 чувствительны к низкому входному напряжению TTL с SIM800C.

Схема двунаправленного конвертера уровней довольно стандартная и обеспечивает приведение напряжения логической 1 на SIM800 к уровню VDD_EXT. Это напряжение снимается с SIM800 и по datasheet соотвествует 2,8 V.

Напряжение на выходе VDD_EXT чипа SIM800

Соотвественно, на входе модуля SIM800 преобразователь уровней обеспечивает напряжение логической 1 не выше 2,9 V при максимальном значении.

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

Резистивный делитель при подключении входов SIM800 напрямую к Arduino

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

Замечу, что при использовании дешевого модуля SIM800C/L без конвертера уровней, даже при подключении его напрямую к ESP8266/ESP32 с уровнем логики 3,3 V вместо максимальных 3,1 V, указанных в datasheet, можно вывести SIM800 из строя. По крайней мере у меня один модуль SIM800L перестал реагировать на RX. Видимо, внутри чипа нет защитных диодов, либо они не справились даже с такой небольшой разницей в напряжении.

Поэтому при подключении модуля SIM800 без конвертера уровней к ESP8266/ESP32 тоже нужно добавить хотя-бы резистивный делитель на вход RXD.

Напряжение питания модуля SIM800 (VBAT) 3,4 — 4,5 V, рекомендуемое 4 V при максимальном токе до 2А. Модуль достаточно прожорлив, поэтому его нельзя запитывать от платы Arduino и от маломощных USB зарядок, дажы не вывести их из строя.

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

Слот SIM карты, в отличие от недорогого модуля SIM800L, подключен к чипу с защитой диодной сборкой SMF05C. Она предохраняет чип SIM-карты и SIM800C от статического электричества.

Недостатки платы SIM800C

Не могу сказать, что модуль SIM800C разработан удачно. Замечания такие:

  • Расстояние между гребенками не кратно 2,54 мм, поэтому модуль не встает в breadboard макетные платы. Этой проблемы нет даже у дешевой платы SIM800L. Она встает в макетную плату без проблем. Это очень большой косяк разработчиков.
  • Для понижения напряжения с 5V до 3,7V используется схема с двумя диодами. Как говорится в статье, падение напряжения на диодах в обычном режиме работы порядка 0,6 — 1,2V и SIM800 достаточно напряжения для работы. Однако при пиковых значениях токов падение напряжения возрастает и на чипе напряжение может быть ниже 3,3 V. В результате, например, при запуске, когда энергопотребление высокое, модуль может многократно перегружаться. Поэтому я рекомендую запитывать модуль через вход VBAT подав напряжение 3,8 V c DC-DC конвертера напряжения (DC-DC stepdown converter) или от батареи.

Распиновка платы модуля SIM800C

  • 5V: power supply pin, the only input DC5V, used to power the board.
  • V_TTL: access control board microcontroller core target voltage of 5V / 3.3V (according to its own microcontroller is much to distinguish kernel V), this pin is used to convert the GSM module board TXD and RXD for the corresponding TTL logic. Описание пространное. На этот пин нужно подать 5V при подключении к платам с уровнем логики 5V (например, Arduino) и 3,3V при подключении GSM модуля к ESP8266/ESP32.
  • GND: power supply ground
  • TXD: send pin serial port module, TTL level (not directly connected to RS232 level)
  • RXD : receive pin serial port module, TTL level (not directly connected to RS232 level)
  • DTR: Data Terminal Ready
  • SPKP: Core Audio output pin
  • SPKN: Core Audio output pin
  • MICN: Core Audio input
  • MICP: Core Audio input
  • RI: Ring core pin tips
  • VRTC: RTC pin external battery
  • GND: power supply ground
  • PWR: This pin can turn down or turn off the module. Этот пин должен быть замкнут на GND на время не менее 1 с для включения модуля. Чтобы модуль стартовал сразу при включении — PWR закорачивают на GND.
  • GND: power supply ground
  • VBAT: lithium battery input pin, 3.3v-4.4v

Схема соединения SIM800C c USB-to-TTL конвертером

Перед использованием модуля SIM800C с микроконтроллерами стоит проверить его работоспособность соединив с конвертером USB to TTL.

Таблица соединения SIM800C с USB-to-TTL converter

Лучше подавать сначала питание на модуль GSM, а затем уже подключать USB к PC, но это не критично.

Схема соединения SIM800С с ESP32

На картинке нужно добавить соединение между PWX и GND! Детальная схема подключения SIM800L к ESP32 с примером кода в статье.

Схема подключения модуля SIM800C к ESP32

Тестирование SIM800

  • Запускаем Arduino IDE.
  • В настройках порта (Tools -> Port) выбираем порт на котором работает USB-to-TTL конвертер.
  • Переходим в Tools -> Serial Monitor (Ctrl-Shift-M).
  • Выбираем скорость 115200. Где-то проскакивает, что у чипа работает автоопределение скорости. По моим тестам — не работает.
  • Набираем AT и ввод. Документация по AT коммандам SIM800 здесь.
  • Если модуль рабочий и корректно подключен, то появится хотя-бы ответ «OK». Если модуль определил SIM-ку и зарегистрировался в сети оператора, то будет развернутая информация.
  • Отправляем команду: AT+COPS=?
    После нескольких секунд ожидания появится ответ, вроде: +COPS: (2,»Bee Line GSM»,»BeeLine»,»25099″),(1,»MTS»,»MTS»,»25001″),(1,»MOTIV»,»MOTIV»,»25020″),(1,»MegaFon»,»MegaFon»,»25002″),,(0-4),(0-2). Модуль «видит» ближайшие соты. Уже хорошо.
  • Проверим статус PIN кода на SIM карте командой:
    AT+CPIN? Если появился ERROR — что-то не так.
  • Запускаем команду: AT+CMEE=2. Эта команда при выводе сообщения об ошибке предоставляет максимально детальную информацию. Сохраняем командой: AT&W.
  • Поворяем комунду AT+CPIN? Появляется детальный код ошибки. Например, в моем случае: +CME ERROR: SIM not inserted.
  • Проверяем установку SIM карты. SIM слот распаянный на модуле «без защиты от дурака», т.е. позволяет вставить SIM-ку любым способом, без привычных ограничений как на сотовом телефоне или в других типах слотов. На SIM слоте мелко есть пиктограмма правильной установки карты.
  • Повторяем команду AT+COPS=? Ответ изменился. Появились строчки «Call Ready» и «SMS Ready», значит карта определилась нормально и зарегистрировалась в сети оператора:
  • Отправляем команду AT+CSQ для получения уровня сигнала. Первая цифра в ответе должна быть отлична от нуля. Например, +CSQ: 23,0.
  • Проверяем регистрацию в сети оператора командой AT+CREG? Правильный ответ: +CREG: 0,1

Ошибка +CSQ: 0,0

Если команда получения уровня сигнала AT+CSQ возвращает +CSQ: 0,0, то наверняка будут проблемы с регистрацией в сети. Команда AT+CREG? вернет +CREG: 0,2 вместо +CREG: 0,1. Какие действия для разрешения ошибки:

  • Проверяем в другом устройстве, что SIM-ка корректно регистрируется в сети.
  • Вставляем в SIM800 в соответствии с пиктограммой на слоте и проверяем командой AT+CPIN, что SIM карта определилась корректно.
  • Командой AT+CBAND? проверяем, что SIM800 настроен на все диапазоны частот. На моем модуле, когда он нормально регистрируется в сети Билайна, результат: DCS_MODE,ALL_BANDS.
  • Основной момент на который обратить внимание. Не зависимо от того, какой ток держит блок питания или DC-DC step-down модуль, хоть 3A и вы в этом лично убеждались, попробуйте запустить SIM800 от батареи. Возьмите аккумулятор от мобильного телефона на 3,7 В или Li-Ion элемент 18650 на 3,7 V и присоедините плюс батареи к пину V_BAT , а минус — на GND.
  • Спустя некорое время проверяем уровень сигнала AT+CSQ. Скорее всего проблема с регистрацией разрешится.

Все GSM модули, не важно, дорогой SIM800 или дешевый M590 КРАЙНЕ чувствительны к качеству блока питания. И дело не только в токе, но и в пульсациях. Я запитывал SIM800C от разных БП с макисмальными токами до 2,1 A и он нормально включался, отвечал на AT команды, но не регистрировался в сети. После подключения на батарею TR 18650 сеть сразу нашлась.

Ниже приведены вырезки из design guide для модулей SIM800 и M590. Они почти сходятся в блоке фильтрации. Нужно ставить керамические конденсаторы на 10 pF и 33 pF (у M590 на 100 pF) для сглаживания высокочастотных пульсаций и электролитические хотя-бы на 100 uF, а лучше на 1000 uF.

Фильтры на блок питания для SIM800 Фильтры на блок питания для Neoway M590

Отправка SMS через SIM800

Для теста работы пытаемся отправить SMS. Для начала отправляем команду: AT+CMGF=1. Если возник ERROR — скорее всего не прошла регистрация SIM-ки в сети.

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

GSM/GPRS модуль SIM800L и Arduino: подключение и основы работы

Поскольку модуль 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 для быстрого тестирования без конвертера логического уровня, настоятельно рекомендуется использовать соответствующий преобразователь для сдвига логического уровня.

Тестовый скетч (код) выглядит следующим образом.

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.

Делаем простейшую сигналку на GSM SIM800L и Аrduino для дачи, гаража

С наступлением дачного сезона возникла необходимость охраны дачного домика. Хотелось сделать простенькую но надежную охранную сигнализацию с передачей сигнала на сотовый телефон. Решено было собрать устройство с передачей тревоги на сотовый телефон на базе электронных плат приобретенных на Алиэкспресс. Как говорится дешево но сердито. Основными элементами данной конструкции являются модуль GSM SIM800L и плата Aрдуино(можно применить любую- Nano ,Uno,Pro Mini и тому подобные).

Устройство на пять тревожных входов для контактных датчиков. К каждому входу можно подключить один или несколько датчиков последовательно соединенных В скетче присвоить каждому охранному шлейфу свое название (например-входная дверь, окно 1, окно 2 и так далее). Охранное устройство работает так: при разрыве электрической цепи первого шлейфа блок сперва дает вызов на первый телефон абонента, следом прекращает звонок и также на №2. №2 нужен в виду того что если вдруг первый абонент не в сети или подсел аккумулятор и прочие неприятности). Если срабатывают шлейфа следующие за первым, тогда происходит отсылка СМС сообщения с названием сработавшего шлейфа, в том же случае на оба номера абонентов.

Перечень инструментов и материалов.
-литий –ионный аккумулятор от старого телефона 3,7В1600мА-1шт
-соединительные провода;
-паяльник;
-тестер;
-прозрачная пластмассовая коробка -1шт;
-плата Arduino Nano -1 шт;
-резисторы 10кОм-7шт;
— макетная плата из фольгированного текстолита;
— выключатель питания-1шт;
-модуль SIM800L -1шт;
-понижающая плата 1-2А -1шт;
-клеммные разъемы.

Шаг первый. Сборка схемы охранного GSM устройства.
Фото схемы.

На макетную плату припаиваем разъемные колодки для GSM модуль SIM800L и модуль Arduino это упрощает монтаж и позволяет при необходимости легко заменять модули. Распаиваем резисторы и остальные соединения. Резисторы от контакта RX модуля SIM800L подключаются к цифровому входу D3 Arduino для согласования по напряжению входов обоих модулей. Входы Arduino D4-D8 подтягиваются через резисторы. Выключатель монтируется в разрыв питания GSM модуля SIM800 и платы Ардуино для постановки на охрану всей системы. Применение аккумулятора, что позволит устройству функционировать два три дня при отсутствии сети 220 В. Преобразователь напряжения в моем случае из напряжения 12 В выдает напряжение 4,2 В и заодно заряжает аккумулятор(можно применить другую плату, например ТР4056 с защитой).

Шаг второй. Программирование устройства.
В СИМ карте должны быть удалены пинкоды и все ненужные функции. Еще предварительно нужно настроить сам модуль SIM800L-в сети есть много видео по этой теме, ничего сложного в этом нет. В скетче указываем ваши номера телефонов, корректируем названия охранных зон, можно установить время контроля системы (если прибор работает нормально через заданное время придет контрольная СМС). Заливаем скетч в Arduino и проверяем работу устройства.

Шаг третий. Проверка работоспособности устройства.

При подаче напряжения питания пока загружаются модуль SIM800L и плата Arduino у вас есть примерно 20 секунд чтобы покинуть охраняемое помещение. На модуле SIM800L светодиод указывает на работу в сети- часто мигает это поиск сети, раз в пять секунд- работа в сети. Когда прибор найдет сеть разорвите соответствующие охранные входы, после этого произойдет дозвон или присылка СМС. Значит прибор работает нормально.

Фото СМС. К этому прибору можно будет включить любые охранные извещатели с выходами в виде контактов, реле от исполнительных устройств, только в соответствие с вашими потребностями и фантазией. В целом мы изготовили несложный, охранный прибор. Такой самодельный сторож можно сделать для организации охраны любых объектов. Чтобы включить прибор сигнализации нужно через выключатель на SIM800 и Аrduino подать 4,2 Вольта. При первого входа пройдет звонок на абонента №1, после переключится на №2. Дополнительный №2 предусмотрен для дублирования. Обрыв шлейфа №2,3,4,5 делает выдачу SMS с конкретным названием нарушенного шлейфа, соответственно на оба телефона. Все платы поместим в любом в подходящем корпусе. В общем я думаю это неплохой интересный приборчик который можно в дальнейшем развить далее-добавить функции GSM розетки, управление по DMTF и многое другое.

Подробнее можно посмотреть в видео

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

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

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

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

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

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

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

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

  • управляться АТ-командами;
  • определять местоположение по базовым станциям;
  • воспроизводить аудиофайлы удаленному абоненту или локально;
  • ловить радиоволны;
  • отправлять и получать СМС и данные 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 А.

Максимальное напряжение высокого уровня 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 в начале работы прописывают скетч:

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

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

void sms(String text, String phone)

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

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


Источник: chigap.ru