知り合いの農家の方が、ビニールハウスでイチゴ栽培をしておられるのですが、そのハウスに温度測定用IoTデバイスを設置させていただいています。
デバイスを設置しているのは、こちらのハウスです。
設置しているのは、このようなデバイスです。
中はこのようになっています。
マイコンは「M5Stamp Pico」、センサは「ENV IIIユニット」を使い、これらを電池ボックスに入れたNi-MH電池4本で動かしています。
また、これらの部品をつなぐために「ハブユニット」を使っています。
「M5Stamp Pico」「電池ボックス」「ハブユニット」は、百円ショップで購入したパッキン付き保存容器に入れています。
また、「ENV IIIユニット」は、鉢皿でつくった日除けの中に格納しています。
このIoTデバイスを、ハウスの中に4台設置しています。
4台のIoTデバイスで、ハウス内のいろいろな場所の温度を15分間隔で測定しています。
温度を測定する時以外は「M5Stamp Pico」はディープスリープしています。この使い方であれば、電池交換せずに半年以上連続稼働できる見込みです。
ちなみに、材料費は1台あたり4000円弱でした(デバイスについて詳しくは こちら)。
ハウス内には、別途「モバイルWi-Fiルータ」を設置しています。
こちらは、ハウスに引き込まれているAC電源で動かしています。
モバイルWi-Fiルータのハードウェアは10000円程度で、そこに月額利用料が500円程度の格安SIMカードを差し、200kbpsの低速でデータ通信しています。
IoTデバイスで測定したデータは、このモバイルルータ経由でWebサーバに送信・保存しています。
さて、今回はハウス内の温度を測定する目的でIoTデバイスを設置していますが、ここで使っている「ENV IIIユニット」では、温度だけでなく、湿度も測定することができます。
また、農業の専門家の方からお聞きしたのですが、作物の生育においては「飽差」という値が重要で、この「飽差」の値は「温度」と「湿度」から計算で求めることができるそうです。
現状のデバイスで、温度だけでなく湿度や飽差の値も取得することができるため、あわせてこれらの値も測定・保存しておくことにしました。
ちなみに、「飽差」はこのような式で計算しています。
val0 = sht30.cTemp; // 温度
val1 = sht30.humidity; // 湿度
float tmp1 = 6.1078 * pow(10, (7.5*val0/(val0+237.3)));
float tmp2 = 217 * tmp1 / (val0+273.15);
val2 = tmp2 * (100 - val1) / 100; // 飽差
Webサーバに保存したデータは、別途つくったPHPプログラムで、遠隔地からでも閲覧することができます。
既に数ヶ月にわたり連続稼働していますので、現時点の状況をグラフ表示してみます。
温度グラフはこちらです。
湿度グラフはこちらです。
飽差グラフはこちらです。
途中で一部のデバイスが停止したりしているため、データ表示がおかしくなっているところもありますが、このように測定データの推移を確認することができます。
また、温度があらかじめ設定した値を下回った時に、指定したアドレスにメール通知するようにしています。
今回は、レンタルサーバに保存したデータを自作PHPプログラムでグラフ表示していますが、例えば「Ambient」などのサービスを使えば、サーバ料金もプログラム作成スキルも不要で、同様のことを実現できます。
このように、電子工作やプログラミングのスキルが必要にはなりますが、比較的安価に所望のデータを取得することができます。
このような仕組みは、ハウス栽培に限らず、さまざまな分野に応用可能だと思います。