No Image

M590e gsm gprs модуль

СОДЕРЖАНИЕ
0
830 просмотров
20 августа 2019

Шилд М590 от Neru5 медленно но верно набирает популярность, благодаря, в основном, возможности простой и логичной сборке законченного устройства управления.

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

На сегодняшний день актуальна версия M590_V3

Давайте рассмотрим некоторые моменты по сборке и запуску модулей, которые могут вызвать затруднение (составлено по вопросам пользователей):

Начнем со сборки платы GSM модуля M590 от Neoway.

1. Светодиод на плате должен располагаться «минусом» к резистору, полярность светодиода проще всего определить мультиметром на режиме «прозвонки».

2. Танталовые конденсаторы имеют отличную от простых электролитов маркировку, в данном конденсаторе полоса означает «+»

3. GSM модуль располагается на плате точкой или срезом к отметке на плате.

4. Припаивать модуль нужно паяльником 25-30Вт с острым жалом. Контактные дорожки платы покройте тонким слоем флюса и точными касаниями паяльником (1-2сек) припаяйте модуль.

5. Как не странно, но трудности возникают и с держателем SIM карты. Второпях, его банально ломают… На фото показан порядок открытия и закрытия слота.

6. Далее по питанию: питайте сборку от источника питания постоянного тока от 9 до 12В с током 2 А. Разъем питания вставляйте только в разъем шилда. Не путайте с Arduino, иначе сборка не заработает.

7. Теперь о простом, если не смотря на все ваши старания, модуль не запустился:

Первое, что нужно сделать – провести диагностику. Звучит страшно, но на самом деле не сложно

Подключите к компьютеру, запустите сборку, подав питание на разъем шилда, в программе запустите монитор последовательного порта из вкладки «инструменты».

Если в окне терминала вы видите «кракозябы» или символы кириллицы, поменяйте скорость связи в нижнем правом углу окна терминала на 9600. При выборе правильной скорости должны появится строки команд с вертикальной прокруткой.

По этим командам и ответам модуля на них можно выяснить причину отказа:

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

Для этого, найдите строку GsmSerial.begin(38400);

поменяйте скорость связи модуля на другое значение, например 115200 или 9600, перезалейте скетч и снова проведите диагностику.

При успешном выборе скорости строки в мониторе будут выглядеть примерно так:

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

//GsmSerial.println("AT+IPR=9600 ");

Уберите два слеша перед строкой (означают комментарий), установите желаемую скорость или оставьте 9600 и перезалейте скетч.

После загрузки скетча, снова закомментируйте строку смены скорости, а в строке указания скорости связи GsmSerial.begin(38400); поменяйте цифру на установленное вами значение (в нашем случае 9600).

Снова залейте скетч.

Теперь скорость связи изменена и в мониторе должны появиться правильные строки!

8. Распиновка выходных контактов шилда: СН1 – 1и4 клемма СН2 – 2и3 клемма

9. Подключение датчика температуры DS18b20

Если вам нужно задействовать канал измерения температуры, подключите шилд к через плату расширителя портов или припаяйте провода датчика непосредственно к контактам шилда по схеме ниже:

10. Запрос напряжения питания выполняется командой «power»

Запрос возможен на версии программы 590_2 и на более новых.

Измеряется напряжение на разъеме питания шилда.

11. Если после сборки модуля, Sim не регистрируется в сети:

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

Б. смените Sim. Некоторые новые Sim карты не читаются в данном комплекте.

Это встречается не часто, но иметь ввиду стОит.

В. Подождите! Иногда, регистрация в сети занимает больше минуты (в зависимости от уровня сигнала).

Звонки, SMS и GPRS с помощью GSM-модуля Neoway M590

Сегодня поговорим о GSM-модуле Neoway M590. С его помощью можно делать и принимать звонки, посылать и принимать SMS, а также выходить в интернет по GPRS. Цена модуля на AliExpress составляет всего лишь 140 рублей с доставкой в Россию (

2.3$). Для сравнения, ближайшие аналоги в лице модулей SIM800C и SIM800L обойдутся вам в 290 и 460 рублей соответственно.

Пайка и подключение

Модуль продается в виде конструктора из платы и компонентов, которые нужно припаять к этой плате. Собрать модуль не сложно по картинкам, изображающим модуль в собранном виде. Быть может, понадобится еще приложить щупы мультиметра, чтобы понять, какой стороной припаивать светодиод. Если ранее вам не доводилось паять SMD-компоненты, это не сложно. Как это делается, можно посмотреть на YouTube, или прочитать в дополнении в конце заметки Как я спаял свою первую электронную схему.

