2013-07-23 1 views
-1

Я хотел бы иметь возможность читать и писать с USB-порта с удаленного компьютера, как если бы он был локальным. Я хочу сделать это, написав скрипт python, который устанавливает TCP-соединение с удаленной машиной, а затем постоянно читает с USB-порта и записывает в TCP-соединение и наоборот. Каким образом можно быстро и просто закодировать это на Python?Как закодировать USB-TCP-реле?

+0

http://wiki.python.org/moin/TcpCommunication –

+0

http://sourceforge.net/apps/trac/pyusb/ –

+0

Начните с чтения лучших результатов за соответствующий гугле поиск –

ответ

1

Я должен был сделать то же самое, что вы просите о проекте робототехники, который у меня был в прошлом году. Мы постоянно читали Raspberry Pi на USB-порту, подключенном к плате Arduino, и как только он получил какое-то сообщение, он отправил его через TCP для всех подключенных удаленных клиентов.

Проект называется autonomee и is available on github.

Подводя итог, вы должны сделать следующее:

  1. «Клиент» подключается к серверу, который связан с USB «источник»
  2. есть поток (на сервере) постоянно читает от USB (я бы рекомендовал использовать pyserial или pyusb для этого)
  3. Когда вы получаете какие-то данные, отправить его Повсеместно TCP для удаленного клиента (подробнее об этом ниже)
  4. удаленный клиент продолжает прослушивание данных и всякий раз, когда он получает сообщение, которое оно выполняет ГСЭС это

Самая мысль часть является соединение TCP, и это не что трудно.

Вы можете использовать twisted для более высокого уровня TCP-сервера или просто использовать стандартный класс TCPServer (мы сделали последний). Проверьте примеры в документе SocketServer, они действительно полезны!

Я не могу дать вам больше подробностей, поскольку он очень зависит от того, какие данные вы должны отправить, на какой частоте, но я бы посоветовал вам взглянуть на код, который я подготовил для server и client

+0

Обратите внимание, что Я не очень горжусь тем, как я построил своего клиента, так что, возможно, это не лучший источник вдохновения :-) – halflings

Смежные вопросы