遠隔エアコン操作!

このエントリーをはてなブックマークに追加

これはなに?

Home IoT キット製作例

obnizを使ってエアコンをスマホから操作します。

obniz + IR + 温度センサーを自宅に置くことでスマホのブラウザから遠隔操作できるようにします。

用意するもの

  • obniz * 1
  • obnizの電源
  • IR モジュール (Home IoT Kitに含まれています)
  • LM32DZ (of Home IoT Kitに含まれています)

手順

下の写真のように接続して、自宅に置いておきます。

このページのプログラム例のようにプログラムして、自分のobnizのidに書き換えましょう。

早速プログラム画面で「保存&開く」を押すことで温度が見れると思います。

次に、エアコンを動かすための赤外線信号を読み取ります。

プログラムの中でコメントアウトしてある部分があります、それを外して実行するとリモコンの赤外線を受け取ったらその内容をログに出すようになります。
それを使って、あなたの自宅のエアコンのON/OFFのシグナルを読み取りましょう。

読み取れたらその配列をプログラムの中に入れます。
ON/OFFを押された時にledから送信するところです。

使ってみよう!

作成したHTMLを開くだけです。あなたのエアコンを世界中のどこからでも操作できるようになります!

Program

このプログラムはすぐに試せます

あなたのobnizで試してみましょう

<!-- HTML Example -->
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
  <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
  <script src="https://unpkg.com/obniz@1.6.1/obniz.js"></script>
  
</head>
<body>

<div id="obniz-debug"></div>

<h1 id="temp">Measuring...</h1>
  
<p>
  <button id="on" class="btn btn-primary btn-block">Turn ON</button>
</p>
<p>
  <button id="off" class="btn btn-primary btn-block">Turn OFF</button>
</p>

<script>
  
var obniz = new Obniz("OBNIZ_ID_HERE");

obniz.onconnect = async function () {
  
  //var sensor = obniz.wired('IRSensor', {vcc:0, gnd:3, output: 2});
  //sensor.start(function (arr) {
  //  console.log('detected!!')
  //  console.log(JSON.stringify(arr));
  //})

  // Javascript Example
  var tempsens = obniz.wired("LM35DZ",   { gnd:7 , output:8, vcc:9});
  tempsens.onchange = function(temp){
    $("#temp").text('' + parseInt(temp)+ ' degree')
    obniz.display.clear();
    obniz.display.font('Avenir', 60)
    obniz.display.print('' + parseInt(temp) + '℃')
  };
  
  var infraredLed = obniz.wired('InfraredLED', {anode: 1, cathode: 3});
  
  $("#on").click(function(){
    // your value for ON here.
    infraredLed.send([])
  })
  
  $("#off").click(function(){
   // your value for OFF here
    infraredLed.send([])
  })
}


</script>
</body>
</html>