pasta が 2021年05月11日22時05分10秒 に編集
初版
タイトルの変更
ObnizでGoogleカレンダーと連携したスマートカーテン
タグの変更
obnizIoTコンテスト
obnizBoard1Y
記事種類の変更
製作品
本文の変更
# ObnizでGoogleカレンダーと連携したスマートカーテン ## 概要 obnizを用いて、googleカレンダーで指定した時刻に開閉できるカーテンを作りました。 カーテンが動作する様子 @[youtube](https://www.youtube.com/watch?v=iQfSS7gOoZM) Googleカレンダーの様子  構成は以下の通りです。  ## メカ タイミングベルトを用いてカーテンを平行移動させています。  タイミングベルトのテンションは片方のプーリーの位置をネジで調整できるようになっています。  カーテンはタイミングベルトから生えてるネジを穴に刺すことで固定しています。  また、全ての機構はカーテンレールの上に生えていたM4ネジにナットをつけることで固定しています。 [使用した2mタイミングベルト(amazon)](https://www.amazon.co.jp/FULARR%C2%AE-%E3%82%BF%E3%82%A4%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%99%E3%83%AB%E3%83%88-2%E5%80%8B%E6%AD%AF%E4%BB%98%E3%82%A2%E3%82%A4%E3%83%89%E3%83%A9%E3%83%BC-4%E5%80%8B%E3%82%BF%E3%82%A4%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%99%E3%83%AB%E3%83%88-2%E5%80%8B%E5%9B%BA%E5%AE%9A%E7%94%A8%E3%82%AF%E3%83%A9%E3%83%B3%E3%83%97/dp/B08H14S1V5/ref=sr_1_1_sspa?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&dchild=1&keywords=%E3%82%BF%E3%82%A4%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%99%E3%83%AB%E3%83%88&qid=1620735954&sr=8-1-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEyOE9ORjk0NDVLSVpGJmVuY3J5cHRlZElkPUEwMTE3NzI0MUM0WlBSWkZFVU9BQyZlbmNyeXB0ZWRBZElkPUExUEhYV0NTUURESlBVJndpZGdldE5hbWU9c3BfYXRmJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==) 使用したモーター:日本橋デジットにあった380円ギヤードモーター ## obniz cloud obniz cloudでリポジトリを作成して以下のようなコードを書きました。 ```html <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トリガーを設定しました。  ## Google calendarとIFTTT Google Calendarで2つ新規カレンダーを作成して、それぞれ別のIFTTTイベントに登録しました。 