IM315シリーズは"特定小電力無線"と呼ばれる帯域を使う通信モジュールです。
1:1からN:Mまで、スター型やクラスタツリー型のネットワークを構築可能。
送信専用のデバイスに至っては、なんとボタン電池一個で一年持つとかいう脅威の低消費電力。
通信距離も、見通し50m(公式による)、屋内でもドアを挟んで4m、遮蔽なしで15m程は飛びます。
ワザワザZigBeeみたいなものは使いたくないがリモートで接続したい場合……などには中々有用です。
実際のところ
構成
受/送信子機
どちらも同じ構成で行けます。
315MHz特定小電力無線 送受信モジュール IM315TRX
- 出版社/メーカー: インタープラン
- メディア: エレクトロニクス
- この商品を含むブログを見る
インタープラン特定小電力無線モジュール(IM315RX、IM315TRX、IM920)用Arduinoシールド IM無線シールド IM315-SHLD-RX-V2
- 出版社/メーカー: インタープラン
- メディア: エレクトロニクス
- この商品を含むブログを見る
Arduino Uno Rev3 ATmega328 マイコンボード A000066
- 出版社/メーカー: ARDUINO
- メディア: Personal Computers
- この商品を含むブログを見る
デフォではD8、D9が通信に使われています。
また、D10がビジー状態用フラグ、D11がスリープ状態指定用フラグとして推奨されている様子。
ソフトウェア
とりあえず、受信器側で動作確認してみましょう。
"RDID"という機器固有IDを読み出す関数をコールしてシリアルに吐き出してみます。
#include <SoftwareSerial.h> SoftwareSerial IM315Serial(8, 9); // ソフトウエアシリアル void setup() { IM315Serial.begin(19200); // ソフトウエアシリアル 初期化 Serial.begin(19200); pinMode(10, INPUT); // Busy 信号 Pin10 入力 while (!IM315Serial & !Serial ) { ; } //受信待機 delay(1000); /* 機器固有IDを表示*/ Serial.print("ID"); IM315Serial.println("RDID"); while (IM315Serial.available()) { readPacket(); }; } void loop() { ; }