アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

ESP32のリモコンの話

半年ぐらい前に行った作業なのですが、忘備録のために書いておきます。

ESP32にはリモコン解析のライブラリがあります。

ちなみに ESP32 というのは、WiFi+BT+ LX6(CPU)x2のSOCチップの名前で、以下のような評価ボードが沢山出回っています。



開発ツールも沢山リリースされているので、ちょっとした装置を作りたい場合は、簡単に作れてしまいます。
Raspberry Pi のように重いLinuxは動かさないけど、色んなライブラリが揃っており、WiFI+BTも使えるので、IoTなんかに良く使われています。
(一応、Linuxも動くみたいです)

そして、その評価ボードのGPIOにリモコンの受光部の出力を接続すると、リモコン解析機が出来上がりです。

IMG_8256.jpg


Arduinoのライブラリは、 IRremoteESP8266 を使います。

そして、赤外線解析ソフトは、 IRrecvDumpV3というexamplesディレクトリに入っているものを使います。

○Panasonicの場合
例えば、Panasonicのライトのリモコンの場合、以下のような結果が得られます。

21:05:49.941 -> Protocol : PANASONIC
21:05:49.941 -> Code : 0x344A90F464 (40 Bits)
21:05:49.941 -> uint16_t rawData[83] = {3470, 1732, 434, 430, 434, 430, 434, 1298, 436, 1296, 436, 430, 434, 1298, 434, 430, 436, 430, 434, 430, 434, 1298, 436, 430, 434, 430, 436, 1298, 436, 430, 434, 1298, 436, 430, 434, 1298, 434, 430, 436, 430, 434, 1298, 434, 430, 436, 430, 434, 430, 434, 428, 434, 1298, 440, 1294, 434, 1298, 436, 1298, 436, 430, 432, 1298, 434, 430, 434, 432, 434, 432, 436, 1298, 436, 1298, 434, 430, 436, 428, 434, 1300, 436, 430, 432, 432, 436}; // PANASONIC 344A90F464
21:05:49.984 -> uint32_t address = 0x34;
21:05:49.984 -> uint32_t command = 0x4A90F464;
21:05:49.984 -> uint64_t data =0x344A90F464;


そこで得られた値をこんな感じでsendPanasonic64関数に渡せばリモコンの送信となります。

const uint64_t data=0x344A90F464;
sendPanasonic64( data, kPanasonic40Bits , 2);


○アイリスオーヤマの場合
では、 リモコン送信用の関数が用意されていないようなメーカの場合、どうなるのでしょうか?

例えば、私の家でアイリスオーヤマのライトが一つだけあります。
これを解析すると以下のような値が得られます。

21:16:07.962 -> Protocol : EPSON (Repeat)
21:16:07.962 -> Code : 0x7B019A65 (32 Bits)
21:16:07.962 -> uint16_t rawData[271] = {8942, 4426, 584, 530, 582, 1640, 580, 1638, 584, 1638, 584, 1636, 584, 528, 580, 1638, 584, 1638, 582, 528, 582, 530, 582, 526, 584, 528, 582, 530, 584, 526, 584, 528, 584, 1636, 584, 1636, 584, 528, 584, 528, 582, 1638, 582, 1638, 584, 528, 584, 1638, 582, 526, 584, 528, 584, 1636, 584, 1640, 582, 528, 584, 526, 584, 1636, 584, 526, 582, 1640, 582, 41530, 8948, 4428, 584, 528, .............. }; // EPSON (Repeat) 7B019A65
21:16:08.106 -> uint32_t address = 0x80DE;
21:16:08.106 -> uint32_t command = 0x59;
21:16:08.106 -> uint64_t data = 0x7B019A65;



プロトコルがEPSONと表示され、正しく認識されていないのがわかります。
この場合、 sendGeneric関数を呼びます。

その際に データのフォーマットを指定する必要があり、そのために得られたデータを理解する必要があります。
(リモコンフォーマットの詳しい情報は こちらのHP に記載されています。)

上記のデータの最初の値のペアがはLeader部分でHigh=8942, Low=4426を表していることがわかります。
次に、High=580, Low=1640のペアがデータ1、High=580, Low=530のペアがデータ0ということがわかります。
また、コマンドとコマンドの間に41530分のLow区間であることがわかります。

それを変数にすると以下のようになります。

