Модуль sim800c gsm gprs bluetooth распиновка
В сегменте М2М-решений компания SIMCom Wireless Solutions, один из мировых лидеров в области разработки и производства модулей GSM-GPS/ГЛОНАСС, 3G и LTE, в настоящее время предлагает уже завоевавшую популярность серию SIM800x, представляющую собой хорошо продуманную линейку 2G-модулей. Помимо достаточно внушительного традиционного функционала, эта линейка имеет еще и поддержку Bluetooth 3.0 на уровне чипсета. Наличие Bluetooth — основное отличие новой серии модулей от линейки SIM900x, жизненный цикл которой заканчивается в 2016 г. У модулей 800-й серии имеются и другие функциональные отличия, обусловленные использованием современных чипсетов от компании Media Tek Inc., но появление поддержки Bluetooth — наиболее значимое из них.
Bluetooth
Спецификации Bluetooth входят в протокол передачи данных стандарта IEEE 802.15.1, первые версии которого были созданы в 2002 г., и находят применение во множестве уже привычных нам изделий, от беспроводных гарнитур и клавиатур до телеметрии сложных многофункциональных устройств, состоящих из множества автономных узлов и блоков, состояние каждого из которых необходимо оперативно контролировать. В частном случае это могут быть мобильные телефоны, планшеты, компьютеры, ноутбуки и даже кондиционеры и холодильники. Для этой технологии характерна высокая совместимость при организации беспроводных соединений между сопрягаемыми устройствами. При этом модульные решения в значительной степени экономят время и средства, затрачиваемые на разработку законченного изделия.
Протокол Bluetooth в модулях серии SIM800x реализован до уровня приложений. Для работы с ними пользователю предоставляется простой и гибкий интерфейс в виде АТ-команд. Разработчик может управлять реализованными Bluetooth-приложениями, не вникая глубоко в их технологические нюансы и принцип работы. При этом работа над реализацией аппаратной части сводится к простой «двухходовке»: подключи антенну и подай питание, и модуль (требуемый функционал) будет готов к работе.
Bluetooth-протоколы и профили модулей 800-й серии
Bluetooth имеет многоуровневую архитектуру, состоящую из основного протокола, протоколов замены кабеля, протоколов управления телефонией и заимствованных протоколов. Фактически, спецификация Bluetooth определяет только пять уровней: физический (RF), базовый (baseband, комбинация аппаратных и программных функций), протоколы управления каналом LMP (Link Management Protocol — аутентификация, инициализация соединений и шифрование) и L2CAP (Logical Link Control and Adaptation Protocol — отвечает за процедуры формирования и сборки пакетов), сетевой уровень и уровень приложений (профилей). Профилем называется набор возможностей и/или функций устройства, реализуемых посредством Bluetooth. Доступ клиента к устройству предоставляется на уровне профилей (рис. 1).
Рис. 1. Стек протоколов Bluetooth и доступ к нему со стороны клиентских устройств
К популярным профилям, наиболее широко востребованным в самых различных приложениях и поддерживаемым (или поддержка которых может быть реализована) модулями 800-й серии, относятся:
Чтобы задействовать тот или иной профиль, необходимо установить сопряжение между устройствами (если оно не было установлено ранее), после чего следует установить соединение по требуемому профилю и начать работу. Встречная работа с устройствами Bluetooth 4.0 LE (Low Energy) модулями 800-й серии не поддерживается.
Реализация Bluetooth в модулях SIM800x
Компания MediaTek реализовала поддержку технологии Bluetooth 3.0 на уровне ядра в двух популярных сериях чипсетов собственной разработки — МТ6260 и МТ6261. Обе серии используются компанией SIMCom Wireless Solutions в GSM-модулях линейки SIM800x. В модулях на чипсете МТ6261 отсутствует поддержка CSD (модули SIM800C, SIM800C-DS, SIM800F и SIM868), это их основное функциональное отличие от модулей на чипсете MT6260 (SIM800, SIM800H). В части, касающейся поддержки функционала Bluetooth, упомянутые чипсеты идентичны.
Технология Bluetooth 3.0 совместила в себе:
- поддержку Bluetooth 2.0 с низким энергопотреблением и скоростью передачи данных до 3 Мбит/с;
- использование спецификаций стандарта 802.11, в теории обеспечивающее возможность передачи данных с существенно более высокой скоростью (передача файлов большого объема).
Заметим, что использование в Bluetooth 3.0 методов передачи стандарта 802.11 не влечет за собой их совместимость со спецификациями технологии IEEE802.11(b/g/n) и устройствами Wi-Fi, функционирующими в том же частотном диапазоне.
Приведенные далее примеры работы с технологией Bluetooth посредством модулей производства компании SIMCom Wireless Solutions будут рассматриваться применительно к устройствам SIM800C. Существует две аппаратные версии этих модулей — с 24 и 32 Мбит flash-памяти. Обе они имеют версии предустановленного производителем ПО с поддержкой Bluetooth. В контексте статьи будут рассмотрены версии ПО с поддержкой Bluetooth в части, касающейся работы с этим функционалом. По умолчанию, во всех модулях 800-й серии, во всех версиях встроенного ПО он отключен. Его включение производится командой
Класс излучения и антенны
К выбору Bluetooth-антенны для разрабатываемого устройства стоит подойти столь же серьезно, как и к выбору GSM-антенны. Прежде всего, следует определиться с максимальным расстоянием, на котором предполагается связываться посредством этой технологии с другими устройствами. Класс мощности передатчиков Bluetooth модулей SIM800x соответствует приблизительно значению 1,5, при этом их максимальная выходная мощность составляет 10 дБм (номинальное значение — 7,5 дБм). То есть максимальная дальность бесперебойной связи, при отсутствии препятствий в зоне прямой видимости и использовании антенн с круговой диаграммой направленности, составит около 25 м. Если установление связи на предельных значениях этой дистанции не предусматривается, можно использовать решение, в котором антенна разведена непосредственно на плате. Если же требуется связь на расстоянии более 25 м, рекомендуется использовать направленные антенны, имеющие заметно более высокие коэффициенты усиления излучаемого сигнала.
АТ-команды
Для работы с Bluetooth в модулях SIM800x используются специализированные для этого функционала АТ-команды. Для всей этой серии они являются унифицированными. Ниже приведены основные из них:
- AT+BTPOWER — включение/выключение Bluetooth;
- AT+BTPAIRCFG — конфигурирование настроек подключения;
- AT+BTSCAN — сканирование доступных для соединения устройств;
- AT+BTVIS — включение/выключение обнаружения модуля серии SIM800x;
- AT+BTPAIR — управление сопряжением устройств, оснащенных Bluetooth;
- AT+BTGETPROF — просмотр доступных профилей подключенного устройства;
- AT+BTACPT — подтверждение запроса на подключение;
- AT+BTCONNECT — установление соединения с устройством;
- AT+BTSPPCFG — конфигурирование профиля SPP.
SIM800x и SPP
Рассмотрим установление беспроводного соединения для модуля SIM800C32 (см. листинг). В качестве удаленной стороны выступает компьютер, оснащенный Bluetooth USB-адаптером. Настройка режимов соединения по профилю SPP доступна посредством команды AT+BTSPPCFG.
При этом команда AT+BTPAIR=0,1 задает активный способ сопряжения модуля с удаленным устройством. В этом примере модуль выступает в роли сервера, а инициатором создания пары является ПК. На стороне ПК должен быть активирован исходящий Bluetooth COM-порт. Для этого в окне настроек переходим в пункт меню Start->Settings->Control Pannel->Bluetooth Devices->COM ports->Add, выбираем тип Outgoing и активируем кнопку Browse. ПК выполнит поиск доступных Bluetooth-устройств и покажет их в соответствующем окне (рис. 2).
Рис. 2. Найденные Bluetooth-устройства
Выбираем наше устройство — SIM800С — и нажимаем кнопку OK. В меню Add COM Port появятся два порта: port0 и port1. Выбираем port0 и ожидаем завершения процедуры установки COM-порта, по окончании которой ПК должен соединиться с SIM800С. Появится диалоговое окно, в котором следует ввести произвольный пароль длиной от четырех до 16 цифр.
На стороне SIM800С нужно принять соединение устройств и подтвердить пароль:
Повторное соединение можно открывать, не проходя процесс образования пары, если она не была разорвана, например, самим модулем SIM800С (AT+BTUNPAIR).
Когда SIM800С закрывает порт (см. следующий лог на стороне SIM800С), на стороне ПК порт просто становится недоступным. Выглядит это так, как будто отключили кабель RS232. Данные шлются, но ответа не будет. Его придется закрыть на стороне ПК:
Модуль может выступать и в роли клиентского устройства (инициатор создания пары — модуль). При этом он ведет себя как пассивная (клиентская) пара:
Аналогичным образом можно установить соединение между устройствами по профилю SPP в прозрачном режиме, сделав модуль серии SIM800x невидимым.
Изменения в AT-логе:
Если SIM800С выступает как SPP клиент, то:
После этого могут быть получены и переданы данные в прозрачном режиме. Для выхода из режима TT следует послать в канал управления/данных последовательность «+++»:
Если SIM800С выступает как SPP-сервер, то режим TT будет активен только при выполнении приведенных ниже условий:
- TT режим был включен;
- удаленное устройство послало последовательность SIMCOMSPPFORAPP в качестве самой первой команды после установления SPP.
Отклик на эту последовательность будет выглядеть так:
В качестве послесловия к рассмотренным примерам можно отметить сравнительно небольшой набор используемых команд и относительную простоту их восприятия теми, кто только начинает работать с технологией Bluetooth. Как вариант, профиль SPP может использоваться для дистанционной настройки контроллера в тех случаях, когда другие аппаратные интерфейсы заняты либо затруднен (или нежелателен) физический доступ к устройству.
SIM800x и A2DP
Ниже приведен пример АТ-лога, обеспечивающего выполнение процедуры подключения беспроводной гарнитуры к модулю SIM800C32:
Реализация
В качестве примера наиболее массового применения встроенного Bluetooth-функционала GSM-модулей в клиентских устройствах можно привести его использование производителями терминалов мониторинга транспортных средств для поддержания обратной голосовой связи с водителем. Теперь для инсталляции такого устройства в автомобиль не требуются дополнительные отверстия в панели приборов для подключения гарнитуры. При этом беспроводное подключение позволяет отказаться от использования проводов, что повышает как техническую надежность решения, так и безопасность дорожного движения.
Энергопотребление
В таблице приведены усредненные данные по энергопотреблению модулей SIM800х в различных режимах работы Bluetooth.
О правильном подключении GSM модема SIM800L или по чему не работает модем с Arduino.
Особенности SIM800:
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, можно не раньше трех секунд после включения.
Один из вариантов согласования из документации, обратите внимание на выход 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 вольта, к сожелению отсутствуют голосовые функции! возможно будет удобней в подключении, есть крепежные отверстия.
Все таки как подключать к Arduino:
А что подключать и к чему? разновидностей модулей десятки, версий ардуино плат тоже. Я не рекомендую использовать плату Arduino UNO, как и любую другую с ATmega328, совместно с библиотекой SoftwareSerial для работы с модемом, возможно данная связка подойдет для проверки работы модема и отладки, но в устройствах стабильной работы добиться практически не возможно.
В случаи с Arduino Leonardo и аппаратным UART:
Не простой случай с дешевым модулем на SIM800L, тут нужен отдельный стабилизатор напряжения питания на 4,0 В, нужно согласовывать логические уровни с ардуино при помощи резистивного делителя напряжения, ибо по другому согласовать не получится.
Чуть проще с подобными модулями, где конвертер уровней установлен на плате. Только не забываем дать питание и для конвертера.
Управление модемом:
Часто возникает необходимость удаленно управлять различными устройствами. От некоторых важно получать обратную связь, информацию о сработавших зонах охраны, если речь идет о сигнализации; для некоторых устройств важен настраиваемый алгоритм работы выходов и входов, например в устройствах автозапуска двигателя автомобиля, управление климатом теплиц и овощехранилищ и т.д.
Для того, чтобы удовлетворить множество потенциальных потребностей мной было разработано универсальное устройство на связке микроконтроллера ATmega328P и gsm-модуля Sim800C. Была создана базовая прошивка и приложение на Android для удобства пользователей, также в устройстве предусмотрены интерфейсы для расширения сфер применения: I2C, АЦП, UART2 (от Sim800C), Bluetooth - это для разработчиков.
Общие характеристики:
Размеры: 55х37мм
Питание: 12-14В; 3,7-4,5В.
Используется ШИМ стабилизатор питания на ST1S40
На разъемы выведены 8 портов ввода-вывода.
Есть возможность подключать внешние устройства через UART2 (от sim800C), I2C, Bluetooth.
При необходимости можно запрограммировать реакцию на глушение GSM канала (jumming detection) - все необходимые подключения на плате присутствуют.
Для программирования ATmega328 через ISP и Sim800C через USB интерфейс, используются SMD-контакты(площадки).
Установлен считыватель micro sim с торцевой загрузкой и автофиксацией.
Для уменьшения габаритов и удобства использованы SMD антенны GSM и Bluetooth, также возможно использовать внешнюю антенну с разъемом ipex для большей стабильности. (при использовании SMD GSM-антенны необходимо устанавливать экранирующий короб на цепь питания).
Предусмотрена цепь микрофона и цепь усилителя звукового сигнала 1.4W на Tpa2005.
Плата подходит для корпуса K-7 (korpusplast).
Установлены 2 кнопки и два светодиода для отражения состояния устройства.
На сим-карте gsm модуля нужно создать контакт с именем ADMIN. С других номеров устройство управляться не будет.
Использован кварцевый резонатор частотой 7,3728мГц (8мГц не рекомендуется, при работе по uart с simcom возникают ошибки).
Питание устройства осуществляется от источника 12В (1A) через встроенный ШИМ преобразователь или напрямую от источника 3,7-4,5 Вольт.
Пример использования:
Задача: организовать автозапуск двигателя на автомобиле.
Логика настройки портов:
порт 1 - выход - (зажигание) - включить через секунду после прихода смс, выключить через 10 мин. после включения.
порт 2 - выход - (активация обходчика иммобилайзера) - включить через секунду после прихода смс, выключить через минуту после включения.
порт 3 - выход - (имитация нажатия педали тормоза) - включить через 6 секунд после прихода смс, выключить через 4 сек. после включения.
порт 4 - выход - (стартер) - включить через 7 секунд после прихода смс, выключить через 1сек. после включения
остальные порты (6-8) в данном примере не нужны и мы настраиваем их на выход (для исключения ложных сработок.), но не выставляем задержки включения и выключения.
настройка алгоритма в приложении выглядит так:
в итоге получается такое смс:
(При необходимости можно полностью инвертировать алгоритм, чтобы по умолчанию на выходах была логическая 1 (вместо off будет стоять on, а во время отработки алгоритма включался логический 0 - для некоторых нужд это бывает очень кстати, например есть популярные релейные модули, которые управляются "нулями"
Примечание: Для реального включения модуля в цепь автозапуска, потребуется соединить его с релейным модулем управляемым слаботочными сигналами, а разъемы для прочной фиксации нужно использовать smaw200).
На приложенном видео вы сможете посмотреть как работает этот алгоритм.
Также в базовой прошивке заложена возможность звонка на модуль - устройство автоматически "снимет трубку".
Нажатие на кнопку SA1 повторно активирует алгоритм (удобно для корректировки алгоритма).
Фьюзы:
Плату в домашних условиях изготовить будет сложно, поэтому ее исходник не выложен, однако вы можете приобрести ее (в сборе или конcтруктор + приложение на android) на сайте exDIY, а также мобильное приложение отдельно или полностью проект с исходным кодом (atmel studio).
Надеюсь это устройство будет полезно радиолюбителям для реализации широкого круга задач.
Если у вас возникли вопросы или предложения (по плате, мобильному приложению, прошивке. ), вы можете их написать на форуме в одноименной теме.
Коммерческое использование материалов статьи запрещено без согласования с автором. Все права защищены.
Технические параметры
► Напряжение питания: 3.7 В
4.4 В
► Потребляемый ток режима ожидания: 0,7 мА
► Пиковый ток: 2 А
► Скорость UART: 1200 – 115200 бод
► Формат SIM карты: microSIM
► Рабочий диапазон: EGSM900, DCS1800, GSM850, PCS1900
► Мощность передачи DCS1800, PCS1900: 1 Вт
► Мощность передачи GSM850, EGSM900: 2 Вт
► Режим сети: 2G
► Габариты: 25 мм х 24 мм х 4 мм
Общие сведения
В основе модуля лежит чип SIM800L от SimCom. Рабочее напряжение чипа составляет от 3.4 В до 4.4 В, что делает его идеальным, для прямого питания от литиевой батареи, но
Контакты чипа SIM800L выведены по бокам модуля. Включая контакты необходимые для связи с микроконтроллером интерфейс UART, поддерживаемая скорость от 1200 бит / с до 115200 бит / с с автоматическим определением скорости. Для подключения к сотовой сети, нужна внешняя антенна, которая идет в комплекте с модулем. Так-же, на плате имеется разъем U.FL, если необходимо подключить выносную антенну.
На задней панели расположено гнездо для установки SIM-карты (подойдет любая SIM карта, главное чтобы была активированная). Устанавливать SIM карту необхоимо контактами к чипу SIM800L, а ключ должен располагаться сверху.
Распиновка GSM-модуля SIM800L
На модуле SIM800L расположено 12 контактов, которые необходимы для связи с микроконтроллером и подключении динамика и микрофона. Соединения следующие:
Помните, что подключение модуля к 5 В, приведет к его выходу из строя, он так же не работает и от 3.3 В. Для его работы необходим внешний источник питания, Li-ion аккумулятор или понижающие преобразователи постоянного тока на 3,7 В, 2A.
Питание для модуля SIM800L
Для стабильной работы модуля SIM800L необходим источник питания с выходным напряжением от 3,4 до 4,4 В (в идеале 4,1 В) с максимальным рабочим током 2А. В качестве источника питания можно использовать Li-ion аккумулятор (1200mAh и выше) или стабилизатор напряжения на LM2596.
Подключение
модуля SIM800L к Arduino
Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Макетная плата 400 контактов, breadboard x 1 шт.
► Резисторы 0,128 Вт, 10 кОм x 2 шт.
► Модуль GSM, GPRS на чипе SIM800L x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
Подключение:
Первое делом необходимо припаять антенну или установить выносную, далее установите SIM карту в разъем. Теперь подключаем вывод Tx на модуле к выводу 3 на Arduino. Вывод Rx нельзя подключать напрямую, так как цифровой вывод Arduino Uno использует 5В, а модуль SIM800L использует 3,3В. Необходимо сигнал Tx, поступающий от Arduino UNO, понизить до 3,3В, чтобы не спалить модуль SIM800L. Самый простой способ, это воспользоватся делителем напряжения на резисторах. Подключаем резистор на 10 кОм между выводом Rx (SIM800L) и выводом 2 (Arduino) и второй резистор на 10 кОм между выводом Rx (SIM800L) и GND. Теперь осталось подключить питание модуля, в примере используется стабилизатор напряжения на LM2596.
Читайте также: