DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

ESP32でエアコンのリモコン信号が読み取れない? バッファメモリ不足かもしれません

以前、エアコンのリモコンをコピーが出来たことに喜んでいたのですが、エアコンによってはコピーが出来ないものがあることを発見しました。

dreamerdream.hateblo.jp

 

他の機器では効くし、信号も読み取れているのになんでかなー?(´ε`;)…なんならメインで制御したいエアコンなのに困ったぞ。。

 

と思っていたのですが、どうやら用意していたバッファが少なすぎたようで、エアコンの場合のバッファサイズもサンプルコードにきちんと書かれていました。

 

以前参考にしたサイトにはエアコンの場合はバッファサイズを400にするようにとありましたが、どうやら最大で750の設定値が推奨されているようです。

 

ArduinoUNOのようなSRAMが2kしかない場合は600とするようですが、ESP32はバケモノマイコンなのでSRAMは512kB。ユーザーが自由に使える領域だけでも120kB以上あるようです。気にせずバッファを最大で用意しましょう。

 

ここを変更↓

 

バッファ設定値400で読み取った信号

0000 006D 00C8 0000 008B 003F 0014 000D 0014 002F 0016 000D 0016 000D 0012 000F 0012 000F 0014 000D 0014 000D 0014 000F 0014 000D 0016 000D 0014 000F 0012 000F 0012 002F 0014 000F 0012 000F 0014 000D 0014 000F 0014 000F 0014 000D 0014 000D 0014 002F 0012 002F 0014 002F 0014 000F 0014 000D 0014 002F 0014 000F 0012 000F 0014 000D 0014 000D 0014 000D 0014 000F 0014 000F 0014 000D 0014 000F 0012 000F 0014 000D 0014 000D 0014 000D 0014 000F 0014 000F 0014 000D 0014 000F 0012 000F 0012 000F 0014 000D 0014 000D 0014 000F 0014 000D 0016 000D 0014 000F 0012 000F 0012 000F 0014 000D 0014 000D 0014 000F 0014 002F 0014 002F 0014 000F 0012 000F 0012 000F 0012 000F 0014 000D 0014 0184 0089 003F 0016 000D 0016 002D 0014 000F 0014 000D 0014 000D 0014 000D 0014 000F 0012 000F 0014 000D 0014 000F 0014 000F 0014 000D 0014 000D 0014 002F 0012 000F 0014 000D 0014 000F 0014 000D 0014 000F 0014 000F 0012 000F 0012 002F 0014 002F 0014 002D 0016 000D 0016 000D 0014 002F 0014 000D 0014 000F 0012 000F 0012 000F 0012 000F 0014 000F 0014 000D 0014 000F 0014 000D 0014 000F 0012 000F 0012 000F 0012 000F 0014 002F 0014 000F 0012 000F 0014 002F 0014 000D 0014 000F 0012 000F 0012 000F 0014 000D 0014 000F 0014 000F 0014 002F 0012 002F 0014 002F 0014 000D 0014 000D 0014 000F 0014 000D 0014 000F 0014 000F 0012 000F 0012 000F 0012 000F 0012 002F 0014 0031 0014 002F 0014 002F 0014 002F 0012 000F 0012 0031 0012 000F 0014 002D 0014 002F 0014 000F 0014 002F 0014 002F 0014 000D 0014 000D 0014 000D 0014 000F 0014 000D 0014 000F 0014 000D 0014 000F 0014 000D 0014 000D 0014 000D 0014 000D 0016 000D 0014 002F 0014 002F 0014 002F 0014 000D 0014 000F 0012 000F 0012 000F 0014 000D 0014 000F 0014 000F 0014 000D 0014 000D 0014 002F 0014 002F 0012 002F 0014 000F 0014 000F 0012 000F 0014 000F 0012 000F 0012 000F 0012 000F 0014 000D 0014 000F 0014 000D 0014 000F 0014 000F 0012 000F 0012 000F 0012 000F 0014 000D 0014 000F 0014 002F 0014 002F 0014 000D 0014 000F 0012 000F 0012 000F 0012 002F 0016 000D 0014 000F 0014 000D 0014 000F 0012 06C3

 

バッファサイズ750に変更して読み取った信号

0000 006D 00DC 0000 0089 0041 0014 000D 0014 002F 0014 000F 0014 000D 0014 000F 0012 000F 0012 000F 0014 000D 0014 000F 0014 000D 0014 000F 0014 000F 0012 000F 0012 002F 0014 000D 0014 000F 0014 000D 0014 000D 0016 000D 0014 000F 0014 000D 0014 002F 0012 002F 0014 002F 0014 000D 0014 000F 0014 002F 0014 000F 0014 000D 0012 000F 0014 000D 0014 000D 0014 000F 0014 000D 0016 000D 0014 000F 0012 000F 0012 000F 0014 000D 0014 000D 0014 000F 0014 000D 0014 000F 0014 000F 0012 000F 0012 000F 0012 000F 0014 000D 0014 000F 0014 000D 0014 000F 0014 000F 0012 000F 0012 000F 0012 000F 0014 000D 0014 000F 0014 002F 0014 002F 0014 000D 0014 000F 0012 000F 0012 000F 0012 000F 0014 0184 0089 003F 0014 000F 0014 002F 0014 000D 0014 000F 0014 000D 0014 000D 0014 000D 0014 000D 0016 000D 0014 000F 0014 000D 0014 000F 0014 000D 0014 002F 0012 000F 0012 000F 0014 000D 0014 000F 0014 000F 0014 000D 0014 000D 0014 002F 0014 002F 0012 002F 0016 000D 0014 000F 0014 002F 0014 000D 0014 000D 0014 000D 0014 000F 0012 000D 0016 000D 0014 000F 0014 000D 0016 000D 0012 000F 0014 000D 0014 000F 0012 000F 0014 002F 0014 000D 0014 000F 0014 002F 0012 000F 0014 000D 0014 000D 0014 000D 0016 000D 0014 000F 0014 000D 0014 002F 0014 002F 0014 002F 0012 000F 0012 000F 0014 000D 0014 000F 0014 000F 0014 000D 0014 000D 0014 000F 0012 000F 0012 002F 0014 002F 0014 002F 0014 002F 0016 002F 0012 000F 0012 002F 0014 000D 0014 002F 0014 002F 0014 000F 0014 002F 0014 002F 0012 000F 0012 000F 0014 000D 0014 000D 0014 000F 0014 000D 0016 000D 0014 000F 0012 000F 0012 000F 0014 000D 0014 000D 0014 000F 0014 002F 0014 002F 0014 002F 0014 000D 0014 000D 0014 000D 0014 000D 0016 000D 0014 000F 0014 000D 0014 000F 0014 000D 0014 002F 0012 002F 0014 002F 0014 000D 0016 000D 0014 000F 0014 000D 0014 000D 0014 000F 0012 000F 0012 000F 0014 000D 0014 000F 0014 000F 0014 000D 0014 000D 0014 000F 0012 000F 0012 000F 0014 000D 0014 002F 0014 0031 0014 000D 0014 000D 0014 000D 0014 000F 0012 002F 0014 000F 0014 000D 0014 000F 0014 000F 0012 000F 0012 000F 0012 000F 0014 002D 0016 000D 0014 000F 0014 002F 0014 002F 0012 002F 0014 000D 0014 000F 0012 002F 0016 002D 0014 002F 0014 000F 0014 000F 0012 002F 0014 000D 0014 000F 0012 000F 0014 06C3 

 

完全にバッファに用意するメモリ不足で途中までしか読み取れていませんでした。

 

ESP32はArduinoUnoと違いメモリは潤沢にあるので贅沢に1200で設定しておきました。(不要だろうけど)

 

 

 

kampa.me