Jump to content
    

UDP сервер на базе SIMCOM 2G/LTE

Добрый день. 

По задаче необходимо организовать двусторонний обмен трафиком по UDP. Под двусторонним понимаю что данные должны уходить от модема и приходить на модем через UDP/IP-сокет(2 сокета сервера и клиента для варианта с UDP) для дальнейшей их передачи в устройство клиента. Разрабатываемое устройство содержит MCU с uart в сторону SIMCOM 2G/LTE модема (не важно какого 7670/7672/7600/868) так как задача не только в обмене трафика но и сборе данных с приборов по I2C/RS485

Из описания TCP/IP AppNotes для 76xx вижу что :

1. Есть встроенный стек IP.

2. какой-бы режим пропуска трафика не был (transparent, non-transparent) стек TCP реализует TCP-клиент/сервер и только UDP-клиент.  Реализации UDP -сервера в стеке нет.

Вопрос №1: это так? на сегодня UDP-сервер случаем не добавлен?

и если можно кратко по какой-причине его нет в устройстве (нет спроса/нет тех. возможности/ я не понимаю суть работы UDP)

Вопрос №2: Правильно ли понимаю что:

так как мне требуется двусторонний обмен трафиком по UDP, то единственный мой путь с SIMCOM: поднятие сессии PPPoS (over-serial) и, далее, на MCU устройства самостоятельно поднимать стек IP, который поддерживает UDP-сервер и UDP-клиент одновременно.

Вопрос №3: 

если так то где-то читал что реализация PPP в SIMCOM не рекомендуется в продакшн-решениях. Что-то не так с PPP реализацией в модеме/ах?

 

Проясните, пож-та.

Share this post


Link to post
Share on other sites

>>>Реализации UDP -сервера в стеке нет.

Так как IP у оператора в 98% случаев "серый" и динамический, то ..... дальше уже наверное поняли сами......

Для статического, "белого" IP , UDP -сервер делаете сами.

 

Немного другая ситуация для LPWA модулей, например SIM7080G.

Там из-за особенностей регистрации в сети возможно построение UDP сервера.

SIM7070_SIM7080_SIM7090 Series_TCPUDP(S)_Application Note_V1.03.pdf

5.1.3 Build UDP Server

Но тут вступают ограничения по наличию самих LPWA сетей 🙂

 

Поэтому нас уже достаточно клиентов которые отказались от UDP и перешли на MQTT

 

Share this post


Link to post
Share on other sites

@CADiLO Спасибо за ответ.

Да, про серые динамические адреса все понятно. Про делать сами - собственно спасибо что подтвердили догадки.

MQTT в моем случае не подходит. Клиенту нужно некое подобие реал-тайма (RTP) для RAW трафика закольцованных данных с преамбулой, для чего именно НА устройство, а не как обычно С устройства на серверы, клиент откровенно скрывает. TCP не хочет из-за хедера и таймингов на сессию- говорит пробовал не подходит.  на мой взгляд, есть некое заблуждение, но как есть.

Про LPWA + UDP-сервер  буду знать, спасибо. LPWA не подходят.

 

Share this post


Link to post
Share on other sites

@CADiLO Подскажите, пож-та, что по поводу поддержки PPP в модулях? Это мейнстрим функция?

Share this post


Link to post
Share on other sites

В статье вроде как человек рассуждает "чего и как использовать для ПК", где есть USB CDC. у меня только UART.

Т.е. получается иными словами "Для статического, "белого" IP , UDP -сервер делаете сами." ничего не сделаем. Вернее сервер то я подниму на стеке на своем МК, а вот сделать UDP/IP over UART over LTE не выйдет.

Так ?

 

Share this post


Link to post
Share on other sites

Народ для PPP юзает или OpenWRT или линуксоидную среду.

В принципе можно и на микроконтроллере реализовать, но реальнее убедить клиента перейти на более современное.

Будет быстрее и дешевле.

Почитайте про MQTT, вам понравится. Или даже вот так можно извратиться.

Проще, чем MQTT? MQTT/UDP / Хабр (habr.com)

 

Share this post


Link to post
Share on other sites

4 часа назад, ELSE сказал:

2. какой-бы режим пропуска трафика не был (transparent, non-transparent) стек TCP реализует TCP-клиент/сервер и только UDP-клиент.  Реализации UDP -сервера в стеке нет.

В TCP-протоколе роли клиент/сервер определяются ролью в установлении TCP-соединения: активно устанавливаем или пассивно ждём входящего соединения.

Что такое "сервер" и "клиент" для UDP - я не знаю. Так как в UDP нет понятия "соединение", то значит и не может быть серверов и клиентов в терминологии TCP. Что имели в виду SIMCOM-овцы под "UDP-connection" - не очень понятно. Скорее всего это просто выделение и занятие ресурсов нужных для работы с данным UDP-портом. Тогда "UDP Client Connection" должен одновременно позволять и передавать и принимать UDP-кадры. И его одного должно быть вполне достаточно.

 

PS: Кроме того - в SIM8xx есть "UDP Extended Mode". Если уж "UDP Client Connection" не заводится...

Share this post


Link to post
Share on other sites

38 минут назад, CADiLO сказал:

Народ для PPP юзает или OpenWRT или линуксоидную среду.

В принципе можно и на микроконтроллере реализовать, но реальнее убедить клиента перейти на более современное.

Будет быстрее и дешевле.

Почитайте про MQTT, вам понравится. Или даже вот так можно извратиться.

Проще, чем MQTT? MQTT/UDP / Хабр (habr.com)

 

Спасибо за информацию! С MQTT очень хорошо знаком наверное уже более 10 лет. Да, это мое любимое, де-факто, стандарт где решаем проекты по телеметрии.

В целом понятно куда Мир движется. Спасибо вам за наводки

 

Share this post


Link to post
Share on other sites

5 минут назад, jcxz сказал:

В TCP-протоколе роли клиент/сервер определяются ролью в установлении TCP-соединения: активно устанавливаем или пассивно ждём входящего соединения.

Что такое "сервер" и "клиент" для UDP - я не знаю. 

Да, вас прекрасно понимаю. Я старался написать вопрос по SIMCOM в рамках терминологии в AppNotes чтобы исключить неоднозначность. 

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

Share this post


Link to post
Share on other sites

6 минут назад, ELSE сказал:

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

Тогда - имеющиеся механизмы: "UDP Client Connection" и "UDP Extended Mode" - не работают что-ли на приём UDP-кадров?

Share this post


Link to post
Share on other sites

35 минут назад, jcxz сказал:

Тогда - имеющиеся механизмы: "UDP Client Connection" и "UDP Extended Mode" - не работают что-ли на приём UDP-кадров?

По 76хх AppNotes этого нет. По 7000 серии и 800 , нашел такое описание.

выпилено, думаю.

Share this post


Link to post
Share on other sites

Иногда желаниям свойственно сбываться

A7672E

Version: A011B13
[New Features]
1. Added the UDP server function.

A7682E

Version: A011B06
[New Features]
1. Added the UDP server function.

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...