web-dev-qa-db-ja.com

wifi経由でシリアルポートからデータを送信する方法?

センサーからデータを読み取り、シリアルからUSBへのコンバーター(ftdi232ケーブル)を介して送信するマイクロコントローラーデバイスがあります。このシリアルからUSBへのコンバーターは、Ubuntu13.04でARMv7ミニコンピューター-- CuBox に接続されています。また、WiFiUSBアダプターをCuBoxに接続しました。

シリアルポートからデータを読み取り、WiFi経由で送信し、WindowsPCで受信したいと思います。利用可能なツールを使用して、ネットワークソケットプログラミングなしで可能ですか?シリアルポートとWiFi間のパイプ/ブリッジ/リダイレクトのようなもの。このボックスと通信する必要はないので、WiFiを介した一定の一方向のデータストリームで十分です。

このコミュニケーションを設定する方法についてのリソースとアイデアをありがとうございます。

5
PeterPan

Ncatを使用します( http://nmap.org/ncat/ )。これはマルチプラットフォームであり、多くのGNU/Linuxディストリビューションにデフォルトでインストールされています。

PCで、Ncatでリッスンします(ここではポート55555を使用していますが、任意のポートを使用できます):

nc -l 55555

CuBoxでリスナーに接続します。

nc <Your PC's IP> 55555

次に、CuBoxに何かを入力すると、それがPCに送信されます(何かを入力してEnterキーを押すと、動作を確認できます)。

Bashを使用すると、USB経由でCuBoxで受信したシリアルデータをncに簡単にリダイレクトできます。例(端末からシリアルデータを読み取るためにscreenを使用):

screen /dev/ttyUSB0 | nc 192.168.1.20 55555

ttyデバイスを変更し、192.168.1.20をPCのIPに置き換えてください。

3
Peque

多目的ソケットツールであるsocatも役立つかもしれません。 ncと同じことを実行できますが、2つのエンドポイント間の双方向転送もサポートします。

1
JanKanis