реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> как устроены промышленные gsm модемы?
Alexei Kopendako...
сообщение Feb 25 2017, 05:23
Сообщение #1





Группа: Участник
Сообщений: 6
Регистрация: 11-03-08
Пользователь №: 35 806



Доброго времени.

Для начала опишу, что хочется получить на выходе: аналог промышленного модема, являющегося удлинителем ком порта через gsm (модем подключается к любому устройству с RS232/RS485, а на стороне сервера ПО может или использовать виртуальный ком порт - ничего не зная о наличии модема, или работать через tcp, зная ip адрес и порт, на котором ожидает модем)
Из того, что я прочитал на данный момент - эту задачу можно решить несколькими способами:
  1. Купить промышленный gsm модем - так как мне больше на поиграться - то не вариант, ибо ценник не гуманный.
  2. собрать это на основе той же самой sim800 или аналога.

Исходя из тематики форума, останавливаемся на втором варианте sm.gif.
Наличие микроконтроллера в устройстве - это понятно и логично, иначе как организовать настройку модуля и управление им.... Но возникает вопрос: если бы мне надо было устроить общение сервера с микроконтроллером - то тут вопросов нет. С большего все разжевано и я однозначно понимаю, что для этих целей я могу заказать sim800-900. Но мне-то надо опрашивать не мой микроконтроллер, а другую железку. У gsm модуля - один основной UART, по которому идет и управление и обмен. Второй, как я понял, это для отладки и перепрошивки. Как выкручиваться? Использовать второй порт контроллера, и перекидывать данные исполняя роль "проксика"? Вроде бы натыкался на то, что есть модули с 2 UART портами, это мой случай? Какие есть устоявшиеся решения?
Go to the top of the page
 
+Quote Post
aiwa
сообщение Feb 25 2017, 11:23
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 238
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(Alexei Kopendakov @ Feb 25 2017, 07:23) *
Какие есть устоявшиеся решения?

Есть gsm-модули, предоставляющие зашить в них часть своего кода: Embedded AT, Open AT, OpenCPU ...
Пишете процедуру опроса чужого устройства, при необходимости делаете конвертацию к своему протоколу и зашиваете внутрь.
И тогда серверное ПО (или виртуальный порт) ничего не будет знать о существовании модема.
И в этом случае вполне достаточно одного USARTа gsm-модема.
Go to the top of the page
 
+Quote Post
Alexei Kopendako...
сообщение Feb 25 2017, 14:29
Сообщение #3





Группа: Участник
Сообщений: 6
Регистрация: 11-03-08
Пользователь №: 35 806



Цитата(aiwa @ Feb 25 2017, 14:23) *
Есть gsm-модули, предоставляющие зашить в них часть своего кода: Embedded AT, Open AT, OpenCPU ...
Пишете процедуру опроса чужого устройства, при необходимости делаете конвертацию к своему протоколу и зашиваете внутрь.
И тогда серверное ПО (или виртуальный порт) ничего не будет знать о существовании модема.
И в этом случае вполне достаточно одного USARTа gsm-модема.

Процедуру опроса устройства в модем - это не универсальное решение... А есть GSM модули, с 2мя UART, что бы по одному можно было слать AT команды, а по второму обмен? Вроде бы SIM800 такое умеет. Но так ли это я не совсем понял. Или это относится только к EAT прошивке?


Начитался тут форум, и возникли вопросы уже организации связи - предполагается, что модем должен быть подключен к интернету постоянно, (на счет серых ip и прочего я в курсе, и это не проблема решается отдельным тарифом vpn), но тут очень часто проскакивает, что при такой жизни, очень часто соединения получаются подключены, но "зависшие". Это лечится периодическим передергиванием связи? или на данный момент это уже не такая актуальная проблема? (форум я читаю со старых постов.... так что до современного состояния еще не добрался....).
Go to the top of the page
 
+Quote Post
x893
сообщение Feb 25 2017, 15:07
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 021
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Купите GL868 (например) и напишите программу на питоне. Что угодно можно реализовать.
Go to the top of the page
 
