2016年1月19日火曜日

TWE‐LiteのSDKを活用して、ファームを作る上で理解しておきたいこと。[途中まで]

[はじめに]

ToCoNet のコールバック関数(cbAppColdStartやcbToCoNet_vMainなど)の説明のページではありません。
下記PDFのユーティリティの説明です。
→ToCoNet_SDK_manual_201406.pdfの170ページ

[項目]

とりあえず、理解しておかないとダメと思うこと一覧
-インターフェース系-
・utils (IOコントロール・ステータス)
・UARTコントロール
・I2C
・SPI
-ワイヤレス系-
・受信
・送信


[utils (IOコントロール・ステータス)]

・ポートの入出力設定
vPortAsOutput(DO4);
vPortAsInput(DO6);

・出力状態設定
vPortSetHi(DO5);
vPortSetLo(DO5);

・ポートの状態読みだし
bPortRead(DO4);

・ポートのプルアップを停止
vPortDisablepullup(DO4);
※ADCするときに解除する

*プログラム例*
-状態をに従って、ポートをHかLか出力する。
・例1
    // DI1: Lo -> DO4: Hi,  DI1: Hi -> DO4: Lo
    vPortSet_TrueAsLo(DO4, !bPortRead(DI1));
 
・例2
  // DI1: Lo -> DO4: Hi,  DI1: Hi -> DO4: Lo
    if( bPortRead(DI1)){
    vPortSetHi(DO4);
    }else{
    vPortSetLo(DO4);
    }

*参考先*
ToCoNet_SDK_manual_201406.pdfの176ページ

[UARTコントロール]



・表示例
vfPrintf(&sUartStream, "HELLO WORLD!\r\n");


*参考先*
http://dsas.blog.klab.org/archives/52201101.html
   →Test03: シリアル経由でデバッグメッセージを出力
http://mono-wireless.com/jp/tech/Programming/PERIPH_UART.html


[I2C]

<追記予定>

[SPI]

<追記予定>

[受信]

<追記予定>

[送信]

<追記予定>

2016年1月12日火曜日

IEEE802.15.4のパケットを覗いてみた[パケットスニファ・アナライザ] モノワイヤレス

to:各位
cc:忘却しているねじねじ

お疲れさまです。
ねじねじです。

TWE-Liteは、IEEE802.15.4の仕様です。
これからファームを作成する予定にしているが、無線部分のファームを作成するとき、デバッグが必要になる。送信,受信両方ファーム作成してデバッグを進めることは難しい。そのため、送信パケットの中身をモニターしたい。

今回、モノワイヤレス公式のパケットスニファ・アナライザを利用して中身を覗いてみた。

http://mono-wireless.com/jp/tech/sniffer.html
基本的には、上記URLの通りPCの設定をすればよかった。
自分の環境は、すでに"ToCoNet SDK”を導入していたのでインストールのみでよかった。
"ToCoNet SDK”:http://mono-wireless.com/jp/products/ToCoNet/TWESDK.html

つまずいた点

・1点目
”Jennic Sniffer Server (JSniffer) の起動”だ。
→”C:\Jennic\Tools\Wireshark\Sniffer_Server にある SnifferServer.exe を起動します”と記載ある。
"ToCoNet SDK”環境では、C:\TWESDK\Tools\Sniffer\Sniffer_ServerのSnifferServer.exeにある。

・2点目
”超簡単!TWE標準アプリ”の初期値は18チャンネルになっている。


起動してみた結果

こんな感じにモニターできました。



中身こんな感じになっているみたいです。
まだ、あまりプロトコルに詳しくないですが・・・間違ってるかも。




IEEE802.15.4パケット構造の説明
http://mono-wireless.com/jp/tech/802_15_4dataframe.html

データの中身の説明

http://mono-wireless.com/jp/products/TWE-Lite-DIP/TWE-Lite-DIP-step3-81.html

最後に

これで、無線部分のファームのデバッグが出来そうです。


以上です。

2016年1月11日月曜日

TWE-Liteの通信距離はどれくらい?

to:各位
cc:忘却しているねじねじ

お疲れさまです。
ねじねじです。


1   はじめに

無線モジュールであるTWE-Liteの無線伝送距離は、キー要素だ。
公式webサイトでは、1km届いたと記載ある。
http://mono-wireless.com/jp/products/TWE-Lite-DIP/range.html


2. 目的

距離vs電波強度の観測

3. 実験

3.1 準備

■受信側


ハード:PCにToCoStickを挿入
ファーム:"超簡単!TWEアプリ"
電波強度:観測のため”ToCoStick 標準アプリケーション” のLQIをプロット


■送信側

ハード:TWE-Lite-DIP-UFL
ファーム:"超簡単!TWEアプリ"
電圧:不明

3.2 方法

