ObnizでGoogleカレンダーと連携したスマートカーテン
概要
obnizを用いて、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トリガーを設定しました。
Google calendarとIFTTT
Google Calendarで2つ新規カレンダーを作成して、それぞれ別のIFTTTイベントに登録しました。
投稿者の人気記事
-
pasta
さんが
2021/05/11
に
編集
をしました。
(メッセージ: 初版)
ログインしてコメントを投稿する