ワイヤレスリモコンを改造しよう1

みんな大好きFry’s Electronicsをうろうろしていたら、こんな商品を見つけた。

Woods 59781 Wireless Control with Remote Countdown, $14.99 + Tax

 

コンセントなんだけど付属のリモコンで離れたところからオンオフできる。しかも30min, 60min, 2h, 4hのカウントダウンボタン付き。これは新しいおもちゃの予感。

 

Amazonでも売ってます。

 

Amazonのほうが安かったね。まあでも今すぐ手に入れる代ということで。

 

とりあえず観察。

リモコン側

Model: EMW202TD

3VDC Battery (CR2032)

FCC ID: VBA-EF202TD

IC: 7D98A-EF202TD

 

コンセント側には特に電波法的な表記は無し。受信専用なのかな。

 

ではリモコン側のFCC IDから情報を見てみる。

https://fccid.io/VBA-EF202TD

 

RF Exposure

https://fccid.io/VBA-EF202TD/RF-Exposure-Info/RF-Exposure-2270560

この機器はカギを見つけるためのリモコンで433.92MHzを使います。DC 3V電池駆動で6つのボタンがあり、発見したいものに対応したボタンを押すことでカギを見つけます。

いや、全然違うものとして説明されてるし・・。すごいな。

 

アンテナゲインは1.2dBi, 送信パワーは-11dBm, 変調はASKだそうな。パッケージによると80feet飛ぶと書いてあります。24mだから家中はカバーされそう。

 

登録している会社は  Ningbo EverFlourish Smart Technology Corp.,Ltd という会社。Woodsとはまったく関係なさそう。そもそもWoodsなのかIIIWoodsなのかわからないけど、どこの会社なんだろう。



内部の写真を見てみる。

https://fccid.io/VBA-EF202TD/Internal-Photos/Internal-Photos-2270559.pdf

 

400MHz帯だから長いアンテナが必要になるけど、基板の両面をぐるぐる。

MaximのWebサイトによると、434MHzの1/4波長は17.27cm, FR4素材上では10.42cmと書いてある。

https://www.maximintegrated.com/jp/app-notes/index.mvp/id/5436

表と裏で合計13回巻かれていて幅が2.5cmぐらいに見えるから32.5cmくらい?なんだか計算があわないけど、空気中での1/2波長を目指して作られたのかな。

 

使われているICは HT48R002 R3Y00EG2 と書いてある。

http://www.holtek.com.tw/documents/10179/11842/HT48R002_003v111.pdf

PA0, PA1, PA2のまわりに何もないように見えるけど、GNDとは導通していないから、2層基板ではないらしい。ビアが埋められているからテスターでトレースを追うのは難しそう。内蔵の8MHz RC発振と12kHzがあるみたい。動作電圧は2.3 - 5.5Vだから、CR2032のプラス極がVDDに直結されている。

 

さてもうひとつの大きい部品 JD R433A はSAW Resonator だそうです。

http://www.msilverman.me/wp-content/uploads/2014/01/K1037299581.pdf

 

#1と#3はGNDにつながっていて、#2はC7につながっています。うーん、標準回路のどっちもそんなことにはなっていないんだけど。よくわからないけど、C7とR25はつながっているし、R25から順番にアンテナ方向に線が伸びているので、送信に関連しているのでしょう。

 

FCCの情報をふりかえると変調はASK、つまり振幅の大きさによる変調です。この単純そうなやつだと、オンオフ変調してそうな気がします。

 

ボタン6個とMCUの関係はどうなっているんだろう。2x3=6だから5pinでキースキャンをしているのかな。



スイッチの接続は

S1左とS2左とS3左 PA0

S1右とS4左 PA2

S2右とS5左 PA6

S3右とS6左 PA7

S4右とS5右とS6右 PA1

 

PA5は送信系の何かかな。

 

ボタンの読み取り用のプルアップ・プルダウン抵抗はなさそう。ということはMCU内蔵かな。PA7はプルアップがない、それ以外はある。PA0/1/2/5はWakeup機能付き。以上から想像すると

PA0/1が入力プルアップで、PA2/6/7が順番にLow出力していくと予想される。普段低消費電力で待っているとすると、PA2/6/7は全部Low出力しておいてPA0/1の割り込み待ち、割り込みがかかったらPA2/6/7は入力にして順番にLow出力して読み取り、かな。そうすると入力Open状態が存在してしまいそうだけど気にしない、かな。



KiCadというので回路図を書いてみました。

f:id:tomo3i:20181022101136p:plain

 

さて、どうやって改造しよう。とりあえずONとOFFだけできればいいから、SW3とSW6だけでいいんだけど。キースキャンじゃなかったらもっと簡単だったのになぁ。

 

案1

PA7の状態を読み取る。PA7が不定なら何もしない。PA7がLなら押したい方のスイッチの先にLを出力する。キースキャンに同期させて動かす。

 

案2

スイッチを押すかわりに半導体スイッチでSW3とSW6のところを導通させたり短絡させたりする。

Raspberry Pi 3で制御したいと思っています。