+Quote Post
Baser
сообщение Feb 25 2017, 15:08
Сообщение #5


Просто Che
*****

Группа: Свой
Сообщений: 1 278
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(Alexei Kopendakov @ Feb 25 2017, 16:29) *
А есть GSM модули, с 2мя UART, что бы по одному можно было слать AT команды, а по второму обмен?

Такие модули точно есть, но конкретного вам не подскажу, не интересовался.


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

Эта проблема всегда будет актуальной, т.к. это все сети общего пользования с негарантированным качеством обслуживания.
Еще имейте ввиду, что даже при проключенном канале связи в "прозрачном" режиме, ваш виртуальный канал RS-232 не будет обеспечивать стабильные тайминги. Они будут "плавать" в большом диапазоне и далеко не каждое оборудование, рассчитанное на подключение RS-232, будет работать.

В любом случае, возле модема должен быть хост-MCU (или ваша программа внутри модема), который будет устанавливать соединение, следить за его наличием и восстанавливать при обрывах связи и т.д. И в нем обычно наворачивается довольно сложный функционал по конфигурированию и управлению всем этим устройством.
Go to the top of the page
 
+Quote Post
agregat
сообщение Feb 25 2017, 15:15
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 766
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



Цитата(Baser @ Feb 25 2017, 18:08) *
И в нем обычно наворачивается довольно сложный функционал по конфигурированию и управлению всем этим устройством.

Да, точно, вплоть до полного обесточивания модема, многие из них любят заткнуться по полной программе при неустойчивой связи.
И тогда только внешний MCU может отрубить его от питания, и заново включить и проинициализировать.
Все эти скриптовые языке и надстройки для софта пользователя слишком ненадежное решение.
Ну правда это мое личное мнение.
Go to the top of the page
 
+Quote Post
aiwa
сообщение Feb 25 2017, 15:23
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 238
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(Alexei Kopendakov @ Feb 25 2017, 16:29) *
А есть GSM модули, с 2мя UART, что бы по одному можно было слать AT команды, а по второму обмен?


Обмен должен быть "завернут" в AT команды. Для этого нужен всего лишь один порт.
EAT прошивка делает возможной реализацию без дополнительных расходов на маразматическую возню с AT командами на стороне сервера.
Грубо говоря, простейший "удлинитель ком порта через gsm" - gsm-модем получает поток данных, например, по tcp-соединения из эфира и плюет их в порт,
подключенный к опрашиваемому устройству и, соответственно, полученное из порта отсылает по tcp-соединению обратно.

Цитата(Alexei Kopendakov @ Feb 25 2017, 16:29) *
но тут очень часто проскакивает, что при такой жизни, очень часто соединения получаются подключены, но "зависшие".
Это лечится периодическим передергиванием связи?

Соединения могут быть "зависшими" из-за ошибок в ПО. Но лечится, иногда бывает, при содействии провайдера, передергивания связи недостаточно и необходимо перечитать симку. В принципе, можно проресетить модуль.
Go to the top of the page
 
+Quote Post
Alexei Kopendako...
сообщение Feb 25 2017, 15:35
Сообщение #8





Группа: Участник
Сообщений: 6
Регистрация: 11-03-08
Пользователь №: 35 806



Цитата(Baser @ Feb 25 2017, 18:08) *
В любом случае, возле модема должен быть хост-MCU (или ваша программа внутри модема), который будет устанавливать соединение, следить за его наличием и восстанавливать при обрывах связи и т.д. И в нем обычно наворачивается довольно сложный функционал по конфигурированию и управлению всем этим устройством.

так я потому и интересуюсь gsm модулем, у которого 2 uart. А на счет таймингов, можно чуть по подробнее? в смысле, на сколько все плохо. Какого размера пакеты обычно передаются ? я в том плане, что можно ли ожидать, что посылка 100 байт дойдет от сервера до gsm модуля, и соответственно до опрашиваемого устройства одним куском или это из разряда сферического коня в вакууме? И лучше сразу думать в сторону буфера в микроконтроллере?
Go to the top of the page
 
