Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Arduino to UDP (socat)

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Всем привет.

Сразу скажу, что ковырять долго маны мне лень, посему решил спросить.
Мне нужно принимать данные с ардиинок с нескольких COM портов и слать их по UDP. Похоже socat — это то, что мне нужно (github.com/...​udioEtrange/socat-windows — это сборка под винду).

Теперь вопрос, какие ключи нужно указать?
Например, принимать данные с портов COM3, COM4 и слать на некоторый IP и порт.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Ось we.easyelectronics.ru/...lnoy-seti-udp-klient.html є готовий приклад для atmega, але не на ардуїно-платформу, чистий С, Ethernet-мікросхема enc28j60.
Ще простіший варіант — модуль esp8266, якщо є Wi-Fi. Через Arduino IDE github.com/esp8266/Arduino все можна зробити, і купа рішень на пальцях розписаних, в т.ч. приклади в самому IDE. Ціна питання ~ $2.

Чи проблема все-таки в доступі до COM?

а що це за дунтшіфт в сторону МК?
ІоТ?

Ethernet-мікросхема enc28j60.
моя копіпаста з модифікаціями

github.com/...ndroid-Home-IR-Automation
іншого проекта з “Com Port Redirector”
www.ulrichradig.de/.../index.php/avr/eth_m32_ex

але в автора, думаю інші проблеми,
які пише, що вирішив

В общем всё сделал при помощи SerialToIP (GUI).

В винде для COM портов больше 9 нужно указывать имя устройства как \\.\COM12.

Обычно несколько ком-портов затруднительно разводить, предпочтительнее токовая петля. Она и по реализации дешевле выйдет, и не обязательно адруино на стороне датчика, может быть что и подешевле.

Можно и самому написать прогу для этого, но неужели нет уже готового решения и я единственный, кто столкнулся с подобным.

Проблема в том, что ты под виндой. Я проверил свой любимый netcat:

netcat -l 9876 < COM14: > COM14:

Оно не работает с ком-портами для чтения, только для записи. Другие утилиты мне копать лень :)

Гляньте github.com/...xamples/rfc2217_server.py
В сорцы вникать особо не надо, достаточно скачать и запустить. По идее должно работать под разными ОС.

я хз конечно что именно надо, но можно поискать по ключевому слову RFC 2217. Сам использую такую штуку чтоб на устройства подключенные к удаленному серверу, заходить напрямую по telnet, без дополнительных манипуляций. По аналогии можно попытаться нагуглить максимально похожее решение.

Теперь вопрос, какие ключи нужно указать?
Большие, длинные и мутные %) Ну хотя бы примеры посмотри, найди свой:
www.dest-unreach.org/...t/doc/socat.html#EXAMPLES
Например, принимать данные с портов COM3, COM4 и слать на некоторый IP и порт.
Вещание со стороны последовательного порта односторонее, типа GPS? Порты лучше указать разные, зачем принимающей стороне геморрой с демультиплексированием?

Підписатись на коментарі