У меня есть микроконтроллерное устройство, которое считывает данные с датчиков и отправляет их через преобразователь Serial to USB (кабель ftdi232). Этот преобразователь Serial to USB подключен к мини-компьютеру ARMv7 -CuBoxс Ubuntu 13.04. Я также подключил WiFi USB-адаптер к CuBox.
Я хотел бы считывать данные с последовательного порта и отправлять их через WiFi и получать на ПК с Windows. Это возможно без программирования сетевых сокетов, используя доступные инструменты? Что-то вроде канала/моста/перенаправления между последовательным портом и WiFi. Мне не нужно общаться с этим ящиком, поэтому постоянного и одностороннего потока данных через WiFi будет достаточно.
Спасибо за любые ресурсы и идеи по организации этого общения.
решение1
Используйте Ncat (http://nmap.org/ncat/). Он многоплатформенный и установлен по умолчанию во многих дистрибутивах GNU/Linux.
На вашем ПК послушайте с помощью Ncat (здесь мы используем порт 55555
, но вы можете использовать любой порт):
nc -l 55555
На CuBox подключитесь к прослушивателю:
nc <Your PC's IP> 55555
Затем, если вы что-то введете в CuBox, это будет отправлено на ваш ПК (введите что-то и нажмите Enter, чтобы увидеть, как это работает).
С помощью bash вы можете легко перенаправить последовательные данные, полученные в CuBox через USB, в nc
. Пример (использование screen
для чтения последовательных данных с терминала):
screen /dev/ttyUSB0 | nc 192.168.1.20 55555
Обратите внимание, что вам следует сменить tty
устройство и указать 192.168.1.20
IP-адрес вашего ПК.
решение2
Также полезным может быть socat
, многоцелевой инструмент сокета. Он может делать то же самое nc
, но также поддерживает двунаправленную пересылку между двумя конечными точками.