ブログ

どこでもでむ 電気柵電圧監視システムつくってみた(その3)

こんにちは、中の人 ちょうです。

前回に引き続き、受信側機器、表示系の説明、諸々の考察となります。

サーキットデザインに設置した受信側の機器の構成は、どこでもでむ、タカチのケース、アンテナぐらいです。100V電源は会社側からケーブルを延長し、ケースとアンテナを保持するため単管パイプの支柱に取り付けて終了です。どこでもでむ内蔵のWiFiから社内WiFiルーター経由でデータをインターネットに上げています。今回は社員以外は入れない2階のベランダに設置できました。もし電波が届かないとなると、どこに設置しようかと悩むことになります。

受信側なので常時電源を入れています。いつパケットがきてもいいようにしています。相手はたった1台で1時間に1回しか通信してこないのですが、しょうがないですね。スタータイプのネットワークであれば、ホスト側からノードを順次問い合わせる方式が収容台数とかリトライとか考えると楽なのですが、ノード側が電池駆動なので待っている方がいいのです。

 

どこでもでむ内蔵のLoRa™モデムで受信し、そのデータをWiFi経由でMQTTでサーバーに上げることとなります。MQTTにはこちらを使用し、送信するデータは適当なASCIIフォーマットで送っています。

サーバーはサクラVPSを使用し、OSはCentOS(サポートが切れたそうなので次にサーバー立てる時は考えないといけないかなと思ってます)です。MQTTブローカーはmosquittoです。インストールには、ちょっと苦労しました。セキュリティ対策としてMQTTS化しようかと考えましたが、まずはパスワードだけ掛けときます。意味ないだろ的なご指摘は十分承知です。言い訳はあるのですが、まぁ色々あるのです。社内のWiFiなぞ使わずに、携帯網の専用線化が一番楽なのでしょうが予算が無いのでケチケチモードです。AWSとかGoogleとか各社のIoTサービス使えばいいのにという話もありますが、インターネット側は得意不得意とご予算しだいです。

 

VPS内で、MQTTブローカーに対してサブスクリプションするスクリプト(Ruby製)を動かし、データが届いたらGSSへ転送します。GSS内のスクリプトで24時間データ表を更新します。更新することでグラフも自動で更新されるので楽ちんですね。

GSSがデータロストしてしまうので、ここでデータを保存しておくデータベースが必要なのですが、ログも見ないし、保存も必要ないし、今さえよければそれでいいという刹那的なシステムなので、今回は入れていません。入れるとなるとSQL系ならデータ構造どうしようとか、せっかくだからRuby On Railsでシステム組もうぜとか、色々欲がでてきます。NoSQLにしとけばいいじゃんとの話もあるのでしょうが、よくわからないので勉強中です。

すべて予算次第なのですよ!

 

表示はGoogleサイトでHP作って、GSSのグラフをリンクして、ちょいちょいとやると出来上がりです。凝ったことをやろうとおもうとjavascriptの知識が必要となります。

最終的な表示はこんな(安曇野市堀金地区 電気柵の状態)感じになりました。

一度システムを全部作ると、次からはサクサク作れます。

 

できたらできたで、もうちょっとここはこうしたい、動いてないんだけどどうなってんの?とか色々でてきます。まずは動くたたき台を作る、そこから議論していくというのもよろしいかと思います。パワーポイントだけでは、何も進まないと思うのです。

後から考えると、どこでもでむのWiFiから直接GSSを叩けるのですが、色々と拡張の話があってMQTTブローカーを挟むことにしたのです。実験し始めると、あれがだめだ、こっちがだめだと出てくるので、本格的な商用するまえに十分な実験は必要です。

 

受信側の全体像(真ん中の支柱についている箱の下側です。上部は、動物位置情報システム ANIMAL MAPの実験用基地局です)

 

アンテナをズーム(アンテナの設置場所は高いほうがいいです。周りの金属から離してください)このアンテナのキットは当社通販サイトでご購入いただけます / ANT-400-DX-5400MHz帯 ダイポールアンテナ。

 

箱の中(電源とアンテナをつなぐだけのシンプルさ。デバッグ用に金属蓋が開いています。ここから会社のWiFi経由でインターネットに上げています。)

 

費用対効果はどうなんだという話はおいておいて、これで社員Sの休日が救われました。

 

以上です!