TWELITEを使ってみた(その2)

皆さんこんにちは!
今回も前回に引き続き、モノワイヤレス株式会社様の「TWELITE」を使ってみました。「TWELITE」シリーズには、PCのUSB端子に直接差し込むタイプの物が有り、これを使うとPC側からシリアルデータを使って他の「TWELITE」を制御したり、逆に「TWELITE」から送信されたデータをシリアルデータとして収集出来たりします。

MONOSTICK外観

USBに直接挿しこむタイプの「TWELITE」です。「MONOSTICK」の品名で発売されています。
今回の実験ではMONOSTICKを親機として使い、前回製作した実験基板を子機として使って実験を進めます。

MONOSTICKは写真のとおり、USBに直接挿し込むタイプでコンパクトに出来ており邪魔になりません。反面、内部でCPUやメモリが超高速で動いているPCの近くに置かれることになりPCや周辺機器から発生するノイズにさらされます。この事により、もしかすると通信性能が低下するかも知れません。こんな時はUSBの延長ケーブルを使って雑音源から離すと共にチョット高い位置に設置してあげると良好な通信性能が得られると思います。無線はノイズとの戦いです。IoT機器(システム)を設計する際には注意しなくてはならない事が色々有ります。参考となるページがこちらに有りますのでご覧になってください。

今回も説明は、
 ・用意するもの
 ・事前設定
 ・実験
の順に進めて行きます。

組込開発.comのバナー

準備

1.用意するもの

MONOSTICK 1台
MONOSTICKには、購入時に「親機・中継機アプリ (App_Wings)」が書き込まれています。但し、モノワイヤレス様のMONOSTICKのWebページには、「ケースに貼られたシールには出荷時に書込まれたアプリのバージョンが表示されています。以前に出荷されたシールが貼られてないものは超簡単!標準アプリが書込まれています。」との記載が有ります。
「超簡単!標準アプリ」が書き込まれているMONOSTICKに関しましては、実験前に「親機・中継機アプリ (App_Wings)」に書き換える必要が有ります。(書き換え方は「準備」の項目で説明します)

MONOSTICK外観
MONOSTICK外観

TWELITE DIP用実験回路 1台
前回製作した2台のうち、1台を使います。(TWELITE DIPが載ったもの)詳細はここをクリック。

・USB-シリアル変換ケーブル(3.3V用) 1本
基板に接続する側はインターフェース電圧が5Vの物と3.3Vの物が市販されていますが、今回も3.3Vの物を使います。
秋葉原の秋月電子通商様等で販売されています。型式:TTL-232R-3V3(FTDI製)

・TWELITE STAGE-トワイライトステージ 一式
TWELITE STAGE-トワイライトステージはTWELITEを動作させるためのアプリのビルド、書換、設定、そして、データを表示する機能を統合した評価開発環境です。「TWELITE STAGE SDK」と「TWELITE STAGE APP」で、構成されており、今回の実験ではリモコン及び実験回路側の情報収集の為に「TWELITE STAGE APP」が必要となります。「TWELITE STAGE APP」は「TWELITE STAGE SDK」の中に含まれていますので、予めダウンロードの上、PCにインストールをお願いします。モノワイヤレス様の説明ページはこちら。(「▶ダウンロード」の部分をクリックすると各OS用のソフトがダウンロード出来ます。)

・PC 1台
「TWELITE STAGE-トワイライトステージ」を動かす為及びコマンダーやビューアを動かすために必要です。MONOSTICKを使う側に必要です。

・USB電源
前回と同様にTWELITE DIP用実験回路に電源を供給するために必要です。今回の場合はMONOSTICK用にPCを用意していますので、そのPCに余っているUSBの口が有ればそこにUSB-シリアル変換ケーブルを挿してもOKです。

2.事前設定

2-1.MONOSTICKのファームウェア書き換え(「親機・中継機アプリ (App_Wings)」が書き込まれていない場合のみ)
先ほど説明しましたとおり、少し前の出荷分には「超簡単!標準アプリ」が予め書き込まれているようですが、今回の実験では「親機・中継機アプリ (App_Wings)」を使います。書き換えの手順は以下のとおりです。

