查看天使之翼遥控晾衣架分析的源代码
←
天使之翼遥控晾衣架分析
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 概述 == [[文件:天使之翼遥控晾衣架.jpg]] 天使之翼自动晾衣架,淘宝销量第一的自动晾衣架,内部带有电机,可通过遥控器控制灯光的开、关,晾衣架的升、停、降 <br><br> == 遥控器 == 遥控器是这样的: [[文件:天使之翼遥控器.jpg | 1024px]] 发射部分是一颗433MHz的超外差模块: [[文件:DSC09987.JPG]] 发射编码部分没有用通常的PT2262/eV1527编码芯片,而是用的一片 EM78P153 单片机,通过程序控制发射 <br><br> == 遥控编码分析工具 == === 红外遥控编码分析仪 === 315MHz,433MHz的简单无线控制,皆可用“红外遥控编码分析仪”来做分析: [[文件:DSC09989.JPG]] 在预留的四孔插座上插一个433MHz 的接受模块,将跳线设置到RF即可: [[文件:DSC09990.JPG]] 软件界面: [[文件:红外分析工具界面.jpg]] <br><br> === 示波器 === 水平单格 50ms,垂直 2V,可将每次遥控器发射的信号波形全捕捉到,下图是晾衣架开关灯的控制波形: [[文件:开灯波形.png]] 可以看到,每次按一个开关,其都发射6个完整的帧 <source lang=bash> 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--- </source> <br><br><br> == 编码分析 == === 初步分析结论 === 参照编码仪捕获的波形,及上下文环境,得到一个初步的结论: 前导码: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 ;灯: <pre> 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 </pre> ;UP: <pre> 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 </pre> ;STOP: <pre> 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 </pre> ;DOWN: <pre> 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 </pre> <br><br> === 结论验证 === 发射的波形从左到右按位发射,可成如下的函数: <source lang=cpp> 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; } } } </source> 则,这是发射灯控的编码: RadioTX::issue_airer(0xA31080FD,0x020053E2) <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br>
返回到
天使之翼遥控晾衣架分析
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面