天気予報を取得

天気予報をインターネット経由で取得して、天気に応じて動きを変えてみましょう。

例えば、雨だったら旗を立てておく などができると便利です。

天気ブロック

天気を取得するには天気ブロックを使います。

このブロックには地域名を入れる場所と、天気を指定する場所があります。もしもブロックに入れて使います。

上のブロックの場合は、もしも東京(tokyo)の天気が曇りだったら、 というブロックです。

これを使って、雨だったら旗を上げて、それ以外なら旗を下げてみましょう。

プログラム

(このプログラムは次のレッスンでクラウド上で実行しますので、リポジトリの中で作った新しく作ることをおすすめします)

プログラムはこのようになります。

<!-- Block Program Example -->
<xml xmlns="http://www.w3.org/1999/xhtml">
  <variables>
    <variable type="obniz" id="X2:3=S(hsdv0mk{aavHW">obniz</variable>
    <variable type="UIButton" id="80uQ37Yg!_RM@zbm[`cF">button</variable>
    <variable type="UIButton" id="#7$4fAkr(P%;.%JaKIy`">backbutton</variable>
    <variable type="UIButton" id="akidXEU*0XQ}VT^!o6Sp">rightbutton</variable>
    <variable type="UIButton" id="KBvD*sLV+fD7(ieEkq5x">leftbutton</variable>
    <variable type="UIButton" id="=ug=$DV-jzFr2PH9Q@`4">flagdown</variable>
    <variable type="UIButton" id="|KCJHTvLU;*ZWe|2H::Y">sendbutton</variable>
    <variable type="" id="hpvY$6K[tgY$$/L_8%xc">count</variable>
    <variable type="dcmotor" id="V?6USN(jVhQ,P{82]/*M">dcmotor</variable>
    <variable type="airobotkit" id="Jk=/mw~HxfZs@VDVmFYY">airobotkit</variable>
    <variable type="led" id="!MAt1@Dsy)#f.p,K@;=%">led</variable>
    <variable type="iothomekit" id="hion2sTZs?@3_c=KyM[5">iothomekit</variable>
    <variable type="UILabel" id="g($Ni{y93Ym7k/=Vw)2(">label</variable>
  </variables>
  <block type="obniz_connect" id="HDp1mlcGAj5s`;!=llnb" x="82" y="63">
    <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
    <value name="obniz_id">
      <shadow type="text" id="5TP31WDvYyD%Gwf+wL1.">
        <field name="TEXT">OBNIZ_ID_HERE</field>
      </shadow>
    </value>
    <next>
      <block type="obniz_parts_iothomekit_wired" id="lCCqbv}35^vCE+iF(FBu">
        <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
        <field name="IoTHomeKit" id="hion2sTZs?@3_c=KyM[5" variabletype="iothomekit">iothomekit</field>
        <next>
          <block type="controls_if" id="$!DpJ=F4hNCY|ckgJQnm">
            <mutation else="1"></mutation>
            <value name="IF0">
              <shadow type="logic_boolean" id="^WD#R,i@4lRNZnms[P(7">
                <field name="BOOL">TRUE</field>
              </shadow>
              <block type="obniz_ai_weather" id="R$ZyuNykP%x*}WGdW)XM">
                <field name="weather">rain</field>
                <value name="locale">
                  <shadow type="text" id="Ua*-AX{p/OB3Cc34WRYq">
                    <field name="TEXT">tokyo</field>
                  </shadow>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="obniz_parts_iothomekit_flag" id="nfW67Igz?0i1Dv_2+0TK">
                <field name="IoTHomeKit" id="hion2sTZs?@3_c=KyM[5" variabletype="iothomekit">iothomekit</field>
                <field name="flag">up</field>
                <next>
                  <block type="obniz_debug_text" id="-R4ufdgg.-l/aze6W,?Z">
                    <value name="text">
                      <shadow type="text" id="iR^tt8UN8WlH7O!vk(_p">
                        <field name="TEXT">雨</field>
                      </shadow>
                    </value>
                  </block>
                </next>
              </block>
            </statement>
            <statement name="ELSE">
              <block type="obniz_parts_iothomekit_flag" id="|U$}#6$VEEB^AS,8k5|$">
                <field name="IoTHomeKit" id="hion2sTZs?@3_c=KyM[5" variabletype="iothomekit">iothomekit</field>
                <field name="flag">down</field>
                <next>
                  <block type="obniz_debug_text" id=".8)4Dz(L0B5rb*-9a)]f">
                    <value name="text">
                      <shadow type="text" id="uu^/qR!inw.FcM:sy~Su">
                        <field name="TEXT">雨じゃない</field>
                      </shadow>
                    </value>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>

接続し、kitの接続ができたらもしもブロックを使って、雨かどうかでプログラムを分けます。
雨だったら旗を上げて、そうでなければ下げるようにします。

プログラムを実行すると天気を取得して旗を上げたり下げたりします。
また、画面上のコンソールにも文字としても出てきます。



Next : Run periodically

You will Get in Few Days

Circuit for Starter “obniz Board” is available on Amazon and other online stores.
You can get it at below

Our products and resellers

Forum

Visit our developer’s forum to discuss and discover technologies.

Forum

Contact

Feel free to contact out support and technical team.

Contact us