pastaのアイコン画像
pasta 2021年05月11日作成
製作品 製作品 閲覧数 1651
pasta 2021年05月11日作成 製作品 製作品 閲覧数 1651

ObnizでGoogleカレンダーと連携したスマートカーテン

ObnizでGoogleカレンダーと連携したスマートカーテン

概要

obnizを用いて、googleカレンダーで指定した時刻に開閉できるカーテンを作りました。

カーテンが動作する様子

ここに動画が表示されます

Googleカレンダーの様子
キャプションを入力できます

構成は以下の通りです。

構成図

メカ

タイミングベルトを用いてカーテンを平行移動させています。
キャプションを入力できます
タイミングベルトのテンションは片方のプーリーの位置をネジで調整できるようになっています。
テンション調整ネジ
カーテンはタイミングベルトから生えてるネジを穴に刺すことで固定しています。
カーテンの固定

また、全ての機構はカーテンレールの上に生えていたM4ネジにナットをつけることで固定しています。

使用した2mタイミングベルト(amazon)
使用したモーター:日本橋デジットにあった380円ギヤードモーター

obniz cloud

obniz cloudでリポジトリを作成して以下のようなコードを書きました。

<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link
      rel="stylesheet"
      href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
    />
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script
      src="https://unpkg.com/obniz@3.14.0/obniz.js"
      crossorigin="anonymous"
    ></script>
  </head>
  <body>
    <div id="obniz-debug"></div>
    <h1>Closing curtain</h1>
    <script>
     var obniz = new Obniz("YOUR_OBNIZ_ID");

     obniz.onconnect = async function () {
       /*
            await obniz.io.repeatWait(
              [
                {
                  duration: 20000,
                  state: function (index) {
                    //open
                    obniz.io0.output(true);
                    obniz.io1.output(false);
                  },
                }
              ],
              2
            );*/
       await obniz.io.repeatWait(
         [
           {
             duration: 20000,
             state: function (index) {
               //close
               obniz.io0.output(false);
               obniz.io1.output(true);
             },
           },
         ],
         2
       );
       obniz.io0.output(false);
       obniz.io1.output(false);
       if (typeof done === "function") {
         done();
       }
     };
</script>
  </body>
</html>

また、IFTTTからアクセスするために「トリガー」からリポジトリのwebhookトリガーを設定しました。

obnizトリガー

Google calendarとIFTTT

Google Calendarで2つ新規カレンダーを作成して、それぞれ別のIFTTTイベントに登録しました。

キャプションを入力できます

  • pasta さんが 2021/05/11 に 編集 をしました。 (メッセージ: 初版)
ログインしてコメントを投稿する