+Quote Post
aiwa
сообщение Feb 25 2017, 15:50
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 238
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(Alexei Kopendakov @ Feb 25 2017, 17:35) *
так я потому и интересуюсь gsm модулем, у которого 2 uart.

Не понятно, зачем gsm модулю обязательно иметь 2 uart-а?
Если уж Вы решили потратиться на дополнительный микроконтроллер, управляющий gsm-модемом, то логично 2 uart-а иметь у этого управляющего контроллера.
Go to the top of the page
 
+Quote Post
alex2103
сообщение Feb 25 2017, 16:50
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945



Цитата(Alexei Kopendakov @ Feb 25 2017, 19:35) *
А на счет таймингов, можно чуть по подробнее? в смысле, на сколько все плохо. Какого размера пакеты обычно передаются ? я в том плане, что можно ли ожидать, что посылка 100 байт дойдет от сервера до gsm модуля, и соответственно до опрашиваемого устройства одним куском или это из разряда сферического коня в вакууме? И лучше сразу думать в сторону буфера в микроконтроллере?

Вполне обычной бывает задержка в 2,5 минуты. Все что больше считаю обрывом соединения. Чаще всего задержка порядка 5-15 секунд. От размера пакета не зависит. Зависит от загруженности сети.
100 байт должны дойти одним куском - зависит от настроек MSS TCP стека модема. Весь обмен по UART конечно должен быть сделан на внешнем МК со всякими буферизациями, перезапросами и прочими фишками о которых вы сейчас даже не догадываетесь.

Сообщение отредактировал alex2103 - Feb 25 2017, 16:51
Go to the top of the page
 
+Quote Post
Alexei Kopendako...
сообщение Feb 25 2017, 17:59
Сообщение #11





Группа: Участник
Сообщений: 6
Регистрация: 11-03-08
Пользователь №: 35 806



Цитата(aiwa @ Feb 25 2017, 18:50) *
Не понятно, зачем gsm модулю обязательно иметь 2 uart-а?
Если уж Вы решили потратиться на дополнительный микроконтроллер, управляющий gsm-модемом, то логично 2 uart-а иметь у этого управляющего контроллера.

Так я первоначально по простоте душевной, первоначально думал, что по одному порту посылать в контроллер управляющие команды, а второй перевести в trancperent mode - (как я понял, в этом режиме все данные попавшие на вход порта, пересылаются на открытый сокет и обратно). Но в виду того, что было сказано о доставке пакетов - если решусь на реализацию, то буду делать буферизацию в контроллере. Соответственно это будет 2 порта в контроллере, а не в модуле.

Спасибо большое за ответы, минимальное просветеление пришло, теперь надо обдумать все более тщательно, а надо ли оно мне sm.gif
Go to the top of the page
 
+Quote Post
Hub
сообщение Mar 2 2017, 14:23
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 7-10-15
Из: Санкт-Петербург
Пользователь №: 88 743



Цитата(Alexei Kopendakov @ Feb 25 2017, 20:59) *
Так я первоначально по простоте душевной, первоначально думал, что по одному порту посылать в контроллер управляющие команды, а второй перевести в trancperent mode - (как я понял, в этом режиме все данные попавшие на вход порта, пересылаются на открытый сокет и обратно). Но в виду того, что было сказано о доставке пакетов - если решусь на реализацию, то буду делать буферизацию в контроллере. Соответственно это будет 2 порта в контроллере, а не в модуле.

Спасибо большое за ответы, минимальное просветеление пришло, теперь надо обдумать все более тщательно, а надо ли оно мне sm.gif

предлагаю сделать проще и надежнее: использовать один УАРТ модуля для настройки и обмена.
т.е.:
1. включили модуль
2. настроили
3. подключились к серверу в прозрачном режиме
4. обмениваетесь данными

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


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st September 2017 - 06:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01448 секунд с 7
ELECTRONIX ©2004-2016