(1)「TWELITE STAGE APP」をインストールする。
モノワイヤレス様から「TWELITE STAGE SDK」をダウンロードし、解凍します。この中に「MWSTAGE」と言う名前のフォルダが有りますので、これを適当なフォルダに置きます。(私はCドライブの直下に置きました。当初、結構深い階層の下に置きましたが、日本語名のフォルダが有る為か、「TWELITE STAGE APP」が起動しませんでした。Cドライブの直下に置いてからは不具合は有りません。ちなみにOSはwin10です。)

(2)MONOSTICKをPCに挿します

(3)「TWELITE STAGE APP」を起動します。
「MWSTAGE」フォルダの中の「TWELITE_Stage.exe」を起動します。起動すると以下の様な画面が出ると思います。操作するのは右側の画面です。

アプリ起動初期画面
初期画面

(4)シリアルポート選択
先の画面のMONOSTICKの上にカーソルを合わせてクリックすると以下の様な画面になります。

シリアルポート選択後
シリアルポート選択後

(5)アプリの書き換え
次に、「アプリ書換」にカーソルを合わせてクリックしますと、以下の様な画面になります。

アプリ書き換え画面
アプリ書き換え画面

(6)書き換え方法の選択
「BINから選択」をクリックします。すると以下の画面になります。

アプリ種類選択
アプリの種類選択画面

(7)アプリ書き込み
「App_Wings_MONOSTICK_RED_L1304_V1-1-4」(※注)をクリックします。MONOSTICKに対して書き込み及びベリファイが行われます。ベリファイ完了後、以下の画面になります。
※注:今回実験で用いているMONOSTICKはREDタイプですので、これを選びますがBLUEタイプをお使いの場合は、BLUE用のApp_Wingsをお選び下さい。

書き換え完了後
書き換え完了後の画面

(8)書き換えアプリを終了させる
画面右上の「×」を押すとアプリが閉じます。

2-2.子機側の設定
子機側に使う実験基板の設定は、前回と同様に「子機:連続」モードに設定してください。基板上のM1~M3のジャンパーソケットを全て短絡しないようにしてください。

「子機:連続」モードの設定

左の写真の様にM1~M3の全てのジャンパーソケットをGNDと短絡しないようにずらして挿します。

実験

では準備が出来ましたので実験を始めましょう。先ずはMONOSTICKの接続されたPCからTWELITE DIPを載せた実験基板を制御してみましょう。(リモコン)

1.MONOSTICKからTWELITE DIP実験基板を制御する

(1)MONOSTICKをPCに挿して下さい。
(2)「TWELITE STAGE APP」を起動します。(インストール・起動方法は2-1.項を参照してください。)
(3)シリアルポートを選択後、ビューアをクリックしてください。クリックすると以下の画面になります。

ビューア種類選択画面
ビューア種類選択画面

(4)コマンダーをクリックしてください。
最初に説明しましたとおり、TWELITEはシリアルデータを送り込む事で制御することが出来ますが、シリアルデータの文字列作成は手間がかかりますので、ここでは標準で用意されている「コマンダー」と言うアプリを使って制御します。シリアルデータを作成しての制御方法は今後説明します。
コマンダーをクリックすると以下の画面になります。

コマンダー初期画面
コマンダー初期画面

(5)「Enter」をクリックする
画面上の「Enter」、「中ボタン」をクリックするか、エンターキーを押す、画面下中央の「進む/–」をクリックすると次の画面に移ります。

コマンダー注意書き
注意書き

(6)「App_Twelite 0x80コマンド(t)」をクリックする。
クリックするとリモコン用の画面が出ます。

(7)TWELITE DIPの実験基板にUSB-シリアル変換ケーブルを挿し、USBコネクタを電源又はPCに挿して下さい。
TWELITE DIPの実験基板を電源に接続すると、親機であるMONOSTICKと通信を始めます。このため以下の様に左側の画面に実験基板から発信されたデータ列が表示されます。このデータ列をモノワイヤレス様の資料に記載されているデータフォーマットに則って解析すれば、実験基板のDIの状態や、AIの状態を知る事が出来ます。また、このような文字列を作って実験基板に送り込めば、実験基板のDOやPWM出力を制御する事が出来ますが、文字列を作成するのは大変なので今回の実験では予め用意されている「コマンダー」や「ビューア」を用います。

