2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Obnizを使ってスマートリモコンを自作

Posted at

はじめに

暑い夏が来ました。
外から帰宅したら涼しい自宅がいいですよね。

ってことでスマートリモコンを作ってみました。

本記事は下記サイトを参考に作成しています。
少しアレンジが必要だったので共有いたします。

用意するもの

  • obniz Board
  • obniz IRModule
  • Amazonでも販売しています。
  • 温度センサー(必須ではありません)
  • テキストエディタ(VSCodeで説明します)
  • Vercelのアカウント(デプロイするのに使用します)
  • 初めて使う方は下記Qiitaを参照してみてください。
  • 爆速!Vercelでデプロイまでで結構です。

今回は下の写真のように配線しました。
obniz.jpg

コード準備

  1. デスクトップに任意のフォルダを作成します。
  2. VSCodeでそのフォルダを開きます。
  3. 任意の名前をつけ、拡張子.htmlで空のファイルを保存します。
  4. 名前をつけた空のファイルに下記コードを貼り付け、25行目あたりにあるOBNIZ_ID_HEREに自分のobniz idを入力します。
<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@3.16.0/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 module = obniz.wired("IRModule", { vcc: 0, send: 1, recv: 2, gnd: 3 });
            $("#on").click(async function () {
                module.send();//()内に取得した赤外線配列をコピペ①
            });

            $("#off").click(async function () {
                module.send();//()内に取得した赤外線配列をコピペ②
            })


            //温度管理
            var tempsens = obniz.wired("Keyestudio_TemperatureSensor", { signal: 9, vcc: 10, gnd: 11 });
            tempsens.onchange = function (temp) {
                $("#temp").text('' + parseInt(temp) + '');
            };
        }
    </script>
</body>

</html>

赤外線設定

  1. こちらstart(callback(array))の項目に自身のobniz idを入力し、実行します。
  2. obniz IRModuleに向かって赤外線を取得したいリモコンのボタンを押します。
  3. 出力結果にとんでも無く長い配列が返ってくるので、それをコピーします。(更新日時がコピーされてしまうことがあるので注意してください。)
  4. コピーした配列を31行目あたりのmodule.send();の引数に入力します。
  5. 今回は「on」「off」を想定し2種類用意していますが、自分の作りたいものに応じて適宜コード変更してください。(コード冒頭でBootstrapとjQueryというものをプラグインしています。)

テストとデプロイ

  1. VSCodeの任意フォルダのタブをブラウザのタブにドラッグすると、画面が表示されるのでボタンを押して正確に動作するかどうかテストしてください。
  2. 正しいコーディングができていても、リモコンの種類によっては動作しないので、その場合は読み取る赤外線を変更してみてください。(私はHITACHIのエアコンが起動しませんでした...)
  3. 無事にテストが終了したら、VSCodeでターミナルを開き、Vercelと入力してデプロイすれば終了です。

おわりに

いかがだったでしょうか。
少し分かりにくい箇所や端折った箇所もありますがご了承ください。
HITACHIのエアコンが起動できたら、また記事を更新いたします。

参考記事
https://obniz.io/ja/explore/30

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?