ユーザー名:

パスワード:


パスワード紛失

新規登録
ビートス オンラインショップへ
アブソリュート株式会社様へ

FW2系ファームウェアが対応する赤外線命令長が従来の32バイトから60バイトに拡大

前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 .7 .8 .9 | 投稿日時 2015-12-5 17:47
disklessfu  <EXPERT>   投稿数: 206
新ファームウェアセットを公開しました。
http://a-desk.jp/modules/mydownloads/singlefile.php?cid=3&lid=79

PIC18F14K50を採用している純正ハードウェア用ファームウェアの対応可能な最大の命令長が、従来の32バイト(-1ビット)から、
一挙に上位版と同じ60バイトに拡大しました。最新の日立エアコンの57バイト命令や三菱エアコンの36バイト命令に対応します。
ただし、一種類のファームウェアで実現するわけでなく、受信(学習)専用ファームウェアと送信専用ファームウェアのペアで
使用することによって実現しています。


前回リリースから同梱している
「送信用設定ツールの(簡易的)Linux版(=bto_ir_cmdのGUIラッパー)」
の63バイト版は、今回からは純正ハードウェアとver 2.1.6.R、ver 2.1.6.Sの組み合わせにも適合することになりました。


今回から送信用設定ツール(つまりWindows用)の「60バイトに拡幅版」を同梱しています。