(8)リモコンとして使う
デフォルトで宛先は全子機となっていますので、設定は不要です。その下に並んでいるDI1~DI4が「TWELITE DIP」のデジタル入力に相当するものになります。「SEL(q)」~「SEL(t)」は、DI1~DI4に対応した「IO状態設定マスク」と呼ばれるもので、ここがゼロになっていると、対応するDIが”0″でも”1″でも設定に”反映させない”様になりますので、通常は全て”1″にしておいてください。
操作方法ですが、DI1を反転させるには「DI1(1)」と書いてある部分をクリックしても良いですし、数字キーの”1″を押しても良いです。同様にDI2を反転させるには「DI2(2)」をクリックしても数字キーの”2″を押しても良いです。
「IO状態設定マスク」の操作に関しても同様で、直接クリックする又は括弧内の英字を直接キーボードから入力しても大丈夫です。
PWMも同様ですが、PWMはクリック或いはキーを押すたびに10%ずつ出力が上昇し、100%の次はN.A.(適用外?実質100%の次なので点灯したままになっています)、その次に0%に戻ります。以下に、ある設定状態の時のコマンダーの画面とTWELITE DIPの実験基板の状態を示します。

コマンダーの操作画面
コマンダーで制御された実験基板

コマンダーからDI1及びDI2をオンとし、PWM1の出力デューティ比を10%に設定した状態での実験基板の様子です。DO1とDO2がオンとなり、PWM1出力がうっすらと点灯している事が判ります。

このようにして、MONOSTICKからTWELITEの実験基板を制御する事が出来ます。

2.TWELITE DIP実験基板の状態をMONOSTICK経由で知る

次の実験は、先ほどの実験と逆で、TWELITE DIP実験基板の状態をMONOSTICK側で監視をする実験です。先ほどの実験では「コマンダー」と言う制御アプリを用いましたが、今回は「TWELITE STAGE APP」の中の「標準アプリ ビューア」を使います。「標準アプリ ビューア」を立ち上げる手順迄は先の実験と同じ手順ですので割愛します。

(1)ビューアを選択し、その後標準アプリビューアを選択すると以下の画面になります。
エンターキーを押すか「Enter」と書かれている場所をクリックすると次に進みます。

標準アプリビューア選択後
標準アプリ ビューア選択後画面

(2)エンターを押すと以下の画面に切り替わります。

標準アプリ ビューア起動後
標準アプリ ビューア起動後

(3)TWELITE DIPの実験基板にUSB-シリアル変換ケーブルを挿し、USBコネクタを電源又はPCに挿して下さい。
TWELITE DIPの実験基板を電源に接続すると、親機であるMONOSTICKと通信を始めます。このため先ほどの実験と同様に左側の画面に実験基板から発信されたデータ列が表示されます。また、このデータの内容を解析したものが、右側の画面に表示されます。

実験基板とビューワを接続した直後
実験基板の電源が入った状態

D1~D4が「〇」になっていますので、DIに接続されたスイッチがどれも押されていない状態です。また、A1の値が172になっているので、低めの電圧がかかっている状態です。

実験基板のDI1とDI2を押し、AI1に接続されているボリュームを半分くらいまで回した状態でのビューアの表示です。

スイッチ操作時
スイッチ操作時
スイッチ操作時のビューア画面
スイッチ操作時のビューア画面

DI1とDI2のスイッチを押したため、ビューア画面のD1とD2が「●」に変わりました。また、ボリュームを半分くらいまで回したのでA1の値が大きくなっています。
これで実験基板の情報をMONOSTICK経由で監視出来る事が確認出来ました。

今回の実験はここまでです。次回は「コマンダー」や「ビューア」を使わずにMONOSTICKとTWELITE DIP実験基板との間での実験を行いたいと思います。先にデータ列を作成するのは面倒と書きましたが、マイコンやPCを使ってTWELITEを制御したり、データを吸い上げる為には知っておく必要が有ると思います。お付き合いください。

無線モジュール.comでは無線モジュールを利用した様々な提案・開発を行っております。こちらのページには無線化の際のヒントを載せています。

また、開発実績はこちらに掲載してあります。是非ご覧になってください。