const uint16_t kIrisHdrMark = 8942; ///< uSeconds. [Leader High]
const uint16_t kIrisHdrSpace = 4426; ///< uSeconds. [Leader Low]
const uint16_t kIrisBitMark = 580; ///< uSeconds. [Data 1 High]
const uint16_t kIrisOneSpace = 1640; ///< uSeconds. [Data 1 Low]
const uint16_t kIrisZeroSpace = 530; ///< uSeconds. [Data 0 Low]
const uint32_t kIrisCommandLength = 120000; ///< uSeconds.
const uint32_t kIrisMinGap = 41530; ///< uSeconds. [stop bit Low]
const uint16_t kIrisFreq = 36700;


そして、sendGenericを呼ぶ時に以下のように指定すれば良いわけです。

const uint64_t data = 0x7B019A65;
sendGeneric(kIrisHdrMark, kIrisHdrSpace, kIrisBitMark,
kIrisOneSpace, kIrisBitMark, kIrisZeroSpace,
kIrisBitMark, kIrisMinGap, kIrisCommandLength,
data, 32, kIrisFreq, true, 0, 50);


以上、参考までに。

スマートロックはSESAMIがやはり便利

みなさま、スマートロックを使ってますか?

○SESAMI 5


引越しとともに CANDY HOUSE から発売されている SESAMI5というスマートロックを購入しました

引越し前の家でSESAMI4を使っていたのですが、ちょうど良いタイミングて運良く壊れ、新調しました。





SESAMIは対応する鍵が多いのが特徴です。
我が家はGOAL社のPXKという鍵なんですが、こんな感じで付けてます。

IMG_8503.jpg


ちなみに オートロックの設定をしています。
鍵を開けてから何分後かに閉めるという時間設定もできるのですが・・・


○オープンセンサー


私は同じくCANDY HOUSEから発売されている オープンセンサー を使ってます。

これはドアの開閉を検知するセンサーで、こんな感じでドアの上とかに貼り付けます。

IMG_8504.jpg


これを使うと ドアを閉めてから何秒後にドアをロックするという設定ができるようになります。


○セサミタッチ


あと便利なのが、 セサミタッチです。




こんな感じでドアの外 (AQARAの隣)に貼り付けています。

IMG_8505.jpg


これがあると、 ICカードや指紋で開くのでスマホも持ち歩かなくて済みます
あと、ベビーシッターに依頼する時に鍵を渡すのではなく、ICカードを渡せば良いので便利です。


○Hub 3


その次に便利なのが Hub 3 という製品。これがないと遠隔でドアが開閉できなかったり、AlexaやGoogleと外部アプリの連携ができません。

ちなみに私はこの製品を持っておらず、前の製品にあたる WiFiモジュール2 を使ってAlexaと連携しています。


○リモート


最後に子供にも離れた場所から鍵が開けられるように リモート というリモコン式のスイッチも購入しました。

IMG_8506.jpg


これがあると、 スマホがなくても家の中の離れた場所から鍵が開けられます

Alexaと連動しているので、写真のEcho Show 5に向かって"Unlock the door"とか言えば、鍵が開くのですが 言うのも面倒な時にキーを押すだけで開けられるので便利です。


というわけで、スマートロックがかなりのレベルまで来た感じがします。

参考までに。







AQARA G4のドアモニターはAmazon Echo Show 5で決まり

○はじめに

前回、子供用にドアモニターが欲しいと言ってましたが・・・ 見つけました。

高価なiPad miniを買わなくても大丈夫でした。

そう、 Echo Show 5です





○設定

こんな感じで簡単でした。

  1. Echo Show 5の初期設定。
  2. iPhoneにAlexaをインストール。
  3. AQARAアプリ上でプロフィール=>エコシステムに接続で、Amazon Alexaを選択。



○デモ

ドアベルが押されると、自動的に画面がドアモニターに切り替わります。




しばらく使ってみたいと思います。

本当はGoogle Nest Hubでこれぐらい動作すれば満足なのですが、私のNest Hubが第1世代のせいかオートメーションが効きません。あと、AQARA G4のビデオを表示させると不安定になります。
#Nest Hubで画面を閉じても、AQARA G4のLED Indicatorがずっと赤の状態になっている。

ただ、 この辺の報告 を読むと、第2世代でもまだ上手く動作してないように見えます。


参考までに。
×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: