やっとBLE(ブルートゥース)温湿度計システムが安定して稼働できるようになりました。
システムの概要をメモしておきます。
使用機器
・ラズベリーパイZERO
・Xiaomiブルース温湿度計 2個
システム概要
- ラズパイにてXiaomi温湿度計と2個接続する。
- 10秒程度おきにXiaomiからのデータを取得する。
- 2分おきにデータをAmbientに送信する。
ラズパイコードは下記リンクのコードを参考に作成。このままでも使えると思います。
https://github.com/yshr1982/sensorTag/tree/xiaomi_with_delegate
大変だった箇所の対応
- たまに接続が切れる
1時間に1回ぐらい接続しなおすことで解消した。
- Xiaomiから温度データが送られてこない。変わらない。
10秒おきに取得していれば大抵データが取得できます。
なので10秒おきにデータを取得している。
Xiaomiは結構気分屋です。
ここに至るまでがかなり大変でした。
まず、ブルートゥース温湿度計をTI製のCC2650stkを使用して検討していたのですが、
どーしても安定的に動作させることができなかった。
CC2650stkのFWを変更すればできたかもしれませんがそこまでの気力がありませんでした。
そこで方針転換して、温湿度計をXiaomi製のモノに変更しました。
ちょっとクセがありますが、基本的に温湿度データ垂れ流しのような状態なのでやり易かったです。
もし、ブルートゥース温湿度計を検討中の方がいたらXiaomiはオススメです。
現状のシステム概要
ラズパイにて下記を取得
・I2C通信で温度、湿度、照度、気圧を測定
・無線(ブルートゥース)で温度、湿度を2箇所測定
取得したデータをAmbientに送信
Ambientでデータをグラフ化
あとは、ビニールハウスの両サイドの窓の開閉を自動にしたいと思っています。