シリアル通信経由で、データを送信、および受信するサンプルプログラムです。
通信パラメータ設定を変更することもできます。
サンプル仕様 |
※サンプルプログラムの初期値です。 |
プログラム名 |
./comwriteread.py |
ボーレート |
9600bps |
データ長 |
8 |
ストップビット |
1 |
パリティ |
なし |
pySerialモジュール (https://pythonhosted.org/pyserial/)を使ったサンプルプログラムです。
サンプルプログラムを実行する場合、事前に、pySerialをインストールしてください。
なお、Pythonはインタープリタ型のプログラム言語です。
このため、事前にソースコードをコンパイルする必要はありません。
1.サンプルプログラム起動後に使用するシリアルポート名を入力します。
例:COM-1(USB)Hを1台のみ使用する場合のシリアルポート名
/dev/ttyUSB0
例:COM-2(PCI)Hを1台のみ使用し、デバイス上のCN1とケーブル接続する場合のシリアルポート名
/dev/ttyCom0
2.シリアルポート名を指定すると、コマンドメニューが表示され、キーボード入力待ちとなります。
キーボードで該当する数字を入力し、希望するコマンドを選択します。
3.コマンドメニューで、"0:Set Parameter"コマンドを選択すると、シリアル通信のパラメータを設定できます。
シリアル通信のパラメータを変更しない場合は、選択する必要ありません。
各パラメータは、設定可能なパラメータリストを表示した後、キーボード入力待ちとなります。
キーボードで該当する数字を入力し、希望するパラメータを選択してください。
全パラメータを選択すると、"Set Parameter OK"が表示されます。
その後、設定された通信パラメータ一覧が表示され、再び、コマンドメニューが表示され、キーボード入力待ちとなります。
例:ボーレート:38400bps、データ長:8ビット、ストップビットなし、パリティなし、全二重、フロー制御なしの場合
4.コマンドメニューで、"1.Write"コマンドを選択すると、"Input
Write Data:"が表示され、キーボード入力待ちとなります。
シリアル通信経由で文字列を送信しない場合は、コマンド選択する必要ありません。
送信する文字列データをキーボードで入力した後、Enterキーを押すと、シリアル通信経由で文字列データが送信されます。
正常に文字列が送信できると、"Send OK"と表示され、再び、コマンドメニューが表示され、キーボード入力待ちとなります。
例:送信する文字列に"Test string"を指定した後、Enterキーを押した画面表示
5.コマンドメニューで、"2.Read"コマンドを選択すると、"Read
Data: b"の表示に続き、シリアル通信経由で受信した文字列が表示されます。
シリアル通信経由で文字列を受信しない場合は、コマンド選択する必要ありません。
受信した文字列を表示し、再び、コマンドメニューが表示され、キーボード入力待ちとなります。
一度に受信できる文字列は、最大50文字です。
タイムアウト時間は1秒です。
例:受信した文字列がない場合、下図のような画面表示
例:"Test string"文字列を、シリアル通信経由で受信した画面表示
5.コマンドメニューで、"3.Exit"コマンドを選択すると、サンプルプログラムは終了します。
【補足: 設定可能なシリアル通信パラメータ一覧】
全てのシリアル通信パラメータは、送信側と受信側で一致させる必要があります。
通信パラメータの不一致があると、正常に通信しません。
通信パラメータ名 |
パラメータ設定画面 |
概要 |
Baud Rate |
ボーレートは、300bps~921600bpsで設定できます。 |
|
Byte Size |
データ長は、5~8で設定できます。 |
|
Stop Bit |
ストップビットは、1、1.5、2から選択できます。 |
|
Parity |
パリティを選択します。 None:なし(パリティチェックしなし) |
|
Flow Control |
ハードウェアフロー制御を選択します。 None: フロー制御しない |