obniz+赤外線LED+TypeScriptでリモコンコンセント(OCR-05W)を動かす
はじめに
こんにちは。電気毛布エンジニアの@tmitsuoka0423です。
昨日書いた「obniz+赤外線LEDでリモコンコンセント(OCR-05W)を動かす」では、obnizのパーツライブラリページ上で動作確認しましたが、今回はTypeScriptで実装していきます。
ソースコードはhttps://github.com/tmitsuoka0423/obniz-ocr-05wで公開しています。
今回使うもの
品名 | 画像 | 価格 |
---|---|---|
obniz Board | 5,500円くらい | |
赤外線センサー OSRB38C9AA | 50円くらい | |
赤外線LED OSI5FU5111C-40 | 20円くらい | |
リモコンコンセント OCR-05W | 1,200円くらい |
obnizと素子を接続する
リモコンの赤外線信号を解析する
まずは、赤外線センサーを使ってリモコンの信号を受信するプログラムを作成します。
(確認してないですが、このプログラムを使ってOCR-05W以外のリモコンの信号も受信できると思います。)
import Obniz from 'obniz';
const obniz = new Obniz('OBNIZ_ID_HERE');
obniz.onconnect = async () => {
const sensor = obniz.wired('IRSensor', { vcc: 0, gnd: 1, output: 2 });
console.log('リモコンのボタンを短く押してください…');
sensor.start(function (arr) {
console.log('受信したシグナル:');
console.log(JSON.stringify(arr));
obniz.close();
});
}
これをコンパイルして実行する。
と表示されるので、リモコンのボタンを押すと、めっちゃ長い信号が受信される。
昨日から作っているobniz+赤外線LED+リモコンコンセントをTypeScriptで書き直し中。
— Takahiro Mitsuoka (@tmitsuoka0423) March 25, 2020
まずはリモコン受信。#obniz #iot pic.twitter.com/Uj8A0TqliA
無事受信できた。
リモコンコンセントにobnizから信号を送信する
プログラムは以下の通り。
import Obniz from 'obniz';
const on: (0 | 1)[] = [1, 1, 1, 1, 1, (略)]; // 受信したリモコンの信号をコピペする。
const off: (0 | 1)[] = [1, 1, 1, 1, 1, (略)]; // GitHubに全量を載せています。
const obniz = new Obniz('OBNIZ_ID_HERE');
obniz.onconnect = async () => {
const led = obniz.wired('InfraredLED', { anode: 3, cathode: 4 });
led.send(on);
// led.send(off);
console.log('信号を送信しました。');
obniz.close();
}
動かしてみる。
昨日作ったobniz+赤外線LEDをTypeScriptで実装しました。https://t.co/ZjlVZz4pa7
— Takahiro Mitsuoka (@tmitsuoka0423) March 25, 2020
TypeScriptは良い。
クラウドファンディング実施中”mouful”
1週間使ってみてくれる人、開発メンバー募集です!https://t.co/jrNHkUPUG7#obniz #iot #sleeptech #protoout pic.twitter.com/lsb1HrJ8vO
まとめ
obniz+TypeScriptでリモコンコンセントの操作ができるようになりました。
JavaScriptで書くのと比べて、TypeScriptだとプロパティ名の補完が効くようになるのでオススメです。
gndとかvccとかピン名を調べる手間がなくなります。
次回はAWSにデプロイしていきます。
Author And Source
この問題について(obniz+赤外線LED+TypeScriptでリモコンコンセント(OCR-05W)を動かす), 我々は、より多くの情報をここで見つけました https://qiita.com/mitsuoka0423/items/0652beb8a42d8daad6fb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .