天使之翼遥控晾衣架分析

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(示波器)
(示波器)
第51行: 第51行:
  
  
可以看到,每次按一个开关,其都发射6个完整的帧,解码如下:
+
可以看到,每次按一个开关,其都发射6个完整的帧,人肉解码如下:
  
 
<source lang=bash>
 
<source lang=bash>

2014年11月22日 (六) 08:42的版本

目录

1 概述

天使之翼遥控晾衣架.jpg

天使之翼自动晾衣架,淘宝销量第一的自动晾衣架,内部带有电机,可通过遥控器控制灯光的开、关,晾衣架的升、停、降



2 遥控器

遥控器是这样的:

天使之翼遥控器.jpg


发射部分是一颗433MHz的超外差模块:

DSC09987.JPG


发射编码部分没有用通常的PT2262/eV1527编码芯片,而是用的一片 EM78P153 单片机,通过程序控制发射



3 遥控编码分析工具

3.1 红外遥控编码分析仪

315MHz,433MHz的简单无线控制,皆可用“红外遥控编码分析仪”来做分析:

DSC09989.JPG


在预留的四孔插座上插一个433MHz 的接受模块,将跳线设置到RF即可:

DSC09990.JPG


软件界面:

红外分析工具界面.jpg




3.2 示波器

水平单格 50ms,垂直 2V,可将每次遥控器发射的信号波形全捕捉到,下图是晾衣架开关灯的控制波形:

开灯波形.png


可以看到,每次按一个开关,其都发射6个完整的帧,人肉解码如下:

H_1us / L_16.18ms


H_5.330ms / L_648us

0 ---> H220/L650, 1 ---> H650/L220


F1: 0110 0110 0001 0000 1000 0000 1111 1101 0000 0010 0000 0000 0101 0011 1110 0010

H645us / L4.4us

---

H5.340ms / L648us

F2: 0110 0110 0001 0000 1000 0000 1111 1101 0000 0010 0000 0000 0101 0011 1110 0010

H646us/ L4.2us

---

H5.33ms / L650us

F3: 0110 0110 0001 0000 1000 0000 1111 1101 0000 0010 0000 0000 0101 0011 1110 0010

H644us / L13.6us

---

H5.33ms / L650us

F4: 1010 0011 0001 0000 1000 0000 1111 1101 0000 0010 0000 0000 0101 0011 1110 0010

H644us / L4.2us

---

H5.33ms / L650us

F5: 1010 0011 0001 0000 1000 0000 1111 1101 0000 0010 0000 0000 0101 0011 1110 0010

H645us / L4.2us

---

H5.335ms / L648us

F6: 1010 0011 0001 0000 1000 0000 1111 1101 0000 0010 0000 0000 0101 0011 1110 0010

H644us / L---




4 编码分析

4.1 初步分析结论

参照编码仪捕获的波形,及上下文环境,得到一个初步的结论:


前导码:H_5924(6000) L_700(600)

1/0: H_580(600) L_276(200)

0/1: H_156(200) L_704(600)


示波器精确测量:

前导码:H_(650+4.2+5340) L_650

1/0: H_650 L_220

0/1: H_220 L_650



灯:
1010 0011 0001 0000 1000 0000 1111 1101 0000 0010 0000 0000 01_01 0011 1110 0010
A    3    1    0    8    0    F    D    0    2    0    0    5     3    E    2

0xA310 80FD 0200 53E2


UP
1010 0011 0001 0000 1000 0000_1111 1101 0000 0010 0000 0000 0000 1011 1001 1010
A    3    1    0    8    0    F    D    0    2    0    0    0    B    9    A

0xA310 80FD 0200 0B9A


STOP
0110 0110 0001 0000 1000 0000 1111 1101 0000 0010_0000 0000 0010 1101 1011 1100
6    6    1    0    8    0    F    D    0    2    0    0    2    D    B    C

0x6610 80FD 0200 2DBC


DOWN
1010 0011 0001 0000 1000 0000 111_1 1101 0000 0010 0000 0000 0100 1011 1101 1010
A    3    1    0    8    0    F     D    0    2    0    0    4    B    D    A

0xA310 80FD 0200 4BDA



4.2 结论验证

发射的波形从左到右按位发射,可成如下的函数:

void RadioTX::issue_airer(uint32_t code1, uint32_t code2)
{
	int i;

	sync_airer();

	for(i=31; i>=0; i--)
	{
		switch ((code1 >> i) & 0x1) {

			case 1:
				RadioTX::_1();
				break;

			case 0:
				RadioTX::_0();
				break;
		}
	}

	for(i=31; i>=0; i--)
	{
		switch ((code2 >> i) & 0x1) {

			case 1:
				RadioTX::_1();
				break;

			case 0:
				RadioTX::_0();
				break;
		}
	}
}

则,这是发射灯控的编码: RadioTX::issue_airer(0xA31080FD,0x020053E2)










































个人工具
名字空间

变换
操作
导航
工具箱