IoTというと、センサー情報を送ることになる。この場合、無線で送るには、以下のシステム構成のどれかを取るのが普通。
※注
RFモジュール:無線を送受信するためのモジュール、Wifi,ZigBee,Bluetooth Low Energy等のモジュール
制御モジュール:出力先の設定や出力するデータを組み立てるもの。arduinoなど
-------------------------------------
<<システム構成1>>
サーバー側
サーバー ⇔ RFモジュール
↑
無線
|
センサー側 ↓
RFモジュール⇔制御モジュール←センサー(又は→表示・アクチュエーター)
・説明
センサー側で修得したセンサー値をGPIOなどを使いarduinoなどの制御モジュールに送り、
制御モジュールはその値をもとに送信データを作成UART経由でRFモジュールに送り
RFモジュールではその内容を送信するもの。
送信方法としてはWifi,ZigBee,Bluetooth Low Energyが考えられる
送信周波数は、2.5GHz帯であれば、すべてができるが、
他に920MHz帯、315MHz帯の特小無線用もあり得る
-------------------------------------
<<システム構成2>>
サーバー側
サーバー ⇔ RFモジュール
↑
無線
|
センサー側 ↓
RFモジュール←センサー(又は→表示・アクチュエーター)
(制御モジュールがない)
・説明
センサー側に制御モジュールがなく、直接センサーデータをRFモジュールに送りこむもの
ZigBeeをXBeeを使って行う場合、リモートATコマンドというのを行うと
サーバーからの命令にしたがって、センサー側のデータが読める。
そのようなとき、この構成が取れる
(センサー側に制御モジュールがないので、センサー側を安くできる)
-------------------------------------
<<システム構成3>>
サーバー側
サーバー ⇔ インターネット
↑
↓
センサー側 アクセスポイント等(インターネットへ)
↑
↓
RFモジュール⇔制御モジュール←センサー(又は→表示・アクチュエーター)
・説明
センサー側の制御モジュール&RFモジュールでインターネットのパケットを生成し、
それをWIFIを使って送る。
こうすると、WIFIのアクセスポイントでは、そのセンサーデータを、
サーバー側にインターネット経由で転送できる.
クラウドにサーバーデータを転送するのも、この話。
-------------------------------------
今回は、「システム構成1」または「システム構成2」でのお話。
■お題
「システム構成2」では、サーバーから、(場合によっては)センサーデータを取得したいときに
センサー側に。送信するようにリモートATコマンドを「送信」する。
「システム構成1」でも、混信を避けるため、サーバー側から、送信要求を「送信」し、その要求が送られた
センサーだけが答えるということがある。
どちらも、サーバー側からの(送信要求という)連続「送信」が起こる。
これを2.5GHz帯で行う場合、問題はない。
920MHz帯でやろうとして、罠に引っ掛かりそうになったので、実況風にメモメモ。
■920MHzのIoTの罠
RFモジュールには、
IM920
http://www.interplan.co.jp/solution/wireless/im920.php
が、千石でも秋月などでも売っているので、まあこれ!とした。
技適通ってるし・・・
そうしたら、
カタログ
http://www.interplan.co.jp/support/solution/IM315/catalog/wireless_catalog.pdf
に、「キャリアセンスとか送信休止時間は」・・・
なんじゃそれ?
どうも、
http://www.jaisa.jp/pdfs/150915/001.pdf
の15ページめにあるように
キャリアセンス 5ms
送信 4秒以内
送信休止時間 50msという規制があるらしい。
ということは、50ms以内に次の送信をすることができない。
1秒間(1000ミリ秒)に20件未満しか、送信できない・・・
つまりですよ、センサーが40個あったら、
1秒間に20件しかとれないので、
最低2秒以上間隔を置かないと、
全ポイントデータを平等に取得することができない。
おおおお~気付いてよかった!
この条件に、仕様は適合していなかった・・・
わな、わな、わなにおちそ~う~
※8月24日追加
この送信規制、もっと複雑。
センサーのように連続して送らない場合には、
この規定ではなく、違う規定がある。
回線使用率などにも関係する。くわしくは
http://www.arib.or.jp/english/html/overview/doc/1-STD-T108v1_0.pdf
の1-13ページ参照。
※注
RFモジュール:無線を送受信するためのモジュール、Wifi,ZigBee,Bluetooth Low Energy等のモジュール
制御モジュール:出力先の設定や出力するデータを組み立てるもの。arduinoなど
-------------------------------------
<<システム構成1>>
サーバー側
サーバー ⇔ RFモジュール
↑
無線
|
センサー側 ↓
RFモジュール⇔制御モジュール←センサー(又は→表示・アクチュエーター)
・説明
センサー側で修得したセンサー値をGPIOなどを使いarduinoなどの制御モジュールに送り、
制御モジュールはその値をもとに送信データを作成UART経由でRFモジュールに送り
RFモジュールではその内容を送信するもの。
送信方法としてはWifi,ZigBee,Bluetooth Low Energyが考えられる
送信周波数は、2.5GHz帯であれば、すべてができるが、
他に920MHz帯、315MHz帯の特小無線用もあり得る
-------------------------------------
<<システム構成2>>
サーバー側
サーバー ⇔ RFモジュール
↑
無線
|
センサー側 ↓
RFモジュール←センサー(又は→表示・アクチュエーター)
(制御モジュールがない)
・説明
センサー側に制御モジュールがなく、直接センサーデータをRFモジュールに送りこむもの
ZigBeeをXBeeを使って行う場合、リモートATコマンドというのを行うと
サーバーからの命令にしたがって、センサー側のデータが読める。
そのようなとき、この構成が取れる
(センサー側に制御モジュールがないので、センサー側を安くできる)
-------------------------------------
<<システム構成3>>
サーバー側
サーバー ⇔ インターネット
↑
↓
センサー側 アクセスポイント等(インターネットへ)
↑
↓
RFモジュール⇔制御モジュール←センサー(又は→表示・アクチュエーター)
・説明
センサー側の制御モジュール&RFモジュールでインターネットのパケットを生成し、
それをWIFIを使って送る。
こうすると、WIFIのアクセスポイントでは、そのセンサーデータを、
サーバー側にインターネット経由で転送できる.
クラウドにサーバーデータを転送するのも、この話。
-------------------------------------
今回は、「システム構成1」または「システム構成2」でのお話。
■お題
「システム構成2」では、サーバーから、(場合によっては)センサーデータを取得したいときに
センサー側に。送信するようにリモートATコマンドを「送信」する。
「システム構成1」でも、混信を避けるため、サーバー側から、送信要求を「送信」し、その要求が送られた
センサーだけが答えるということがある。
どちらも、サーバー側からの(送信要求という)連続「送信」が起こる。
これを2.5GHz帯で行う場合、問題はない。
920MHz帯でやろうとして、罠に引っ掛かりそうになったので、実況風にメモメモ。
■920MHzのIoTの罠
RFモジュールには、
IM920
http://www.interplan.co.jp/solution/wireless/im920.php
が、千石でも秋月などでも売っているので、まあこれ!とした。
技適通ってるし・・・
そうしたら、
カタログ
http://www.interplan.co.jp/support/solution/IM315/catalog/wireless_catalog.pdf
に、「キャリアセンスとか送信休止時間は」・・・
なんじゃそれ?
どうも、
http://www.jaisa.jp/pdfs/150915/001.pdf
の15ページめにあるように
キャリアセンス 5ms
送信 4秒以内
送信休止時間 50msという規制があるらしい。
ということは、50ms以内に次の送信をすることができない。
1秒間(1000ミリ秒)に20件未満しか、送信できない・・・
つまりですよ、センサーが40個あったら、
1秒間に20件しかとれないので、
最低2秒以上間隔を置かないと、
全ポイントデータを平等に取得することができない。
おおおお~気付いてよかった!
この条件に、仕様は適合していなかった・・・
わな、わな、わなにおちそ~う~
※8月24日追加
この送信規制、もっと複雑。
センサーのように連続して送らない場合には、
この規定ではなく、違う規定がある。
回線使用率などにも関係する。くわしくは
http://www.arib.or.jp/english/html/overview/doc/1-STD-T108v1_0.pdf
の1-13ページ参照。