And Plants

多肉植物、塊根植物を科学的にベストな育成方法を考えるブログです。個人輸入、発根管理についての情報の発信しています。育成ライトの研究実施中!

カテゴリー
輸入関連|| 植物の基本育成ライト発根管理

ビニールハウスIoT計画 BLE(ブルートゥース)温湿度計システム

f:id:nanson0911:20200429220736j:plain

 

やっとBLE(ブルートゥース)温湿度計システムが安定して稼働できるようになりました。

システムの概要をメモしておきます。

 

使用機器

ラズベリーパイZERO

・Xiaomiブルース温湿度計 2個

 

システム概要

  1.  ラズパイにてXiaomi温湿度計と2個接続する。
  2.  10秒程度おきにXiaomiからのデータを取得する。
  3.  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でデータをグラフ化

 

あとは、ビニールハウスの両サイドの窓の開閉を自動にしたいと思っています。

 

 

ビニールハウスIoT計画 ラズパイZERO~AE-BME280編

BM280で温度・気圧・湿度を測定してAmbientにデータを送信し、

グラフで表示し確認できる環境の構築についての内容です。



継ぎ接ぎでプログラムを作成しているので、

不要な部分とか多いかもしれません。



基本的に参考にしたサイトが下記サイトです。

https://qiita.com/hawk777/items/46a912b0762c099e7749


参考にしたサイトではcsv形式にして表示するやり方でしたが、

私はAmbientサイトを使用してグラフ化することにしました。

こっちの方が比較的簡単に実現できたためです。





参考サイトの通り下記の5つのファイルを作成します。

bme280.py CSVファイルを作成

bme280_custom.py 温度、湿度、気圧を返す

bme280_temp.py 温度を返す

bme280_humid.py 湿度を返す

bme280_pres.py 気圧を返す

bme280.pyを下記のように変更します。

もっと簡略化できるかもしれませんが、考えるのが面倒だったので最低限の変更をしてあります。

bme280.py

#coding: utf-8

import bme280_custom
import bme280_temp
import bme280_pres
import bme280_humid
import datetime
import os
import ambient

#time.sleep(30.0)

dir_path = '/home/pi/bme280/data'

#now = datetime.datetime.now()
#filename = now.strftime('%Y%m%d')
#label = now.strftime('%H:%M')
#date = now.strftime('%Y/%m/%d %H:%M')
csv = bme280_custom.readData()
csv_t = bme280_temp.readData()
csv_p = bme280_pres.readData()
csv_h = bme280_humid.readData()


ambi = ambient.Ambient(チャンネルIDを記入, "ライトキーを記入") 
# ご自分のチャネルID、ライトキーに置き換えてください

r = ambi.send({"d1": csv_t, "d2": csv_h, "d3": csv_p})

</p>




こんな感じに表示
f:id:nanson0911:20200118210315p:plain

実行する時は、python3で実行しています。



crontabにて10分間隔で実行するようにしました。

やり方は下記の通り。

①crontab -e を実行して。

②最後の行に、

 */10 * * * * python3 /home/pi/bme280/bme280.py を追加しています。



cronを初めて編集する方は下記サイトを参考にするといいかと思います。

私はnanoを使用して編集しています。

https://ichibariki.hatenablog.com/entry/2017/06/02/063330



他参考サイト

https://deviceplus.jp/hobby/raspberrypi_entry_039/



ビニールハウスIoTの計画  現状

前回記載した現状のもうちょっと詳細に紹介をします。

こんな感じになってます。

f:id:nanson0911:20200118210056j:plain

 

中はこんな感じ。

f:id:nanson0911:20200118210104j:plain



詳細内容
・AE-BME280(温度・湿度・気圧センサー)とI2C通信でデータを取得
・TSL2561(照度センサー)とI2C通信でデータを取得
・USBドングル AK-020(3G通信用)
 →0SIMを使用。(nuroモバイル。500MBまで無料)
・カメラでビニールハウス内の撮影。
・センサー取得データ4種をAmbientに送信しグラフ化する。
・カメラデータをGoogeDriveに送信する。
 →画像データをAmbientにて表示する。
・電源はSmartTapのPowerArQ mini
 →9日間の稼働可能

・箱(ウオルボックス)WB-DM
・照度センサーは箱の上の傘の部分にねじ止めで固定。

Ambientでの表示はこんな感じ。試験運転中なので画像は毎日15時にバッテリーを撮影。

f:id:nanson0911:20200118210315p:plain

 

それぞれ苦労した点を順次書いていきます。
知りたいことがあればコメント下さい。

 

ビニールハウスIoTの計画①

f:id:nanson0911:20200114224550j:plain


今回はビニールハウスIoTについて


私の今の目標はビニールハウスのサイド換気の自動開閉です。
現在考えているシステムは下記のような感じです。

■目標
・ラズパイzeroで温度センシングを行い設定の温度に到達したら開閉を行う

■現状
ラズパイデータ取得しAmbientに送信しグラフ化して確認できる。

詳細内容
・BM280(温度・湿度・気圧センサー)とI2C通信でデータを取得
・TSL2561(照度センサー)とI2C通信でデータを取得
・USBドングル AK-020(3G通信用)
 →0SIMを使用。(nuroモバイル。500MBまで無料)
・カメラでビニールハウス内の撮影。
・センサー取得データ4種をAmbientに送信しグラフ化する。
・カメラデータをGoogeDriveに送信する。
 →画像データをAmbientにて表示する。
・電源はSmartTapのPowerArQ mini
 →9日間の稼働可能

■今後やりたいこと
Bluetooth接続で温度を複数取得
・自動水やりのためのシステム
・サイド窓開閉


以上が目標と現状でした。
現状のシステム構築の詳細は今後記載していきたいと思います。

2020年の秋までに稼働を目指します!!!
実際にやったことある方はコメント頂けると助かります。

モーターの選定にて悩み中。。。。。

関連サイト
0SIM http://mobile.nuro.jp/0sim/
Ambient https://ambidata.io/
AK-020 https://www.abit.co.jp/productsupport/ak020/

ビニールハウスIoT計画 CC2650stk 単三電池化

SensorTag CC2650stkの電池を単三電池2本に改造しました。

これで電源のバッテリーが長く持つようになります。

やり方は、簡単です。 私は下記の単三電池ケースを購入しました。

abc.jpg

これを、CC2650stkに接続します。

ボタン電池を外し、 赤色を線をPOS、黒色の線をNEGに接続。

DSC_0107.JPG

 

これで完成。

DSC_0106.JPG

注意事項として、充電電池では電圧が低いモノもあるので注意が必要です。

使えないことはないと思いますが。 寿命は延びましたが、

ラズパイと接続して6時間ぐらいすると接続が切れてしまう問題は解決してません。。。。

もう少しで解決できそうなので、 解決したらコードを公開したいと思います。

andplants.hatenablog.com

amazonアソシエイトに参加しています。