送信側は、大堀公園の0地点に設置。アンテナの向きは島の方向に向けた。水面から1.5メートル?の植木に置いた。

受信側は、島の北(上)方向へ歩き、電波強度の観測した。受信アンテナは水面から2m?ぐらい。
※距離はグーグルマップより算出


4. 結果

下記に示しているグラフとなった。255m付近で完全に受信しなくなった。


※PdBm換算方法
詳しくは、http://mono-wireless.com/jp/products/TWE-Lite-USB/monitor.html 参照


5. 考察

受信デバイスの高さやアンテナ方向に次第で、電波の質・パケットが受信可能かどうかが大きく変わった。172m、207m地点では、パケットが受信しないこともあった。



6. むすび

今回使用した、TWE-Liteはプログラムやハード検証用で購入したためアンテナ内臓型を購入した。
次回、外部アンテナを使用できるTWE-Lite(TWE-001L-DIC-SMAなど)で検証する。
また、ソフトウェアに関しては、”IEEE802.15.4/ZigBee測定ツール”がある。
http://mono-wireless.com/jp/tech/measurement_tool.html
パケットエラー測定ツールすることで、詳細な確認できるだろう。


以上

2016年1月6日水曜日

TWE-LiteをAVRやPICみたいなマイコンぽく使うには?

to:各位
cc:忘却しているねじねじ

お疲れさまです。
ねじねじです


以前から、わくわくしているデバイスの紹介?です。

それは、モノワイヤレス株式会社から販売されているTWE-Liteです。IoT製品かなぁ?
>モノワイヤレス株式会社:http://mono-wireless.com/jp/index.html

モノワイヤレス株式会社は、ポテンショメーターで有名な東京コスモス電機株式会社から分離して独立した会社です。


TWE-Liteとは?

『TWE-Lite DIP (DIPタイプ)』は、ブレットボードや基板に実装しやすく『TWE-Lite (SMDタイプ)』をDIPの形にしたものです。
そのため、ピン番号が違うけど開発環境は同じです。

TWE-Liteは、数種類のファームが用意されていて、容易に書き換えが可能です。
>数種類のファーム説明:http://mono-wireless.com/jp/products/TWE-ZERO/index.html

”超簡単!TWEアプリ”は、『TWE-Lite DIP (DIPタイプ)』に最初からダウンロードされていてとても便利です。
”超簡単!TWEアプリ”の説明は、WEBに情報が豊富なので、ググって下さい。


TWE-Liteのファームを作ってみる。本題だよ!

TWE-Liteのファームは、”ToCoNet SDK”で作るよ。

公式のwebページにいろいろ書かれているけど、結論的には下記のPDFを読むことが一番早く理解できる。

僕は、ToCoNet_SDK_manuaのPDF読んで理解出来ず・・・・

TWE-Liteは、無線デバイスであり、小さなマイコンでもある。
マイコンと言えば、Hello Worldの「Lチカ」をするよ。

「Lチカ」するよ。

ググったら、とってもいいサイト見つけた。 ありがとう。
http://dsas.blog.klab.org/archives/52201101.htmlの”Test01: LED を点滅させる”のソースをコピペしたら、LEDがピコピコした。


開発環境を整える

大変なことは、開発環境整えることだ。
  今のところPCはwin7を使用している。今度、win10でコンパイルできることを確かめる★AI

開発環境からデバイスに書き込むまでを示す。(Eclipse,TWE-programme使用)

1.”ToCoNet_SDK マニュアル”に従って設定する。
2.”SDK 全部入り (582MiB, ZIP)”をダウンロードして、Cドライブ直下で解凍する。ページ12
3.プロジェクトを選択する。例App_Tweliteなどのファイルを開き、ソースの.cまで選択
4.ビルド設定。メニューバーより[プロジェクト]→[構成のビルド]→[アクティブにする] or 現在のプロジェクトの構成管理の▼よりアクティブにする。 アクティブは、 "TWE-Lite Devkit"を指定。
5.中間ファイルをクリーンする。メニューバーより[プロジェクト]→[クリーン] 実行するプロジェクトを選択する。最後に”OK”を押す  ページ19
6.ビルドアイコンの金槌を押す ページ20
7.ビルドの完了 コンソールで、エラーないことを確認する。
8.ビルドディレクトリを確認 C:\TWESDK\Wks_ToCoNet\プロジェクト名\Master\Build のxxx.bin
9.TWE-programmerを用い書き込み C:\TWESDK\Tools\TWE-Programmerを起動して、デバイスの電源を入れポートをスキャンして、書き込み ページ51

考察

プログラミンの方法がちょっと違う。それは、イベントに応じた関数が呼び出し処理を実行する点だ。PICやAVRみたいに上から順に実行されない。
これから、イベント(コールバック関数)なるものを理解してく。

以上です。