園芸×IoT(前編)環境センサ「お花大好きボックス」(Maker Faire Tokyo 2019)

2019年08月02日 金曜日

「園芸×IoT(前編)環境センサ「お花大好きボックス」(Maker Faire Tokyo 2019)」のイメージ

はじめに

前編では、Machinist 普及活動の名目のもと、趣味で作成した植物向け温湿度計を対応させたので作成方法を小学生にも分かるようまとめてみました。是非夏休みの自由研究やサボテン育成にご利用ください。

後編では、身の回りのメトリクスを収集・整理・活用するMachinistについて紹介します。

お花大好きボックスについて

「お花大好きボックス」とは趣味でサボテンを育てているデジタルネイティブな製作者が少しでも育成環境向上を図るため作成したデジタルなIoTな百葉箱のことです。

具体的な機能としては指定した間隔で「温度」「湿度」「気圧」を取得し Wi-Fi 経由でインターネット上のSaaS(Machinist)にデータを保存しつづけるありきたりな機能です。
あえて特徴を言うのであれば「電池駆動」「Wi-Fi(SSID/Presharedkey)は任意で設定可能」「外部サービス(Machinist)の設定が任意に可能」を目指しました。

これらの意図は Arduino の組み込みにおいて固定化されやすいデータを可変にすることで共有しやすくしたかったからです。

使ったもの

以下を秋葉原にある秋月電子通商で購入しました。
2019年7月25日時点でのリンクを用意しましたが代用は可能なのでお好きに好きな部品を選んでください。

利用しているプログラム

Arduino(EPS8266) への書き込み方法はインターネット中にあるのでここでは説明を省きます。

一点だけヒントというかポイントとして、おそらく EPS8266-Generic ボードを選択すると思いますが「Flash Size」を「512K (32K SPIFFS)」にしてください。これでWi-Fi等の情報を ESP8266 内に保存できるようになります。
プログラムのソース。

作成した基板

回路図と作成した基板の写真を載せておきます。

利用方法

設定と起動方法は以下の通り。

本機は機器の設定を実施する「サーバモード」と実際にデータを取得する「クライアントモード」が存在します。サーバモードへは起動時にIO12をLOWにすることで移行します。

Step.1 Machinist を準備する

  1. Machinistのアカウントを取得する。
  2. 自分好みのエージェントを作成する。(作成したエージェント名をセットアップで利用します)
  3. 「アカウント設定」の画面から「APIキー」を用意する。

Machinistの利用方法については、後のパートをご覧ください。

お花大好きボックスに必要な情報は「APIキー」と「エージェント名」です。

Step.2 お花大好きボックスを設定する

  1. 機器のボタンスイッチを押しながら電源投入(電池セット)しサーバモードで起動する。
  2. LED ランプが光り続けていることを確認する。
  3. iPhone から Wi-Fi のAPを検索する。
  4. お花大好きボックスの MAC アドレス(英数字6文字程度の羅列)を見つけ出し接続する。(この時のパスワードは不要です。)
  5. iPhone のブラウザで http://192.168.10.1:8888 にアクセスする。
  6. ブラウザに表示された画面(※)に従い利用する Wi-Fi の SSID とパスワードを入力する。
  7. Machinist の API KEY とエージェント名を入力する。
  8. ブラウザに表示されている submit ボタンを押して保存する。
  9. 画面が遷移し入力内容を確認後。本製品を再起動(電池の抜き差し)を実施すると環境設定が完了。

※)画面内には「LED ON」と「LED OFF」があります。
「LED ON」にチェックをつけると処理途中にLEDが点滅します。
「ベランダで光ってると可愛くね?」というふざけた理由でつけた機能であり、電池の無駄遣いであり本製品のコンセプトを覆す動作でありおすすめしません。

Step.3 利用する

  1. 電源を投入し Machinist の画面が更新されるのを待つ。
  2. 初めて利用する場合は温度環境が安定するまで1日程度かかることがあるので気長に待つ。

なお、設定は再起動後も残ります。
投入した設定は明示的に削除しなければ消えないのでご注意ください。

QA

Q1. LED ランプが光り続けています。
A1. 機器設定を実施する「サーバモード」で起動しています。
機器のボタンが押されている状態で電源が投入されたと考えられます。

Q2. クライアントモードで実行中LEDランプが激しく点滅します。
A2. おそらく Wi-Fi への接続に失敗しています。
点滅が続くようであればサーバモードで起動しなおして再設定をおすすめします。

Q3. データはどの程度正確ですか?
A3. たぶん。誤差は以下の通りです。

Q4. 設定を初期化したいです。
A4. サーバモードで起動して空白でPOSTしてください。

Q5. 取得データが0だったり、取得に失敗したりします。
A5. 電池切れです。電池を交換してください。

Q6. 気圧は不要です。
A6. 湿度も不要であればそれなりにコスト削減が出来るようになると思います。

Q7. 1分間隔で利用してたら電池一ヶ月持ちませんでした。
A7. 当然です。15分間隔であれば半年以上持ちます。

Q8. 正しく設定を入力したはずなのに上手く動きません。
A8. 入力されたデータのチェックは実施していません。空白が入っていないか確かめてください。

参考イメージ画像

お花大好きボックスの設定画面

基板の写真

上に載せている部品と一部違いますが参考画像として。
黄色は3.3V、黒はGNDで青はBME280のデータ通信用です。

後編へ続く

前編の仕組みで収集したデータを、整理して活用するMachinistについて紹介します。
こちらも合わせてご覧ください。
Maker Faire Tokyo 2019 展示作品:園芸×IoT(後編)可視化ツール「Machinist」

多肉亭 棘楽

2019年08月02日 金曜日

入社からインフラエンジニアの傍らベランダ園芸家の道を目指しています。 老後は種子の販売ができる状態になることが当面の目標です。

Related
関連記事