マッチ棒がトレードマークのTWE-LITE DIP(トワイライト・ディップ)は、趣味の電子工作やDIY等で無線通信を簡単に使用できる様に開発されたモジュールです。
初期状態で単純なアナログやデジタル信号であればプログラムの設定変更無しにいきなり無線通信できちゃいます!
そんな簡単便利な無線マイコンモジュールを使ってみました!
1. IoTと無線通信
1.1 IoTとは?
最近話題のIoT(アイオーティー、Internet of Things、モノのインターネット)とは、パソコンやプリンター等のIT関連機器とは異なり、従来はインターネットに接続されることが無かったモノをインターネットに接続する事を言います。
1.2 無線通信規格の色々
\ | ZigBee | Bluetooth | Wi-Fi |
読み | ジグビー | ブルートゥース | ワイファイ |
IEEE規格名 | IEEE802.15.4 | IEEE 802.15.1 | IEEE 802.11ac |
帯域 | 2.4GHz | 2.4GHz | 5GHz |
通信距離 | 数百m~数km程度 | 数mから数十m程度 | 数m~数百m程度 |
同時使用可ch数 | 16ch | 79ch | 実質3ch(11ch) |
通信速度 | 最大250kbps | 最大24Mbps | 最大6.9Gbps |
電力消費 | 極小(1.5μA~30mA) | 小 | 大 |
※2016.09.06 NOBのArduino日記!調べ
1.3 ZigBee
IoTによってモノが入出力する情報量は少ない事が多く(ドアの開閉、電灯のON・OFF、気温・湿度等の観測装置等)、また全てのモノが電源に接続されているわけではない事からコイン電池程度で年単位で動作し続ける低消費電力、また長い通信距離等の要求が有ります。
2. TWE-LITE
2.1省エネ性能
TWE-LITEは、無線通信規格ZigBeeを採用している事から省エネな無線マイコンです。設定(60秒毎通信)によってはCR2032コイン電池1個(3V,220mAh)で計算上16年も通信し続けてくれます!
2.2 通信距離
また通信距離についても表1に示す主な無線通信規格の中では最も長く、専用のアンテナ(TWE-AN-022)を使用する事で最大4kmを超える通信が可能(間に中継局を3つ入れられるので理論上16km以上?)です!
2.3 外観
TWE-LITE DIPの外観及び寸法は図1の通り親指サイズで非常にコンパクトです。
写真中央の15mm角のチップがTWE-LITE本体で、さらに小さく作りたい方用にこのチップ単体でも購入可能です。
2.4 種類
またTWE-LITE DIPには使用されるアンテナ別に表1に示す3種類が市販されています。他にもチップ単体のTWE-LITE・USB端子を備えたMoNoStick・加速度センサーを備えたTWE-LITE-2525A等バリエーションが豊富です。
項目 | アンテナ型番 | 最大通信距離 | 外観 |
2次元マッチ棒アンテナ | 基板に実装 | 約0.5km | 図1左 |
マッチ棒アンテナ | TWE-AN-4208 | 約1km | 図1右 |
UFLコネクタ版 | TWE-AN-022等 | 約4km | 各種UFLアンテナ |
3. プログラム
3.1 公開アプリ
個人的にはこの中でシリアル通信アプリとRCアプリに興味津々です!
これが有れば、それこそなんでもラジコンの送信機に出来そう・・・初代ゲームボーイをラジコンの送信機にしたらカッコ良さそうです
項目 | 内容 |
超簡単!TWEアプリ | TWE-LITEに標準インストールされているアプリです。 デジタル4ポート、アナログ4ポート、シリアル、I2Cを 使用出来るオールインパッケージな反面、処理速度や 応答性、省電力性は低い。 |
無線タグアプリ | 超省電力センサータグ向けアプリです。電池での長期 稼動やTWE-EH(環境発電)での稼動を考えた低消費 電力を追求しています。コイン型電池で動作可能です。 |
リモコン通信アプリ | リモコン通信に特化したアプリです。最大12ポートの オン・オフ制御を行えます。TWE-LITEをリモコンとし て使用する際に最適なアプリです。ボタンの長押しや 親機と子機のペアリング等に対応しています。 |
シリアル通信アプリ | UARTシリアル通信に特化したアプリです。透過的な データ通信とコマンドベースのデータ通信の両方に対応 しています。パソコンやマイコンにUARTシリアル接続を してTWEシリーズを制御する場合に最適なアプリです。 |
RCアプリ | RC(ラジオコントロール)に特化したアプリです。 サーボモーターの制御やDCモーターの回転スピードや 正逆転制御が行えます。 |
アナログ通信アプリ | オーディオ・アナログ信号通信に特化したアプリです。 最大8Khzのサンプリングレート(標本化周期)で アナログ入力しこれをADPCM圧縮し(非圧縮伝送も可能 最大4Khz)無線伝送し、PWM 出力します。 |
※モノワイヤレス株式会社様のページから一部引用させて頂きました
3.2 自作アプリ⁉
TWE-LITEでLチカするプログラム例(図3)が紹介されておりました。
図2:ToCoNet SDK マニュアル (2014-06) のP82,83動作フロー
/* Test01.c TWE-Lite のデジタル出力 4 (DO4) ポートの Lo, Hi を一定周期でトグルする いわゆる "Lチカ" 用 ネットワーク通信は行わない 2015 KLab Inc. */ #include <AppHardwareApi.h> // NXP ペリフェラル API 用 #include "utils.h" // ペリフェラル API のラッパなど #include "ToCoNet.h" #define DO4 9 // デジタル出力 4 // ユーザ定義のイベントハンドラ static void vProcessEvCore(tsEvent *pEv, teEvent eEvent, uint32 u32evarg) { // 1 秒周期のシステムタイマ通知 if (eEvent == E_EVENT_TICK_SECOND) { // DO4 の Lo / Hi をトグル bPortRead(DO4) ? vPortSetHi(DO4) : vPortSetLo(DO4); } } // // 以下 ToCoNet 既定のイベントハンドラ群 // // 割り込み発生後に随時呼び出される void cbToCoNet_vMain(void) { return; } // パケット受信時 void cbToCoNet_vRxEvent(tsRxDataApp *pRx) { return; } // パケット送信完了時 void cbToCoNet_vTxEvent(uint8 u8CbId, uint8 bStatus) { return; } // ネットワークイベント発生時 void cbToCoNet_vNwkEvent(teEvent eEvent, uint32 u32arg) { return; } // ハードウェア割り込み発生後(遅延呼び出し) void cbToCoNet_vHwEvent(uint32 u32DeviceId, uint32 u32ItemBitmap) { return; } // ハードウェア割り込み発生時 uint8 cbToCoNet_u8HwInt(uint32 u32DeviceId, uint32 u32ItemBitmap) { return FALSE; } // コールドスタート時 void cbAppColdStart(bool_t bAfterAhiInit) { if (!bAfterAhiInit) { } else { // ユーザ定義のイベントハンドラを登録 ToCoNet_Event_Register_State_Machine(vProcessEvCore); vPortAsOutput(DO4); } } // ウォームスタート時 void cbAppWarmStart(bool_t bAfterAhiInit) { return; }
図3:TWE-LITEでLチカプログラム
※DSAS開発者の部屋より引用させて頂きました
4. まとめ
やはり専門家が作られたアプリが間違いないですね!
励みになりますのでよければクリック下さい(^o^)/