Что нужно учитывать при подключении:

  1. Для активации модуля контакт K нужно подсоединить к земле, при помощи перемычки, или припаяв;
  2. Модуль питается от 5 В и может потреблять довольно большой ток (200 мА и выше). Поэтому, если запитать его, скажем, от Arduino, он может не работать. Лично я запитал его от лабораторного блока питания;
  3. Модуль использует 3.3-вольтовую логику. Я просто выставил соответствующую перемычку на адаптере с FT232. В общем случае либо вся логика в цепи должна быть 3.3-вольтовой (например, бывают такие модификации Arduino), или же следует использовать преобразователь логических уровней;
  4. Взаимодействие с модулем происходит по UART на скорости 115200 бод. Я использовал screen, и, соответственно, команду screen /dev/ttyUSB0 115200 ;
  5. Модулю нужна полноразмерная SIM-карта, которыми сейчас мало кто пользуется. В вашем телефоне, скорее всего, используется какая-нибудь Nano SIM, или вроде того. Соответственно, понадобится переходник и кусочек двухстороннего скотча. На AliExpress переходник стоит менее 30 рублей (0.5$), в российских интернет-магазинах он обойдется где-то в 250 рублей, в салонах связи — примерно в 500 рублей. В теории можно обойтись без адаптера, положившись на ловкость рук, но с адаптером намного удобнее;

Спаянный и подключенный к компьютеру модуль:

Это что касается подключения. Теперь поговорим об UART-интерфейсе.

В этом проекте посмотрим на практический пример отправки http get запроса при помощи любительского GSM-модуля. Активация GPRS модуля и оправка запроса по TCP будет происходить по нажатию на кнопку.

Для чего нам нужны HTTP-запросы через GPRS?

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

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

Какие же это могут быть операции: отправка электронного письма (некоторые мобильные операторы позволяют через емейл отправлять sms); запись в текстовом файле на сервере сайта; запись в базе данных на сервере сайта; внесение изменений в запись базы данных; послать сообщение в скайп; принять и сохранить фото.

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

Запись в базе данных на сервере – это самая крутая возможность данной технологии. Таким образом мы можем собирать данные с разных, не привязанных к проводному или wifi интернету, контроллеров и сохранять их для дальнейшего отображения в виде всевозможных графиков и таблиц на сайте.

Сохранение снимков с фотокамеры полезно для охранной сигнализации и для удаленной визуальной оценки ситуации на объекте, вызывающем для нас интерес.

Как работает HTTP-запрос?

HTTP запрос работает очень просто – если отправим нашему серверу в интернете набор информации с предопределённым синтаксисом, то он пришлёт нам в ответ данные, которые мы от него запросили. Например, говорим ему: "сервер с доменом geekmatic.in.ua, пришли нам пожалуйста содержимое веб-странички RF_radio_modul". И он присылает нам гору текстовой информации, которую содержит эта страничка.

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

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

Это так называемый запрос "GET". Здесь страничке sensors мы передаем значение переменной sort равное "pd.name" и переменной order равное "ASC". Таким же образом мы можем передать например значение переменной temperatura=32 или vlazhnost=60. Максимальная длина текста такого запроса ограничена настроенной на сервере цифрой – порядка нескольких тысяч символов, но через GPRS лучше передавать GET-запросы по-короче. Данный модуль способен передать 2000 байт. Для длинных запросов и для передачи файлов, в том числе и фотографий, используется POST запрос, который не сильно отличается синтаксисом. В этом проекте мы остановимся пока только на GET запросах через GPRS.

Синтаксис стандартного GET запроса выглядит так

или с передаваемыми данными

В этом проекте мы передадим HTTP GET запрос с обращением к страничке x.php на сервере geekmatic.in.ua. Моя страничка, при обращении к ней, отправит емейл на мой электронный ящик и смс на мобильный (у оператора киевстар можно активировать соответствующую платную возможность принимать емейлы на смс).

Файл x.php содержит следующий скрипт:

При удачном запросе к этому файлу, сервер вернет нам фразу "Запрос принят" и отправит два электронных письма.

Что понадобится для проекта?

Плата контроллера Arduino UNO, а так же источник питания 5 В (я использовал 5 В преобразователя USB 2.0 в TTL UART) и мини кнопка. Если запитать GPRS-модуль от вывода 5 В Arduino UNO, ему не будет хватать мощности и он будет всё время перезагружаться.

Схема подключения GSM GPRS модуля M590 к контроллеру Arduino UNO

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

Кнопка подключается без каких либо резисторов, так как мы её дискретный вход подтянем внутренним резистором к плюсу программным способом. Arduino UNO можно питать и от USB-кабеля и тогда провод на вывод 5V не нужен.

