1
Help us understand the problem. What are the problem?

posted at

RM mini3用にリモコン信号を変換

下記のWebサイトにて、テレビやエアコンのリモコンデータが公開されているのでこのデータを元に、RM mini3用の信号データに変換を行う。
http://www.256byte.com/remocon/iremo_db.php

■MSB firstをLSB firstに変換

公開されているデータはMSB firstなので、LSB firstにスクリプトで変換する。

convLM.py
#!/usr/bin/env python3

import sys
import re

hex_s = sys.argv[1]
bin_n = bin(int(hex_s,16))

bin_l = len(bin_n[2:])
stn_l = 7 - ((bin_l-1) % 8) + bin_l

bin_zf_n = bin_n[2:].zfill(stn_l)
bin_r = re.split('(........)', bin_zf_n)[1::2]

l = list()
for b in bin_r:
    rev_bin_n = ''.join(list(reversed(b)))
    l.append(format(int(rev_bin_n,2),'02x'))

print(*l)

例:NEC照明の信号(0x41B618E7)を変換

./convLM.py 0x41B618E7
82 6d 18 e7

■NEC フォーマットの汎用信号定義データにエンコード

変換したデータを、スクリプトで汎用信号定義データにエンコードする。

スクリプトは下記サイトのirnecを参照
http://shrkn65.nobody.jp/remocon/nec.html

#! /usr/bin/perl
#
#  Usage: irnec hex hex hex ...
~

例:NEC照明の信号を変換

./irnec 82 6d 18 e7
38 1 9000 4500 562.5 562.5 562.5 1687.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 1687.5 562.5 1687.5 562.5 562.5 562.5 1687.5 562.5 1687.5 562.5 562.5 562.5 1687.5 562.5 1687.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 1687.5 562.5 1687.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 1687.5 562.5 1687.5 562.5 1687.5 562.5 562.5 562.5 562.5 562.5 1687.5 562.5 1687.5 562.5 1687.5 562.5 41062.5

■汎用信号定義データをRM mini3用定義へ変換

変換したデータを、スクリプトでRM mini3用定義へ変換する。

スクリプトは下記サイトのirconvertを参照
http://shrkn65.nobody.jp/remocon/convert.html

#! /usr/bin/perl
#
#  Usage: irconvert [options ...] [input_file ...]
~

例:NEC照明の信号を変換

./irnec 82 6D 18 E7 | ./irconvert --in generic --out mame
26004800000127931312133712131213121312121312133712381213123713371213123812371312131213121213123812371312131212131238123713371213121312381237133712000d05

■BlackBeanControlに登録してテスト

BlackBeanControl.iniのCommandsに追記

$ cat BlackBeanControl.ini
[General]
~略~

[Commands]
aircon = 26004800000127931312133712131213121312121312133712381213123713371213123812371312131213121213123812371312131212131238123713371213121312381237133712000d05

リモコン信号送信

python3 BlackBeanControl.py -c aircon

無事家電が反応すればOK

参考サイト

http://www.256byte.com/remocon/iremo_db.php
http://shrkn65.nobody.jp/remocon/

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?