【農業 iot】海外旅行先からスマホで遠隔水やりする
生産管理,食品サービスなどビジネス向けの高度なIOTシステムを開発するCayenne(カイエン)社のプラットフォームを使って旅行先からスマホで水やりが出来るよう自作してみました。
これって農業iot・スマート農業の領域ですね。
カイエン社(Cayenne)とは
Cayenneは、独自のIoTセットアップを簡単に構築できるIoTプラットフォームの1つです。これは、ドラッグアンドドロップIoTプロジェクトビルダーであり、開発者がプログラミングの知識がなくても、インターネット上で接続デバイスをすばやく作成してホストできるようにします。
Cayenne社は世界最初のドラッグ&ドロップでIoT(Internet of Things)を構築するプラットフォームを開発しました。
当初はRaspberry-piでのみの構築でしたが現在ではarduino等でも構築出来るようになりました。
カイエン(Cayenne)社はマイクロソフトやアリババとパートナーシップを結ぶ一方で個人には高度なプラットフォームを無料で使えるよう配慮しています。
またカイエン社のマイ・デバイス プラットフォームには世界的にも有名な企業がパートナーとして参加しています。
見慣れたブランドもありますね。 (^^;
全体図
カイエン社が運営するマイデバイス・クラウドサーバーを中心にあらゆるモノとサービスが連携できる全体図になります。
これからやろうとする手順です。
arduinoやesp32を使う
カイエンのプラットフォームを使ってパソコンやスマホで家庭菜園の水やりをしたり温度や土壌水分をチエックするにはwifi環境が必要になります。
arduino自体にはwifiがありませんのでwifiシールドを別に購入する必要がありますが、 esp32はWIFIモジュールとデュアルモードBluetoothを備えたマイクロコントローラーで、arduino IDEを使ってプログラム(スケッチ)出来るので最近注目されています。
そのesp32をカイエンのプラットフォームから動かしてみたところちょっとハマったところもありましたが意外に簡単でしたので共有したいと思います。
カイエンのプラットフォームはデバイスに組み込まれ(プログラム)商品として販売されるものですからその高度なプラットフォームを無料で利用できるってすばらしいことですね。感謝!です。
この配慮のおかげで自作とはいえ、市販品と同等の機能を持たせることが出来ますね。(^^;
専業農家の方であれば潅水の自動化やビニールハウスの温度、湿度、CO2、土壌水分 などの管理や、トリガーを設定して、例えば温度設定で天窓の開閉自動化や土壌水分が50%を切ったら潅水するなどの自動化が可能になります。
カズは海外旅行中に家庭菜園の遠隔水やりをしたい!ってことで作成してみました。(^^;
arduino IDEをインストールする
esp32のプログラムを作ったりesp32に書き込むために統合開発環境ソフトのarduinoIDEを使います。
arduinoIDEをインストールするには次をご覧ください。既に使ってる方は飛ばしてください。(^^;
統合開発環境ソフト ArduinoIDEがなければプログラム作成もesp32への書き込みも出来ませんのでArduinoIDEをインストールします。
arduino IDEはこちらからダウンロード出来ます。
ここではwindowsを選択しています。自分の環境に合わせて選択してください。
Zipファイルを選択しています。
寄付をする場合には右側を選択、とりあえずのダウンロードは赤枠を選択して、デスクトップあたりにダウンロード、インストールします。
【追記】arduino IDEの最新版(1-8-10)をインストールしましたのでその時の手順を画像でまとめました。
こちらはZIPファイルより簡単なインストーラを使っています。またesp32を使えるようにする手順も同時にまとめました。
arduino IDEをインストールしてesp32を使う
arduino IDEでesp32を使えるようにする
arduinoでesp32を使えるようにするには次の記事をご覧ください。既に使える方は飛ばしてください。(^^;
arduino IDEをインストールしたらarduino IDEでesp32が使えるようにします。
こちらのサイトからアドレスをコピーします。
ArduinoIDEを開き、画面上のツールバーからファイル→環境設定と進み追加のボードマネージャに貼り付けます。
貼り付けが出来ない場合には「ctrl+V」で貼り付け出来ます。
次に、Arduino_IDE画面からツール→ボード→ボードマネージャの検索バーにesp32と入力します。
esp32 by Espressifl Systemsをインストールします。
インストールが終わればesp32をパソコンに接続してポートとarduinoIDEでポートが認識されない場合にはCH341SERドライバをパソコンにインストールします。
カイエンでesp32を認識させるには
カイエンでesp32を認識させcayenneプラットフォームを使うと様々なことがパソコンやスマホで出来るようになります。
農業分野では
旅行先からデータのチエックが出来る。
パソコンやスマホで遠隔水やりが出来る。
異常をメールで知らせてくれる
などなど…
ここまでの作業でesp32をarduinoIDEで動かすことまで出来るようになりました。
次にesp32とカイエンのプラットフォームをwifiからインターネットで接続し、データをクラウドで保存とスマホやパソコンからesp32に指示を出し、遠隔水やりするところまでのプログラムを作成します。プログラムというと難解なイメージですが、要は決められた定型文をコピペするだけです。(^^;
カイエンのプラットフォーム構築方法はカズのiotサイト ラズベリーパンで詳しくまとめました。
高度な機能が簡単に無料で構築出来て、スマホでビニールハウスの温度を確認したり、水やりの指示(スイッチをON-OFF)が出来ます。
スマホで水やり
如何でしたか?
こんなに簡単に遠隔水やりのボタンが出来るってちょっと信じられませんよね。温度グラフも同じように簡単に設置出来ました。
これまではパソコンからの操作でしたが今度はスマホから操作してみます。一応タイトルがスマホで水やりですので…(^^;
カズのスマホはAndroidですがIphoneも同じです。Cayenneはどちらにも対応しています。
どちらもアプリストアから専用アプリをダウンロードします。
アプリストアから「cayenne」で検索します。
カイエンのアプリであることを確認してインストールします。インストールが終わったらアプリを開いてアカウント作成で登録したEメールとパスワードを入力、cayenneにログインします。
見慣れた画面が表示されますよね。
遠隔水やりボタンや温度グラフ作成などはスマホからでも作成出来ます。
デバイスにつけた名前をタッチします。カズはesp32でした。
遠隔水やりボタンをタッチすると…
通電表示に変わりました。Esp32に接続したリレーが動作して遠隔水やりの開始という流れになります。
esp32の動作電圧は直流3.3V, arduinoは5Vですので実際農業で使う機器を動かせるのか?という疑問も出てきますが、このSSRを使えば3Vの直流電圧で交流250V40Aの機器を動作させることが出来ます。(耐圧:380V)
日本での一般家庭用電圧は交流100Vですので動力線(AC200V)さえ大抵の機器は難なく動作させることが出来ますね。
(利用されている電力会社とのアンペア契約以上の電流を流すとブレーカーが落ちます (^^; )
スマホで温度管理
今度はスマホで温度管理をしようと思います。
温度センサーにはNTC サーミスタがありますが、esp32では温度のブレが大きいことが判りました。
そこでds18b20 温度センサーを使うことにしました。
この温度センサーを使えるようにするスケッチや必要なライブラリはこちらにまとめました。
実際に農業をされている方が利用しようとすると、温度センサーは1個ということではありませんよね。
そこで入力するピンは同じでも複数の温度センサーを計測する方法をまとめてみました。
【農業 iot】遠隔水やりやビニールハウスの温度や外気温,地中温度をスマホで管理する
シリアルモニタに送信時刻を表示する
温度をカイエンに送信すると自動的に受信時刻を温度とともに記録してくれますが、送信する側には時刻の表示がありません。
今後、システムとして拡張する場合にも時刻表示が必要ですので日本標準時をntpサーバから取得して表示出来るようにしました。
これまでの遠隔水やりや温度管理のスケッチにntpサーバを組んでいますのでそのままコピペ出来ます。 (^^;
【追記】
カズの旅行記事のコピペが出回るようになりました。 (^^;
有難い?ことですがオリジナル性を守るためコピー出来ないようにしましたが、プログラムスケッチはダウンロード出来るようにしました。