Не забываем подключить антенну к модулю NEOWAY M590 и вставить в него симку GSM-оператора. При чем, если вы только-что ее купили, то она требует активации работы и возможно активации GPRS-интернета. Лучше всего её вставить в смартфон, поддерживающий GPRS, и настроить связь с интернетом для этой сим-карты. Теперь её смело можно вставлять в модуль M590 – всё должно работать.

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

Как происходит процесс передачи команд модулю от контроллера для организации GET-запроса по GPRS?

Все команды в модуль контроллер будет передавать по программному UART. Для этого мы соединили выводы RX и TX платы Arduino UNO с противоположными выводами TX и RX модуля M590.

GSM модуль управляется предопределённым набором так называемых АТ-команд. Самые простые из них мы упустим здесь из рассмотрения и остановимся на командах, косающихся непосредственно TCP-протокола, который и позволит нам передавать и получать данные по GPRS, используя HTTP GET запросы.

Для начала необходимо подать команду подключения к оператору GPRS по его APN

Дальше подадим команду установки соединения по протоколу PPP

Для проверки получения своего IP от оператора отправим

Дальше пишем IP сайта, который необходимо определить при помощи специальных веб-сервисов в интернете, и номер порта – 80.

Устанавливаем соединение с сервером сайта и присваиваем этому соединению номер 1 (для данного модуля одновременных соединений может быть целых два, под номером 0 или 1). Ещё сюда необходимо ввести длину передаваемого запроса в байтах

Только теперь у нас появляется возможность передать тело самого запроса

Загрузка программы в контроллер

Наша программа должна, по нажатию нами на кнопку, активировать GSM модуль подачей кратковременного сигнала на вход BOOT, подождать инициализации модуля в сети оператора, подать АТ-команды по передаче HTTP-запроса на сайт, подождать ответа от сервера и деактивировать GPRS модуль подачей сигнала на вход BOOT.

Готовый текст программы для Arduino UNO выглядит следующим образом

Загружаем данный скрипт в контроллер с поправкой на свой сайт и IP сервера.

Тестируем отправку GET запроса по GPRS

Подключаем все согласно схеме и нажимаем на кнопку. При этом наблюдаем как мигает светодиод на модеме M590 при его включении.

Если включить Монитор порта Arduino IDE, то можно наблюдать последовательность сообщений от контроллера и иметь представление о происходящем бурном общении между нашими чудо-платами.

При удачном выполнении всех директив контроллера модулем GSM, получим в Мониторе порта ответ от сервера. Если вы просто обратились к какой-нибудь веб-странице в интернете, то получите в ответ весь текст страницы в HTML-формате. Я же в результате получил ответ " Запрос принят " и тут же получил емейл со своего сайта и смс на мобилку. При повторном нажатии на кнопку запрос должен повториться.

Выводы

Я давно хотел научиться пользовать GPRS через GSM модем. Когда все наконец сложилось и получилось, я понял, что не так всё и сложно – просто никто не хочет делиться инфой и публиковать правильный синтаксис в интернете.

На практике HTTP запрос получился такой же надёжной и не менее полезной штукой чем SMS. Сразу в уме возникает множество задумок по применению этой фичи. Хотелось бы собрать GPRS GPS-трекер для автомобиля и собирать данные о его похождениях на веб-страничку.

GPRS при пересылке небольших объемов данных выходит на много дешевле чем SMS. UDP запросам и FTP я пока не вижу действенного применения. Хочется попробовать отослать фото с камеры, используя HTTP POST запрос, но возможно сразу лучше начинать играться с более продвинутыми GSM-модулями, такими как A6C.

Шестерня для зубчатого ремня на 30 зубьев под ось 5 мм

Используется для передачи и редукции крутящего момента от двигателя до оси 5 ммКоличество зубьев 30 ..

Обмен информацией между контроллерами Arduino Nano по Ethernet

Двухсторонняя связь модулями ENC28J60 между контроллерами Arduino Я покажу здесь решение, казалос..

Подшипник для зубчатого ремня GT2 20 зубьев

Подшипник для натяжения зубчатого ремня GT2 6мм на ось(крепление) 5 мм20 зубьевШирина 10 мм..

Мотор-редуктор с колесом 66мм

Моторчик з пластмассовым редуктором для установки в роботизированные машинкиВ комплект входит колесо..

Винт М2,5х10мм нержавейка

Винт из нержавейки с резьбой М2,5 для крепления элементов любительских проектовДлина резьбы 10 мм..

Комментировать
0
830 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector