raspberry pi」カテゴリーアーカイブ

【第二弾】ハウス内のIoTセンシング開始

別ハウス内のセンシングを開始しました。
今回は、気温・湿度・気圧、地温、さらに日照度をセンシングします。
第一弾との大きな違いは、インターネットへの抜け方をモバイルルータからUSB型SIMドングルへの変更したこと。
前回より、安定したセンシングができることを期待し、本日から3ヵ月を目安に実施します。

関係者の皆様、どうぞよろしくお願いします。

【第一弾】ハウス内のセンシングテスト終了

活動メンバーのハウス内で9月下旬から11月下旬まで、IoTによるセンシングテストが終了しました。

結論からすると、納得できる状況ではない。

見える化した項目は、気温・湿度・気圧・地温。

また、指定した閾値を超えた場合に特定メールへ連絡。

接続イメージ:Raspi—(Wi-Fi)–MobileRouter(SIM)—(3G/LTE)—AWS

Raspi自体はエラーなく動作していたが、MobileRouterの方で不具合が多発した。

ISPに確認を取ったところ、本体が不安定になっているのではとのことで、機器交換を実施。

結局、不安定になる原因はよくわからなかったが、機器交換で症状は出なくなったことは確かである。

MobileRouterの長時間連続稼働は、ちょっと厳しいかな。

 

第二弾の設置テストは、12月17日から別ハウスにて実施。

それまでに、機器の接続構成を下記のように変更し、再トライします。

接続イメージ:Raspi-USBドングル(SIM)—(3G/LTE)—AWS

関係の皆様、引き続きよろしくお願いいたします。

 

MRTGで情報を取得する

モバイルルータを利用した、センサーデータのパブリック処理は

試験スタート時から大きな不具合なく動作している。

プログラムが安定して動作している中、トラヒック、CPUはどの程度使っているのか不明だったため、SNMPを利用して情報収集をする。

これについてもソフトウェア開発に強いラズパイを利用して構築することにした。

最低限、取得したい情報として(ラズパイ3を対象)

■CPU

■ETH0

■WiFi0

 

可視化プログラムは、相性の良いMRTGを利用する。

 

【大まかな流れ】

WEBサーバ化にする (apache2パッケージインストール)

snmpマネージャーにする(snmpdパッケージインストール)

MRTGプログラムのインストール(mrtgパッケージインストール)

snmpwalkでMIBを見ながらの監視をしたいので(snmp-mibs-downloaderパッケージのインストール)

※snmp-mibs-downloaderは入れておいた方がいいでしょう。少しはまりました。

シングルボードコンピューターでも、比較的容易に構築自体はできました。

引き続き動作確認を実施します。

VPNサーバの構築(IoTとは少しズレるが、)

このご時世、どこでもアクセスできる環境は必須。

お客様は待ってくれない。

といことで、VPN環境の構築をラズパイで実現させる。

私の場合、VPN構築は、高確率でドツボにまるのが鉄則である。ある程度時間に余裕ができないと、作業に取り掛からない。珍しく時間が取れたので作業に着手する。

ubuntuなどで実装済みで、基礎知識はある程度ある(つもり)。

 

意気揚々と資料の収集作業。。。。。。。。。。。。。。。。。。

 

なんと!ありがたい!!!

簡単に実装できる、コードを開発された方が居られました。

すごい!!!

githubにコード公開されておられます。

本当にありがとうございます。

https://github.com/pivpn/pivpn

 

手順通りに実施、、、、

2時間程度で構築できました。

 

セキュリティーを高めに保ちつつ、リモートアクセスできます。

皆さまも是非構築してみてください。

 

 

モバイルルータでの接続

【AWS】=【(地元ISP様SIM)モバイルルータ】==(Wi-Fi)==【ラズベリーパイ】

上記構成で10日間程テストを実施

※センサーデータは(温度・湿度・気圧)で1時間1回のサンプリング

 

■AWSへのPub処理

問題なく動作

 

■モバイルルータ

デフォルト設定だと通信断が発生する

電源設定、LAN設定の微調整が必要

 

■メンテナンス

ローカルメンテナンスでは、特に困ることは無い

リモートメンテナンスを考えると、モバイルルータ側にポートマッピング機能、内部ルーティング機能があるものを選択する必要がありそうだ

 

引き続き実施する。

 

 

 

 

モバイルルータと3Gドングル

