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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Serial-over-Ethernet, (существует ли общепринятый стандарт?)
TobyBar
сообщение Feb 27 2017, 12:43
Сообщение #16





Группа: Новичок
Сообщений: 2
Регистрация: 16-02-17
Пользователь №: 95 478



Цитата(Doka @ Jan 5 2011, 09:10) *
что нужно:
иметь возможность пробрасывать UART в LAN с собственной ембеддед-коробочки и чтобы этот UART на хосте отображался как виртуальный последовательный порт (/dev/ttyX; COMx).
в первую очередь для Linux, во вторую - для M$ XP/Vista

начал ковырять инфопространство по поиску такого стандарта:
http://en.wikipedia.org/wiki/Serial_over_LAN - implemented as a payload type under the RMCP+ protocol in IPMI (аппаратная поддержка материнками???.. из серии KVM-over-LAN?)
http://sourceforge.net/projects/serialoverip/ - 2002г, линукс-то-линукс (не создаётся виртуального девайса)

огромное число коммерческих решений, использующих проприетарные(?) протоколы??
http://www.netburner.com/products/serial_to_ethernet.html
http://www.dcbnet.com/datasheet/ss1ds.html
http://www.industrialethernet.com/net232-dte.html
http://www.moxa.ru/group/listAll/14890/
- но это железки, а интересует лишь "стандартный" драйвер для хоста (виртуальный ком-порт) и описание инкапсуляции протокола для реализации на стороне ембеддед-девайса.

вот интересный продукт (Win & Lin) - http://www.virtualserialport.com/ :



но как это реализовывать на стороне ембеддед-девайса???




UPD: http://en.wikipedia.org/wiki/COM_port_redi...ource_solutions - вот тут список решений еще, кто-нибудь использовал что-нибудь из этого?..


Если не ошибаюсь, то тут скрин Serial to Ethernet Connector от Eltima, а адрес домена странный и открывается VSPD. Вот тут есть описание этого продукта и на русском http://www.eltima.com/ru/products/serial-over-ethernet/
Go to the top of the page
 
+Quote Post
svss
сообщение Jun 5 2017, 09:44
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 231
Регистрация: 19-12-08
Из: Новосибирск
Пользователь №: 42 594



Путаете LAN-connected COM-port и
SOL (serial over LAN).
Впрочем, автор темы тоже, но меньше и - 6 лет тому назад.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Jun 18 2017, 23:57
Сообщение #18


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

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Я бы сделал так.

1. Посылать сериальные пакеты через UDP на хост. Ну и обратно также.
2. На хосте ставится драйвер, создающий повторитель порта. Это такая фигня, что у нее возникают два сериальных устройства в системе. Они соединены между собой. Что посылается в одно из них мгновенно появляется на выходе второго. Надо поискать в интернете и скачать. Вот навскидку. Я не проверял, но похоже оно. Сделайте поиск сами.
https://freevirtualserialports.com/
https://sourceforge.net/projects/com0com/
http://kc.flexradio.com/knowledgebasearticle50062.aspx
3. Пишете простую апликацию, соединяющую сериальный порт с UDP портом.

Здесь написано как сделать на TCP, но UDP сериальному соединению больше подходит. Я советую сделать на UDP.
com0com.sourceforge.net/doc/UsingCom0com.pdf

Идея понятна?
Go to the top of the page
 
+Quote Post
Рыжий Тигра
сообщение Dec 26 2017, 18:25
Сообщение #19





Группа: Участник
Сообщений: 6
Регистрация: 24-09-15
Из: Украина, exSU
Пользователь №: 88 529



Нужна помощь!

Есть Raspberry Pi 3, на нём pppd через GPRS-модем (скорость приёма-передачи - хорошо если 30-40 килобод), преобразователь USB-COM (подключен к некоему устройству на скорости 115200) и ser2net. На другом конце TCP-соединения - комп под Windows, на нём HW VSP (бесплатный однопортовый) и программа, которая умеет обмениваться пакетами с упомянутым устройством через COM-порт.
Проблема: как только размер отправляемого c компа пакета превышает три-четыре десятка байт, как в связке HWVSP-TCP-ser2net начинаются неприятности - пакет принимается на другом конце в два приёма: приходит начало пакета, а после паузы в три-четыре сотни миллисекунд - остальное. Устройство, натурально, расценивает этот таймаут как недопустимо большой и отбрасывает обе половинки пакета.
Опытным путём удалось установить, что допустимый интервал между байтами пакета - в пределах 20-30 миллисекунд, максимальный размер пакета - 255 байт, а программа не отправляет следующий пакет, пока не получит ответ на предыдущий либо пока не истечёт таймаут (а у программы он довольно длительный - десятки секунд).
Соответственно, вопрос: либо что можно сделать, чтобы пакеты не рвались при их передаче через TCP, либо какую софтинку применить на Windows-стороне, чтобы изображала из себя COM-порт и передавала данные UDP-пакетами?
Go to the top of the page
 
+Quote Post
Студент заборстр...
сообщение Dec 27 2017, 16:26
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 317
Регистрация: 16-09-17
Пользователь №: 99 334



Что ваяяете если не секрет?
Хотите сделать свой велосипед - аналог эзеркат?

Мы уже работаем над этим.
Поэтому, ребят, можете "расслабиться".
Как сделаем Вам написать за сколько у нас Вы его сможете купить?
Go to the top of the page
 
+Quote Post
Рыжий Тигра
сообщение Dec 27 2017, 17:35
Сообщение #21





