LoginSignup
25
23

More than 5 years have passed since last update.

Raspberry PiとセンサーとWebAPI使って自動で植木鉢に水やりたいらしい <準備編>

Last updated at Posted at 2015-02-23

書いてね

IoTで遊んでるから、Qiitaに書いてもいいよ

と、会社で謎のPPT(注:パワーポイント。「まーくだうん」ではない。)を渡された。

ありがとう。でも、自分で書けば?

と返したが、

作るのは楽しいけどblog書くのは面倒なんだよね。

いやいや。。。。そこみんな一緒じゃない!?

と、まったく釈然としないまま書くことに。。。なんで!?

というわけで、謎のゴーストライター(?)登場です。

モチベーション→自動で植木鉢に水やりたい

ということのようです。

あ、そう。

と反応しましたが、PPTには下記のように書いてあります。

  • 水やりを自動で行いたい。(世には朝顔やひまわりを育てて観察するという教育があり、いつしか子よりも親が熱心に観察するという奇妙な出来事があり(略))
  • 植木鉢を車に積んでの帰省は・・(略)

こんなん、いちいちPPTで書くなよほんとに。

機能

というわけで、読み進めると、下記のような感じにしたいらしいです。

自動水やり

基本的に、定期的に水をあげる。
でも不要なときまで水をあげるのはエコではないので、下記のときは水をあげない。

  • 雨または雪なう。または、これから雨か雪になるとき(天気APIを使って監視。降水確率80%以上でなければ、半分の量をあげる)
  • 土がまだ乾いてないとき(土壌センサーで監視。乾いたらユーザーに通知)
  • タンクが空のとき(どっちにしろあげらんないけど、モーター動かさないという意味ね)

リモート水やり

離れた場所のスマホとかからリモートで水をあげられるようにしたいらしいです。

そんな気まぐれであげないで!!

とは思いました。

システム構成

こんな感じね。

構成図

ここだけPPT便利ですねw

つかうもの

材料(ハード)

  • RaspberryPI B+ ×1
  • リレー(5V1A)×1
  • ジャンパー線×10
  • ブレッドボード(小さくてもよい)×1
  • 電動ポンプ(自動停止機能がないもの)×1
  • 乾電池(単1×2)
  • ポリタンク×1(またはバケツなど)
  • 湿度センサ×2(一つは土壌に、もうひとつはタンクに)
  • ADCx1(2ch以上)(上記センサからの信号変換用)

最近湿度センサーよく見るなぁ。。『Web技術でハードウエア制御』 by 岩永さん
あれ?Raspberry PiってADCついてないの?

WebAPI(天気情報を取得するため)

天気によって、という機能をぶち上げた手前、WebAPIで天気情報を取得するということをやりたいようです。
MSN天気のAPIを利用するようです。

例えば、横浜の天気、下記URLで取れるらしい。

http://weather.service.msn.com/data.aspx?weadegreetype=C&culture=ja-JP&wealocations=wc:JAXX0099

結果

<weatherdata xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<weather weatherlocationcode="wc:JAXX0099" weatherlocationname="神奈川県 横浜" zipcode="" weathercityname="横浜" url="http://www.msn.com/ja-jp/weather/today/横浜,神奈川県,日本/we-city-35.467,139.622" imagerelativeurl="http://wst.s-msn.com/i/ja/" degreetype="C" provider="Foreca" attribution="提供 Foreca" attribution2="© Foreca" lat="35.4666901" long="139.6218414" timezone="9" alert="" entityid="37255" encodedlocationname="%e7%a5%9e%e5%a5%88%e5%b7%9d%e7%9c%8c+%e6%a8%aa%e6%b5%9c">
<current temperature="18" skycode="28" skytext="曇時々晴" date="2015-02-23" observationtime="16:00:00" observationpoint="Tokyo International Airport" feelslike="18" humidity="68" winddisplay="風向: 南 / 風速: 6 m/s" day="月曜日" shortday="月" windspeed="6"/>
<forecast low="" high="22" skycodeday="29" jpskycode="72" skytextday="晴時々曇" date="2015-02-23" day="月曜日" shortday="月" precip="20"/>
<forecast low="7" high="14" skycodeday="26" jpskycode="26" skytextday="曇り" date="2015-02-24" day="火曜日" shortday="火" precip="10"/>
<forecast low="5" high="13" skycodeday="30" jpskycode="60" skytextday="晴のち曇" date="2015-02-25" day="水曜日" shortday="水" precip="10"/>
<forecast low="6" high="9" skycodeday="39" jpskycode="52" skytextday="曇時々雨" date="2015-02-26" day="木曜日" shortday="木" precip="90"/>
<forecast low="5" high="13" skycodeday="28" jpskycode="63" skytextday="曇のち晴" date="2015-02-27" day="金曜日" shortday="金" precip="30"/>
<toolbar timewindow="60" minversion="1.0.1965.0"/>
</weather>
</weatherdata>

確かに使えそう。

jsonじゃねーのかよ。。。

リモートでRaspberry Piを制御するためのフレームワーク

リモートでの水やりのために、下記フレームワークを使ってRaspberry Piを遠隔制御するようです。

webiopi

そして、PPTには、おもむろに下記サイトのリンクが。

『WebブラウザからRaspberry Pi を操作する(WebIOPi 利用)』by hiramine.comさん

てか、まんま出来るじゃん!

続くようです。

今回、PPTには、ここまでしか書かれていませんでしたが、
続きがあるようです。。。。えー

部品買ってきたら渡すよ

と言われましたが、さすがにそこは丁重にお断りしました。
だって、自分がやるなら違う構成にするし。。w

というわけで、開発に着手してしまったみたいなので、私もちょっとつきあってみまることにします。
進捗あったら更新します。(またPPTで渡されるのでしょう。。。)

ちゃんと作れよ!

25
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
23