必須試験項目として、やっておかないといけない事。

公衆無線網への接続検証。

オフグリッド化という事も大事だが、同レベルで無線インフラへの安定接続も大事である。

今回は、地元ISP様の協力のもと、モバイルルータと3GUSBドングルを使い3G/LTEでの接続性・安定性・利便性を確認していく。

ご協力いただきました皆様に、感謝申し上げます。

 

水位センサーのその後

写真のような構成で1週間程度動作させてみた。

ここで確認したかったこと。

①水位センサーで水位レベルが確認できるか。

②水位センサーに水分がなくなると検知できるか。

③検知後、メール発報はされるか、またどの発報からのメールが見やすいか。

 

①について、コードの書き方にもよるが、%で取得はできた。

ただ、それが正確なのかは疑問で、正確にするにはかなりのチューニングが必要。

 

②について、問題なく検知はできた。

ただ、水位が下がってから、回路の水分がなくなるまで約1時間程度かかる。

それまでは、水分ありの状態で動作し続けるので、それをよしとするか否か。

 

③について、こちらも問題なく発報された。

その次に、cloudwatchからの発報とIoTcoreから直接の発報を見比べてみた。

分かり易いのは、IoTcoreからの方だと私的にはおもう。

jsonで飛んでくるので、それに慣れればの話だが。。

cloudwatchからの発報のような、長い英語+UTCで飛んでくるよりは見やすい。

status:Warning

message:No Water

とした。

もうしばらくこの環境で動作させて様子をみます。

 

救世主となるか? RasPi Zero W

こんにちは、ミウラです。

屋外IoTで問題となる電源問題と導入コストを解決する救世主になるかどうかの目的で購入した、RaspberryPi Zero Wの動作試験です。

RaspberryPi_Zero_W

PiZeroの写真

左がRaspberryPi Zero Wで右のRaspberryPi 3に比べると面積比で約1/2(もう少し小さいかな?)です。
HDMIとUSBのインターフェイスも違いますので注意が必要です。
・USBは、microUSBですが、1ポートしかないのでUSB-HUB(未検証)があったほうがよいです。
・HDMIは、miniHDMIとなります。いずれも変換アダプタ、ケーブルで対応しました。
・電源は、Pi3で使っていたもので大丈夫でしたが、詳しくは、製品の仕様書で確認して下さい。

インストール設定や操作感はほぼ同じです。

ただ、ネットワーク設定が、/etc/dhcpd.confでなく、/etc/dhcpcd.confなので要注意。

前回試した、RaspberryPi3で使ったソースと距離センサをそのまま使って問題なくAWS-IoT Core へのpub-subができているようです。

pi@pizerow1:~/python_programs/hc-sr04 $ sudo python hcsr04_basicPubSub.py -e *********.iot.ap-northeast-1.amazonaws.com -r ./certs/rootCA.pem -c ./certs/********-certificate.pem.crt -k ./certs/********-private.pem.key -id myRasPi******** -t MyTopic***
{"date": "2018-06-20 15:20:04.536784", "distance": 17.656610012054443}
{"date": "2018-06-20 15:21:04.966596", "distance": 17.86690592765808}
{"date": "2018-06-20 15:22:05.426453", "distance": 17.763819694519043}

次はバッテリがどれくらい持つのか耐久試験です。

ではまた。

水位センサー

水位センサーの構築に取り掛かりました。

KKHMFセンサーを利用して、水の有無を判断。

水がなくなったら、特定のメールへPUSH。

サクッとできました。

1週間程度、動作チェックをおこないます。

進捗あり次第更新します。

 

近況

1ヵ月程度、BME280で温度・湿度・気圧とDS18B20で温度を取得してみた。

まず、調べたかった点として、BME280の温度とDS18B20の温度の差分。

結果、データ値の大きな差はなし。

DS18B20は防水なので、野ざらし環境でも十分利用ができそうだ。

 

次に、RSPi⇒IoTcore⇒cloudwatchでのグラフ化。

これも問題なく構築できた。

 

その次の、cloudwatch(閾値設定)⇒SNS⇒メール発報。

ここも問題なく構築できたが、、

メールの内容が英語とUTC時刻で飛んでくる、、、

直したいが、直し方がわからない。。仕様なのか、、

 

こんなところだが、、

ここで一度この構成での検証は止めて、次に移ろうと思う。

 

進捗あったらまた更新します。