あと、ここ( http://a-desk.jp/modules/forum_hobby/index.php?post_id=598 )で触れた
日立エアコンのウェークアップコードにも対応しています。
イイね!の数:1
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015-12-25 21:09 | 最終変更
disklessfu  <EXPERT>   投稿数: 206
このほどシャープのエアコンを買いました。
基本的に家電協フォーマット&2分割なんですが、インターバルが超長くて350msもあります。
対応は次のリリースの課題でしょう。
今回も決定直前までパナソニックエアコンが有望だったんですが、やはりスペックと価格の兼ね合いでシャープになってしまいました。


どなたかパナソニックエアコン、富士通ゼネラルエアコンの、赤外線リモコン生データをFW3系で取得して本掲示板にアップして頂けないでしょうか
もし運良く、上記メーカエアコンに現状のFW2系ファームウェアで対応しているなら、その報告もお願い致します。


最近の日立照明のリモコンのデータを取得してみました。
基本的に家電協フォーマットですが、インターバル38msの(SONYやJVCと違って)重複なし3分割でした。
ナショナルエアコン専用板みたいに対応版を作ることは可能ですが、今のところ、これについては、アドバンスがあることだし、
アドバンスに任せればいいか、と思っています。
イイね!の数:1
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-7-16 20:31
 
disklessfu様

初めまして!最近、USB赤外線リモコンを購入して、いろいろ試行錯誤しております。
その過程で、60バイト対応FWのバグ?を見つけたので、ご相談まで投稿します。

使用機器はDAIKOのシーリングライトと、日立のエアコン(RAS-AJ22A)と、ロボット掃除機(Anker RoboVac10)です。

ライトのON/OFF:
02200086409A650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

掃除機のON:
022000405544BB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OFF:
022000405511EE0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

エアコンのON:
0B080001100040BFFF00CC33926D13EC649B00FF00FF00FF00FF00FF53ACD12E00FF00FF000000000000000000000000000000000000000000000000000000
OFF:
0B080001100040BFFF00CC33926D13EC649B00FF00FF00FF00FF00FF53ACC13E00FF00FF000000000000000000000000000000000000000000000000000000

を行えるように60バイト拡張版のソフトで設定し、個別の機器の操作は大丈夫なことを確認したのですが、本使用してみるとエアコンのON/OFFをしたあと、エアコン以外の機器が操作できなくなります。

操作ソフトを変えたり(CUIのBtoIrRemoconなど)、デバイスをデバイスマネージャで無効/有効にしたりしてもダメで、デバイスを物理的に抜き差しすると照明や掃除機も操作できるようになるのですが、エアコンを操作すると再びエアコン以外の機器が操作できなくなります。

現状ではFWの問題かなと考えていますが…お時間のあるときにでも検証して頂けますと幸いです。

こちらで提供できる追加情報などありましたら、ご連絡ください!
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-7-22 22:01 | 最終変更
disklessfu  <EXPERT>   投稿数: 206
>本使用してみるとエアコンのON/OFFをしたあと、エアコン以外の機器が操作できなくなります。
ご報告ありがとうございます。
エアコンは日立の(私の表現するところの)33バイトエアコンで、純正ハードウェアだと、
60バイト対応のFWじゃないと対応できないタイプですね。

FWは単純なテスト後、即効で公開したと記憶してるので、そのようなバグはさもありなんて感じです。

実際に赤外線が出ているか確かめるツールはお持ちじゃないようですね
なのでデバッグの手間を省かせて頂く為に、追加の質問をさせて下さい。


(1)このパターンでは、どこが(から)駄目ですか
エアコン以外の機器を操作→エアコンを操作→エアコン以外の機器を操作→エアコンを操作

(2)このパターンでは、どこが(から)駄目ですか
エアコン以外の機器を操作→エアコン以外の機器を操作→エアコンを操作


(3)このパターンでは、どこが(から)駄目ですか
エアコン以外の機器を操作→エアコンを操作→エアコンを操作


(4)このパターンでは、どこが(から)駄目ですか
エアコンを操作→エアコンを操作→エアコン以外の機器を操作


いずれもUSBに挿した直後の動作を調べて下さい。
適宜省略できると思えば省略して下さい。
あるいは適宜、同じ種類の操作の連続数を増やして下さい。


この掲示板ではアカウントを取得せず、匿名で書き込むと、承認されるまで1〜3週間かかったりします。
できる限りアカウントを取得して下さい。
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-7-25 1:32
よっしー  <ROOKIE>   投稿数: 2
ご返信頂きありがとうございました!アカウント作成しました。

動作検証してみましたが
>(1)このパターンでは、どこが(から)駄目ですか
◯エアコン以外の機器を操作→◯エアコンを操作→×エアコン以外の機器を操作→◯エアコンを操作

>(2)このパターンでは、どこが(から)駄目ですか
◯エアコン以外の機器を操作→◯エアコン以外の機器を操作→◯エアコンを操作

>(3)このパターンでは、どこが(から)駄目ですか
◯エアコン以外の機器を操作→◯エアコンを操作→◯エアコンを操作


>(4)このパターンでは、どこが(から)駄目ですか
◯エアコンを操作→◯エアコンを操作→×エアコン以外の機器を操作

といった感じで、エアコンを操作すると、以後はエアコンしか操作できなくなる感じです。
「エアコン以外の機器」については、ロボット掃除機、電灯の両方で試しましたが結果は同様です。

取り急ぎご報告まで、失礼いたします。
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-7-26 1:08
disklessfu  <EXPERT>   投稿数: 206
よっしーさん、調査ありがとうございます。
ついさっき、過去の開発環境を探しだしたところです。

発生状況を明確に示して頂いたお陰で
デバッガーを持っていない私でも今回は修正が簡単におこなえるかもしれません。

多分、2.1.6.Sのmain.cの1817行目と1818行目の間に
uc_wu_flg = 0;
が足りないんじゃないかと思います。
かなり初歩的なバグだと思います。
「全くコードレビューしていなかったんだな!」と反省しています。

C18コンパイラーの60日の期限が切れているので
仮想環境をバックアップを元に構築し直すので
ビルドまで数日かかると思います。
暫くお待ちくださいませ

もし興味があればご自身でビルドなさってみて下さい。
コンパイラは無料でダウンロードできますし、過去のソースも公開済みです。
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-8-26 2:43 | 最終変更
sin  <ROOKIE>   投稿数: 2
こんばんは〜
sinと申します。
最近、仕事と趣味の両方で、このリモコンを使い始めました。

# 新規に感想等を新規トピックで書いてしまったのですが、何故か反映されません・・・。
# 管理者様の承認が必要なのかしら?

FW 2.1.6 / 2.1.Gを使ってみました。
送信のみ自作ソフト(win C#のお手製コンソールアプリから 赤外線送信ライブラリ[DLL]をコールして使用)も作ってみました。

家電協48bitコードは、当然問題無く動作しました。

次にSHARP/DENON/TOSHIBAの15bitコードというのに対応したくて、ファームのソースを見ていたら、Type F(15)のDXアンテナのコード(リーダー無し、データ1(15bit) + データ2(15bit))に似ていたので、FW 2.1.Gで試してみました。実際に使ったのは、SHARPの古いTVリモコンです。

結果は、送信設定ツールでの受信はNG(データ化け)。(受信データの期待値を知っていたので)データを修正しての送信はOKでした。受信時に先頭が"1"の場合"0"と判定していました。

"0","1"の判定閾値のパラメーターを変更したFWを作れば、期待通りには受信しそうですが、"0"と"1"の中間の値を閾値にしているのに正しく判定しないのは不思議です。先頭1bit目以外のデータは正しく受信していました。送信したIRを、別なハード・ソフトで確認してみたら、波形はほぼ同じでした。


家電協になる前のリモコンフォーマットは、いろんな種類があるので、すべてに対応するのは困難ですね。FWのROM/RAMサイズ的にも厳しいですね。

PC側から以下のようなデータを毎回渡すようにしてしまえば、ROM/RAMの使用量も減って、もっといろんなフォーマットに対応可能になるのかな?とは思いましたが、今更の変更は面倒ですね(汗) 興味はあるのですけどね・・・。
 リーダーの有無とL/H期間
 データ0/1のL/H期間
 データ1のビット列
 データ1のトレイラーの有無とL/H期間
 中休み1の期間
データ2のビット列
 データ2のトレイラーの有無とL/H期間
 中休み2の期間
データ3のビット列
 データ3のトレイラーの有無とL/H期間
 ・・・他?
受信は、PC側で解析か?

けど、こんな事するくらいなら、FW3.x系でRAWデータを扱ってしまった方がなんでも送受信可能ですよね。
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-10-9 21:43
よっしー  <ROOKIE>   投稿数: 2
disklessfu 様

返信が遅くなり申し訳ありません。

なかなか試す時間ができず延び延びになってましたが、この3連休でご指摘の変更をくわえたソースコードをコンパイルしてみましたところ、動作が改善しました!

期待通りにシーリングライトもエアコンも相互運用できています!!

ちなみに、Homebridge入れたRaspberryPiにつないで、iPhoneからSiri通して操作してます。快適ですね〜。

本当にありがとうございました!!
イイね!の数:1
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-11-6 22:50
disklessfu  <EXPERT>   投稿数: 206
よっしーさん、ありがとうございます。

こちらでもやっと(プラスα機能を含む)対応版を作成し、さっき公開しました。

USB接続 赤外線リモコン ファーム&ソース Ver 2.1.6 日立、東芝、三菱、ナショナルエアコン、SONY、JVC、TMY、丸善電機等対応版 v3
http://a-desk.jp/modules/mydownloads/singlefile.php?cid=3&lid=81

よっしーさんご指摘の、命令長が32バイト超の日立エアコンを一度操作すると、リセットするまで他の機器が操作できない
というバグの解消と、わりと新しい(昨秋購入)のシャープエアコン対応機能の追加が更新内容です。


実はこの日立エアコン関連のバグに関しては、「uc_wu_flg = 0;」が足りないというミスの他にもうひとつミスが見つかりました。
私の当初のプログラミング意図としては命令長が33バイト(ちょうど)まではウェークアップコードを付加しないつもりだったのですが、
実際にはバグで33バイト(ちょうど)の命令でもウェークアップコードが付加されていました。今回これも修正しました。


ただし、現在私は、純正ハードウェアを紛失中です。
なので純正ハードウェア用に新しく追加したファームウェア「ver 2.1.6.R.2」と「ver 2.1.6.S.2」は全く動作検証をおこなっていません。
適宜、同梱の、従来からのファームウェアを使って頂きたいです。


よっしーさん、数日と書きながら、3か月もかかり、申し訳ありません。
「せっかく新版を公開するなら、よっしーさんご指摘のバグ解消だけでなく、シャープエアコン対応もしたい」と思っていたのですが、
そうなると、なかなか時間がとれず、ここまで遅くなってしまいました。


sinさんのSHARP TV系 15bitコードの件はまだ読んだばかりです。
波形データを取得してアップして頂ければ「受信はNG(データ化け)」の直接の原因、解消法はご指摘できるかと思います。
イイね!の数:1
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-11-9 21:57
disklessfu  <EXPERT>   投稿数: 206
98年のシャープのテレビ・ビデオリモコンがあったのでフォーマットを調べてみました。
こちらでもDXアンテナにかなり似ていました。

DXアンテナが
インターバル:約46000us
データのON:約300ms
データ0のOFF:約745us
データ1のOFF:約1780us

なのに対し、

シャープ テレビ・ビデオ・リモコン
インターバル:約40000us
データのON:約460us
データ0のOFF:約640us
データ1のOFF:約1580us

となっており、ちょっとしたパラメータ違いに過ぎない違いしかありませんでした。

>"0"と"1"の中間の値を閾値にしているのに正しく判定しないのは不思議です。
私も同感です。
しきい値のDATACODE_DATA1_DX=11は私の手元のリモコンの計測値のほぼど真ん中で、かなり余裕のある設定の筈だからです。
sinさん手持ちのリモコンは、私の手元のものとは同じシャープでも波形がかなり異なる可能性があると思います。
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-10-26 15:35
mobile  <ROOKIE>   投稿数: 3
disklessfu様作成
ver 2.1.6.R.2とver 2.1.6.S.2にて最新の日立エアコンの動作が
確認出来ました

当然、純正ファームでは歯が立たず、60バイト拡張ファームで
やっと動いた次第です
連続動作も問題なく快調に動作いたします
ありがとうございました

送信にはREMOCON_CT_TRANS v2_vs2015.exeを使用しておりますが、
バッチファイルに組み込む場合などに便利なような、パラメータを渡して直接送信ができるコンソールアプリの作成予定はございませんか?

イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-10-27 19:10 | 最終変更
disklessfu  <EXPERT>   投稿数: 206
UNIX系(Linux,MacOS等)用のコマンドラインツール
bto_ir_cmd
https://github.com/kjmkznr/bto_ir_cmd

60バイト対応ファームを使用する場合は、修正が必要です。

RemoconServant-Firmware-216-set_v3.zipの中の
送信用設定ツールの(簡易的)Linux版(=bto_ir_cmdのGUIラッパー)/Readme.txtに
必要な修正内容を記述しています。


Windows用のコマンドラインツール
BtoIrRemocon.exe
http://dsas.blog.klab.org/archives/52097996.html

私は家ではほぼ100%Linuxを使っているので、このツールを使用したことはありません。
しかし当然ながら、こちらも60バイト対応ファームを使用する場合には修正が必要な筈です。
イイね!の数:2
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-10-31 17:07
mobile  <ROOKIE>   投稿数: 3
disklessfu様お返事ありがとうございます
こんなに早く解決策が見つかるとは思いませんでした
コマンドラインツールがあったのですね
私はWindows環境しか無いため
BtoIrRemocon.exeを60バイト対応の修正に挑戦してみます

まずは、コンパイラから…
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-10-31 21:13 | 最終変更
disklessfu  <EXPERT>   投稿数: 206
BtoIrRemocon.exeのソースは読んでいませんが、
とりあえず参考情報をお伝えしておきます。

純正ファームウェアでの最大命令長は32バイトだとされていますが、
実際にPCとUSB接続赤外線リモコン間では、ヘッダの3バイトを足した35バイトがやり取りされます。
16進表記テキストデータに直すと70文字となります。

同じく60バイト拡幅版の場合は、60バイトにヘッダの3バイトを足した63バイトがPCとUSB接続赤外線リモコン間でやり取りされます。
16進表記テキストデータに直すと126文字になります。
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-11-22 13:14
 
おかげさまでWin版コマンドラインツール完成しました!

コンパイル環境をととのえ
disklessfu様のアドバイス通り
USBデータを63バイトに拡張し、送信コマンドも0X61に変更しまして
完成いたしました。
タスクスケジューラーにBAT登録しまして、快適に動作しております

ありがとうございました
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-11-27 21:09
disklessfu  <EXPERT>   投稿数: 206
あまりお助けできなくてすみませんでした。

無料のVisualStudioでビルドできるソースなんでしょうけど、
それすら確認していませんでした。


既にご存知かもしれませんが、60バイト対応ファームの新板をリリースしました。
http://a-desk.jp/modules/mydownloads/singlefile.php?cid=3&lid=86
これは、純正ファームのver 2.1.1で実施された重大なバグ( http://a-desk.jp/modules/forum_hobby/index.php?topic_id=146 )修正を反映したものです。
このバグは時々、送信が行われないという欠陥です。


一つお願いがあります。
今回修正されたwin版コマンドラインツールのソースですが、
何行目のどこをどう直したのか、説明をこのスレに記述するとか、diffファイルを記述するとか
おこなって頂けませんか
次に同じツールを欲しい人が楽をすることができます。
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-11-28 12:14
mobile  <ROOKIE>   投稿数: 3
アドバイスありがとうございます
変更箇所を掲載いたします

47行目
#include <ctype.h> /インクルードファイル追加

55行目
#define REMOCON_DATA_LENGTH 7
#define REMOCON_DATA_LENGTH 63 /データ長を63バイトに変更

63行目
char *szIdStr1 = "vid_22ea&pid_001e";
const char *szIdStr1 = "vid_22ea&pid_001e"; //const追加 コンパイラ警告対策

64行目
char *szIdStr2 = "mi_03";
const char *szIdStr2 = "mi_03"; //const追加 コンパイラ警告対策


183行目
buf[1] = 0x60; // 送信指定
buf[1] = 0x61; // 送信指定 拡張送信命令


コンパイラはgccを使用しました、Win環境ではMINGWをインストール
(もともとは別の環境で開発されたのかもしれませんが、動けばokなので、一番簡単そうなWINGMで)

GCC IR.C -lsetupapi コマンドにてコンパイル


元ソース作者のtanabe様には公開の許可をいただいております
イイね!の数:0
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-12-8 20:12
disklessfu  <EXPERT>   投稿数: 206
PC Watchで紹介されてます。ビット・トレード・ワンさんの新商品

ラズパイを学習リモコン化できる基板が登場。2,500以上の家電製品に対応
https://pc.watch.impress.co.jp/docs/news/1095841.html

ボタンが多数ある外見から推測すると、わりとプリミティブな仕様のような気がします。
でもスマートホームハブ用のハードとして流用できるでしょう。
イイね!の数:0
返信する

このトピックに投稿する

題名
投稿本文