編集履歴一覧に戻る
uraのアイコン画像

ura が 2021年05月16日07時27分29秒 に編集

初版

タイトルの変更

+

自宅の「ただいま」「いってきます」を外出先で受け取る仕組み

タグの変更

+

スマートホーム部門

本文の変更

+

# 実現したいもの # 現時点で実現できているもの 人が「出ていった」「入いってきた」を検出し、入ってきた場合は青色、出て行った場合は黄色にLEDを光らせるところまで。 ## もの ## 配線 ## コード ### server.js ``` var Obniz = require("obniz"); var delay = ms => new Promise(resolve => setTimeout(resolve, ms)) var sensor_a; var sensor_b; var flg_a; var flg_b; var led; var obniz = new Obniz("ここはobnizIDを入れる"); obniz.onconnect = async function () { sensor_a = obniz.wired("Keyestudio_PIR", {vcc:7, signal:6, gnd:5}); sensor_b = obniz.wired("Keyestudio_PIR", {vcc:11, signal:10, gnd:9}); led = obniz.wired("FullColorLED", {r: 3, g:0, b:2, common:1, commonType:'anode_common'}); led.rgb(0xFF, 255, 0); // Yellow flg_a = false; flg_b = false; // sensor_a.onchange = function(val){ if (val) { console.log('(a)Moving Something!'); flg_a = true; } else { console.log('(a)Nothing moving'); } } sensor_b.onchange = function(val){ if (val) { console.log('(b)Moving Something!'); flg_b = true; } else { console.log('(b)Nothing moving'); } } } obniz.onloop = async function() { //await ObnizUI.Util.wait(500); await obniz.wait(500); if (flg_a == true && flg_b == false) { console.log('[A] Moving Something!'); led.rgb(0xFF, 255, 0); // Yellow } else if (flg_a == false && flg_b == true) { console.log('[B] Moving Something!'); led.rgb(0xFF, 255, 255); // Yellow } else if (flg_a == false && flg_b == false) { console.log('[A,B] Nothing moving'); led.rgb(0, 0, 0); } else { console.log('[A,B] ???'); } flg_a = false; flg_b = false; }; ``` ### package.json ``` { "//1": "describes your app and its dependencies", "//2": "https://docs.npmjs.com/files/package.json", "//3": "updating this file will download and update your packages", "name": "hello-express", "version": "0.0.1", "description": "A simple Node app built on Express, instantly up and running.", "main": "server.js", "scripts": { "start": "node server.js" }, "dependencies": { "express": "^4.17.1", "obniz": "^3.14.0", "obniz-parts-kits": "^0.16.0" }, "engines": { "node": "12.x" }, "repository": { "url": "https://glitch.com/edit/#!/hello-express" }, "license": "MIT", "keywords": [ "node", "glitch", "express" ] } ``` # 今後の予定 # 用意したもの [obniz](https://obniz.com/ja/)本体 typeCケーブル [Ren He HC-SR501人体赤外線感応モジュール](https://www.amazon.co.jp/dp/B07DCKZS5S/ref=cm_sw_em_r_mt_dp_H8WDGJHEFB6VXZMJP5CY?_encoding=UTF8&psc=1) [初心者向けの学習キット](https://www.amazon.co.jp/dp/B075167Y4D/ref=cm_sw_em_r_mt_dp_H76YQ7EXWQ644TQ9RZD1?_encoding=UTF8&psc=1) *使ったのはRGBのLEDだけなので、全部買う必要はありません # 基礎知識 ## obnizの仕組み # 開発環境 [glich](https://glitch.com/)を使うと簡単です。 # 開発プロセス ## 全体 step1ではobnizの使い方を理解するためにLEDを光らせる方法について ## step1 Lチカ ## step2 LED+センサーA ## step3 LED+センサーA,B ## step4 LINE botからの通知(未実装) # 初心者がつまりそうな箇所 # step1 # step2 # step3