RS232-Ethernet Adapter
- Войдите на сайт для отправки комментариев
Втр, 04/09/2012 - 14:30
Увидел в инете такую штуку (RS232-Ethernet Adapter)
http://www.buyincoins.com/new_en/details/rs232-to-tcp-ip-ethernet-modem-serial-device-converter-product-6556.html
Заинтересовался в возможности ее реализации с помощью Arduino.
Кто-нибудь таким уже занимался?, или может посоветуете, с чего начать?
Также интересует возможность подключения LPT-принтера к сети.
Я бы не стал заморачиваться. Тем более с LPT, есть стандартные принт-серверы. А у дуины памяти на данные принтера не хватит. Задача нетривиальная, требует изучения ethernet-протокола и написания соответствующего драйвера для компа...
Задача нетривиальная, требует изучения ethernet-протокола и написания соответствующего драйвера для компа...
Ну ethernet-протокол не обязательно. Уже куча готовых либ есть.
А вот "соотвесвующего драйвера для компа" - это да.
Саму железку склепать - дело не хитрое. Только она мертва без подержки со стороны компа. Должен же там кто-то принимать данные из этого ethernet и представлять системе как виртуальный com-порт?
Или самому все это ваять, или искать какие-то Serial-over-TCP решения и использовать их "клиентскую часть". А потом, одного из клиентов реализовывать на ардуине. Гуглил в, свое время, но все решение которые находил - закрытые. И по какиму протоколу идет общение через сеть - неведомо.
Можно, конечно, попытатся занятся реверс-инженирингом, сниферов всяких наставить и пытатся понять как-там они общаются, но.... это сильно захотеть нужно :)
Вообщем ценность той железки на 90% состоит из "COM port management, configuration and test software included."
У COMа задействованы только RxD и TxD.
Драйвер можно сделать, виртуальный СОМ - найти.
А вот с железом что посоветуете?
Драйвер можно сделать, виртуальный СОМ - найти.
Ну не все-так просто. Хотя, конечно, можно сделать что угодно. Но написание драйверов - совсем не тривиальная задача и таки требует некислых скилзов. Причем узкоспецефических.
Хотя.. если это делаяется "для себя", то можно "вывернутся".
Поставить, действительно, готовый виртуальный null-модемный кабель. Такой софт найти free не трудно. Типа создали два виртуальныйх порта COM3 и COM5 который "соеденены между собой".
Потом пишем свою софтину, которая принимает данные из сети и пишет их в COM3. А какой-то клиенское пришложени (для которого все и затевалось) открывает COM5. И думает что это настоящий порт, а не "удаленный".
Получается цеочка
COM(железный)<->arduino<->EtherShield<->софтина-траслятор<->COM3(Virtual)<->Virtual Null Modem Cable<->COM5(Virtual)->Клиентское приложение
Если потом хватит упорства/знаний можно будет часть от "софтина-траслятор" до "COM5" написать в виде собственного драйвера.
А вот с железом что посоветуете?
Дык а что тут с железом? Покупаем разъем RS232-порта, цепляем его на UART ардуины (через согласование уровней, естественно), дальше Ethnernet шилд.
На Wiznet5100 (официальный Ethernet шилд) или на enc28j60. Первый проще в использовании, экономней к ресурсам но чуток дороже.
Второй погиморойней, но дешевле. По идее с такой "тупой задачей" и второй справится на ура.
Ну можно еще, вместо Ethernet-шилда на Wifi-шилд посмотреть.
Хм... кстати вот тут очень инетересно почитать можно (че-то не нашел в прошлый раз этой страницы)
http://en.wikipedia.org/wiki/COM_port_redirector
Оказывается есть таки стандарт пересылки COM-порта по сети "RFC 2217". Так что наверняка софт можно найти. Остально только арудиной слать данынные в соотвествии с этим форматом.
Там же, кстати, и ссылочки на OpenSource редиректоры есть. Так что можно посомотреть как они с сестью общаются. Что посылают, что ждут. Ну и "прикинутся правильным удаленным портом" :)
спасибо leshak
А если взять два LVDS-приёмника и два LVDS-передатчика и на них сделать удлинитель, использующий две пары из UTP-кабеля в качестве LVDS-линий. И усё.
Ну а остальное - дело софта на компе. Даже ардуины не нужно.
спасибо leshak
А если взять два LVDS-приёмника и два LVDS-передатчика и на них сделать удлинитель, использующий две пары из UTP-кабеля в качестве LVDS-линий. И усё.
Если честно, то про LVDS первый раз слышу, но выглядит интерестно.
Но такое решение, естественно, будет менее универсальным. Нужно доп. кабель тянуть (Ethernet уже есть почти везде :)
Вообщем "заменить" тот шилд что вы привели в старте топика - так не выйдет, а вот в вашей узкой задаче (вы про нее ничего не говорили) - может и подойдет.
Ну а остальное - дело софта на компе. Даже ардуины не нужно.
Хе... так ведь "софт на компе" это почти всегда и есть самое трудоемкое. Поэтому и желательно постаратся "вписатся" в какие-то стандарты что-бы использовать уже имеющийся, а не свой делать. Плюс "стандарты" дают шансы на крос-платофрменность.
Но... в описаной вами схеме не очень-то видно где тут "софт на компе" нужен. На стороне LVDS приемника добавлете преобразователь в RS232 (или UART-USB конвертер) и все. Получился обыкновенный RS232-удлинитель. И комп вообще-то даже не в крусе что кто там к нему подключен.
И получилась обычная схема "удлинителя". А уж на чем он сделан XBee, блюпуп, обычный радио, LVDS - второстепенно (кстати глянте, может вам тогда что-то из "бепроводной" когорты подойдет?)
P.S. Только вспомните, еще, что у LPT вам прийдется "кучу линий" кидать. Это же "паралельный интерфейс". Если "в лоб" делать (или скорости LVDS не будет хватать).