Windows端末で使用する
パソコンのUSB端子にMONOSTICK-モノスティックを接続し、子機の情報を受けたり、子機を操作したりできます。
ダウンロード
Windows版を利用するには.NET4の導入が必要です。またソース編集・コンパイルには VisualBasic 2010 Express などの導入が必要です。導入に際してはシステムのバックアップなどを行う事を推奨します。
※ Windows7 以降では多くの場合動作しますが、COMポートが検出できない場合は対応ドライバ(FTDI社製USBシリアルチップ用)を導入してください。
TWELITE用であれば商用使用も可能です。
- v0.2.0 (Windows .NET4, VB2010 ソースコード付き)
デジタル信号通信の接続例(Windows端末でLEDをオンオフする。)
TWELITE DIP(初級編)で行った「無線リモコンでLEDをオンオフする。」のスイッチをオンオフする代わりにWindows端末の画面上に表示されたボタンでLEDをオンオフしてみましょう。
MONOSTICK-モノスティックは初期設定で親機に設定されていますので相手側は子機を準備して下さい。DO2、DO3、DO4を接続例と同様に配線する事でスイッチとLEDを4個まで増やすことができます。
アナログ信号通信の接続例(Windows端末でLEDの明るさを変える。)
TWELITE DIP(初級編)で行った「無線リモコンでLEDの明るさを変える。」の可変抵抗器の値を変える代わりにWindows端末の画面上に表示されたスライダーボタンでLEDの明るさを変えてみましょう。
MONOSTICK-モノスティックは初期設定で親機に設定されていますので相手側は子機を準備して下さい。PWM2、PWM3、PWM4を接続例と同様に配線する事でスイッチとLEDを4個まで増やすことができます。
操作方法
- MONOSTICK-モノスティックをWindows端末のUSBポートに接続する。
- TWELITE DIPを子機の設定で起動する。
- Windows端末でWindowsアプリを起動する。
- COMポートを選択します。MONOSTICK-モノスティック が1本のみ接続されている場合は、自動選択されます。
- IO送信で、DO1 ~ 4 の設定、また PWM1 ~ 4 の設定を変更して、[コマンド送信] ボタンを押します。子機側のLEDの状態を確認してみてください。
※ 「未設定」状態に注意してください。未設定状態は受信側では評価されません。 - 子機側からの定期送信が行われています。表示内容を確認してください。右部のリストをクリックすると、過去の履歴を表示する事が出来ます。
捕捉:
- 上手く通信しない時は、TeraTerm などのシリアル通信が行われているか確認してください。
- 受信を止めたい時は COMポートの選択で、未選択状態にしてください。
VisualBasic のソース概説
- clsComPort.cls
COMポートの取り扱いをまとめたクラス群。- COMポートのオープン、クローズ
- FTDI チップの認識 (MONOSTICK-モノスティック, TWELITE R の場合は自動接続とリセットの実行)
- COMポートからのデータを読み取り ITweDataPresentation 型のオブジェクトを生成
- clsDataPresetation.cls
- ITweDataPresentation: データの表現形式の基底クラス
- clsDataPresentationAscii: modbus アスキー形式を模した表現
例「:7880123456...[CheckSum][CR][LF]」
- clsDataFormat.cls
- ITweDataFormat: データ形式の基底クラス
- clsDataFormatSimple: 単純な形式「1バイトアドレス+1バイトコマンド+ペイロード」
- clsDataPayload.cls
- ITweDataPayload: ペイロードの形式の基底クラス
- clsDataPayloadIO_0x80: 0x80 コマンドのペイロード (IO設定を要求するとき)
- clsDataPayloadIO_0x81: 0x81 コマンドのペイロード (IO状態を受信したとき)
- MDataGenerator.vb
- 各種ジェネレータ(生成)関数
- genDataPayload: ITweDataPayloadのジェネレータ
- genDataFormat: ITweDataFormatのジェネレータ
- genDataPresentation: ITweDataPresentationのジェネレータ
- modFtdiD2xx.vb
- FTDI の取り扱い用の定義など
- frmMain.vb
- メインウインドウの定義
- frmMain_Load
始動・初期化時の関数 - cmbComPort_SelectedIndexChanged
COMポートの選択時に呼び出される。COMポートのオープン、またはクローズを行う - btnResetLiteR_Click
MONOSTICK-モノスティック をリセットするための処理 - serObject_DataComplete
シリアルポートの読み出しが1書式分終了した時に呼び出される。Delegate にデータをゆだねる。 - serObject_Err
シリアルポート関連のエラー
※ MsgBox は問題があるかもしれない。 - handleDelegData
COMポートからの受信完了時に呼び出される処理関数(delegate の仕組みを利用)。- updateWithComingData
データ入力時の主要処理。リストボックスの先頭に項目を挿入し、先頭を選択状態にする(暗黙に lstIncomingData_SelectedIndexChanged が呼び出される)
- updateWithComingData
- lstIncomingData_SelectedIndexChanged
シリアルポートから受信した各データが格納されるリストボックスで、リスト中の要素が選択された時に実行される。ボタンの状態などを解釈し、受信データ表示部のGUIコンポーネントに反映する。データは ITweDataPresentation 型のオブジェクトで、リストボックスへの表示は Object 基底型のToString メソッドオーバーライドによる。 - updateIOCmd
IO設定要求を送信する設定GUIコンポーネントの値が変更されたときに、ITweDataPresentation型のオブジェクトを生成し、かつ生成したコマンド表現をテキストボックスに表示する。 - btnIoTx_Click
IO設定要求をシリアルポートに送信する。
- frmMain_Load
- メインウインドウの定義