Перейти к содержанию
    

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 реализацией в модеме/ах?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>>Реализации 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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кратко о PPP.

https://klink0v.livejournal.com/185280.html

Если еще короче, то устарело и не нужно ни операторам, ни производителям.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Так ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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" не заводится...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

 

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

A7672E

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

A7682E

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...