Группа: Участник
Сообщений: 6
Регистрация: 24-09-15
Из: Украина, exSU
Пользователь №: 88 529



Студент заборстроительного, ситуация ещё хуже - уже всё купили: и станок с микроскопическим таймаутом, и прогу к нему, и raspberry, и даже модем GPRS'ный. Больше начальство ни копейки не даст. А запустить всё это надо до конца позапрошлой недели. :-( Поэтому максимум, что могу позволить себе (или кому-то) до конца года наваять, это .ini-файл или конфигу к готовой софтинке; в особо крайнем случае - взять софтинку опен-сорсную и дописать кусочек к ней. Пока упёрся в катастрофическое незнание - какую именно софтинку курочить. :-(
Go to the top of the page
 
+Quote Post
Студент заборстр...
сообщение Dec 27 2017, 18:52
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 317
Регистрация: 16-09-17
Пользователь №: 99 334



Цитата(Рыжий Тигра @ Dec 27 2017, 20:35) *
Студент заборстроительного, ситуация ещё хуже - уже всё купили: и станок с микроскопическим таймаутом, и прогу к нему, и raspberry, и даже модем GPRS'ный. Больше начальство ни копейки не даст. А запустить всё это надо до конца позапрошлой недели. :-( Поэтому максимум, что могу позволить себе (или кому-то) до конца года наваять, это .ini-файл или конфигу к готовой софтинке; в особо крайнем случае - взять софтинку опен-сорсную и дописать кусочек к ней. Пока упёрся в катастрофическое незнание - какую именно софтинку курочить. :-(

"Плохо когда пироги начинает печь сапожник, а сапоги точать - пирожник"©
Рекомендую Вам выбросить на помойку всё Вами перечисленное и поменять специальность beer.gif
Go to the top of the page
 
+Quote Post
Рыжий Тигра
сообщение Dec 27 2017, 20:58
Сообщение #23





Группа: Участник
Сообщений: 6
Регистрация: 24-09-15
Из: Украина, exSU
Пользователь №: 88 529



Студент заборстроительного, взаимно. Торгуй лучше гербалайфом. Или вискасом. Программы продавать - явно не твоё. :-(
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Jan 6 2018, 06:14
Сообщение #24


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

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(Рыжий Тигра @ Dec 26 2017, 21:25) *
Нужна помощь!

Есть Raspberry Pi 3, на нём pppd через GPRS-модем (скорость приёма-передачи - хорошо если 30-40 килобод), преобразователь USB-COM (подключен к некоему устройству на скорости 115200) и ser2net. На другом конце TCP-соединения - комп под Windows, на нём HW VSP (бесплатный однопортовый) и программа, которая умеет обмениваться пакетами с упомянутым устройством через COM-порт.
Проблема: как только размер отправляемого c компа пакета превышает три-четыре десятка байт, как в связке HWVSP-TCP-ser2net начинаются неприятности - пакет принимается на другом конце в два приёма: приходит начало пакета, а после паузы в три-четыре сотни миллисекунд - остальное. Устройство, натурально, расценивает этот таймаут как недопустимо большой и отбрасывает обе половинки пакета.
Опытным путём удалось установить, что допустимый интервал между байтами пакета - в пределах 20-30 миллисекунд, максимальный размер пакета - 255 байт, а программа не отправляет следующий пакет, пока не получит ответ на предыдущий либо пока не истечёт таймаут (а у программы он довольно длительный - десятки секунд).
Соответственно, вопрос: либо что можно сделать, чтобы пакеты не рвались при их передаче через TCP, либо какую софтинку применить на Windows-стороне, чтобы изображала из себя COM-порт и передавала данные UDP-пакетами?


Вы собрали из готовых кусков или что-то сами писали?
Условие, стимулирующее начало передачи пакета настолько неоднозначное и есть много взаимоисключающих критериев, что надо в каждом случае индивидуально отлаживать. Если сами писали код, то не помешает после записи сделать вызов int fsync(int fd);
Go to the top of the page
 
+Quote Post
smart_pic
сообщение Jan 7 2018, 09:38
Сообщение #25


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

Группа: Участник
Сообщений: 178
Регистрация: 18-12-10
Из: Ставрополь
Пользователь №: 61 708



В программе HWVSP-TCP-ser2net есть настройки, можно ими поиграться немного. Есть режим эмуляции времени передачи по СОМ порту.
потом можно снизить скорость на СОМ порту до 9600 и сделать больше буфер приема. Некоторые проги рассчитывают таймауты относительно скорости передачи (в некоторых случаях помогало)
Go to the top of the page
 
+Quote Post
_Thomas_
сообщение Jan 8 2018, 13:30
Сообщение #26





Группа: Участник
Сообщений: 8
Регистрация: 31-12-17
Из: Праворулёвск, город у моря
Пользователь №: 100 906



Цитата(Рыжий Тигра @ Dec 26 2017, 19:25) *
Соответственно, вопрос: либо что можно сделать, чтобы пакеты не рвались при их передаче через TCP, либо какую софтинку применить на Windows-стороне, чтобы изображала из себя COM-порт и передавала данные UDP-пакетами?

Если не можете разобраться / настроить / нет желания ковыряться с багами "вашей" виндовой программы - то стоит взять какой-либо одноплатный компьютер с линуксом, прокидывать сериал туда по сети, а с одноплатника уже в к комп с виндой - либо через USB Device / OTG + g_serial, либо через USB-Serial мост.

В общем случае у вас контроля над фрагментацияй пакетов по сети нет.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th April 2024 - 18:01
Рейтинг@Mail.ru


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