blue 发表于 2021-7-23 08:59:42

扩展库使用说明——无线遥控

本帖最后由 zly188 于 2021-10-21 13:18 编辑

一、概述
      433M/315M的无线在现实生活中使用很广泛,尤其是一些小家电里的无线遥控,比如遥控车库门、遥控晾衣架、无线开关、无线窗帘电机等。
       无线遥控器常用的编码方式有两种类型,即固定码与滚动码两种,滚动码是固定码的升级换代产品,目前凡有保密性要求的场合,都使用滚动编码方式。而固定码目前常用的有编码格式有2262、1527等,还有一些私有协议,比如宁波杜亚电机协议。
       本扩展库为通过单片机来实现1527、2262、杜亚电机等的编码,驱动无线模块发送无线信号来控制对应的设备。
       扩展库后续还会添加无线解码功能,用来解码无线编码数据。

二、硬件连接方式

测试用的无线模块为433.92频率的模块,具体参数如下

点击链接购买

三、库的函数功能和说明
1.1527编码说明

如上图,包含一个同步头,20位地址码,4位开关码
同步头高电平和低电平脉宽比为1:31;
数据1高电平和低电平脉宽比为3:1;
数据0高电平和低电平脉宽比为1:3;


4LCK脉宽范围300-500us之间,常用的有350us,公牛面板为400us。

无线信号容易受到扰乱,尤其第一帧,所以数据至少需要连续发送3次以上。
库里默认为重复发送10次,如需修改,请看下面关于BlueRFLink基类的说明。

扩展库为使用C++编写,rf1527类包含初始化和发送两部分,继承至BlueRFLink基类
class rf1527:public BlueRFLink
{
public:
    rf1527(uint8_t tx_pin, timer_base_t timer):BlueRFLink(tx_pin,timer)
    {
      setProtocol(13);//默认使用公牛的协议,这样公牛面板和其他厂家的面板都能兼容,公牛面板只支持这个。
    };
    void send(uint32_t address, uint8_t data);
};

rf1527(uint8_t tx_pin, timer_base_t timer)初始化参数,第一个为发送的引脚;第二个为调用的定时器:ASR有TIMER0-3 4个定时器可以调用,注意不要和其他库同时调用同一个定时器,造成冲突;


void rf1527::send(uint32_t address, uint8_t data)发送参数,第一个为C0-C19的20位地址,一般为出厂统一设置,程序上可以用EEPROM或者FLASH来存储;第二个为D0-D3的数据,包含(0~15)16种开关;
注意有些设备会有特殊的设置,比如官方提供的无线插座,数据位需要大于1。

2.2262编码说明



如上图,
同步头:高电平和低电平脉宽比为1:31;
数据0: 1 Pulse High + 3 Pulses Low + 1 Pulse High + 3 Pulses Low
数据1: 3 Pulses High + 1 Pulse Low + 3 Pulses High + 1 Pulse Low
数据F: 1 Pulse High + 3 Pulses Low + 3 Pulses High + 1 Pulse Low


包含最大12位地址,其中有6位数据和地址共用。

我们从2262的脉冲时序来看,可以发现和1527编码类似,都是24位+同步,所以程序上,底层和1527一样,调用的是同一个函数。

扩展库为使用C++编写,rf2262类包含初始化和发送两部分,继承至BlueRFLink基类
class rf2262:public BlueRFLink
{
public:
    rf2262(uint8_t tx_pin, timer_base_t timer):BlueRFLink(tx_pin,timer){setProtocol(1);};
    void sendTriState(const char* sCodeWord);
};


rf2262(uint8_t tx_pin, timer_base_t timer)初始化参数,第一个为发送的引脚;第二个为调用的定时器:ASR有TIMER0-3 4个定时器可以调用,注意不要和其他库同时调用同一个定时器,造成冲突;


/**
* @brief2262三态数据发送
* @param sCodeWord 三态字符串("0000011111FF")
*/
void rf2262::sendTriState(const char* sCodeWord)
3.杜亚电机编码说明
宁波杜亚是全球最大的一家门窗电机制造商,目前市面上的智能窗帘电机大部分都是出自他家,不是他家的,里面的通讯协议也会兼容他的,所以他的电机私有协议,已经默认为行业协议。不过网上有关电机的无线遥控部分的协议资料很少,通过不断的分析得到如下协议。


同步+28 Bit ID(地址) + 4 Bit CH (通道)+ 8 Bit CMD(命令)
同步   _|——————————————|________|
时间   _|————11.95T———————|__3.9T__|
DATA(H)_|————————|__|
            _|——1.75T———|1T|
DATA(L)_|——|____________|
            _|1T|——1.75T———|
CH=0 群控,最大15
CMD=0x11 开;CMD=0x55 停;CMD=0x33 关;MD=0xCC 对码;CMD=0x1E 固定点动开;CMD=0x3C 固定点动关;
*/

扩展库为使用C++编写,dooya类包含初始化和电机控制等部分,继承至BlueRFLink基类
class dooya:public BlueRFLink
{
public:
    dooya(uint8_t tx_pin, timer_base_t timer):BlueRFLink(tx_pin,timer)
    {
      setProtocol(14);
      setChannel(1);
      setAddress(0xfffffff);
    };
    void motorCW();
    void motorCCW();
    void motorStop();
    void motorInchingCW();
    void motorInchingCCW();
    void matchCode();
    void setAddress(uint32_t addr);
    void setChannel(uint8_t ch);
    void sendCmd(uint8_t cmd);
private:
    uint32_t _address;
    uint8_t _ch;
};


dooya(uint8_t tx_pin, timer_base_t timer)初始化参数,第一个为发送的引脚;第二个为调用的定时器:ASR有TIMER0-3 4个定时器可以调用,注意不要和其他库同时调用同一个定时器,造成冲突;


/**
* @brief设置出厂地址
* @param addr 地址
*/
void dooya::setAddress(uint32_t addr)

/**
* @brief设置通道
* @param ch 通道,0为群控,最大15
*/
void dooya::setChannel(uint8_t ch)设置地址,长度为28位,一般为出厂统一设置,程序上可以用EEPROM或者FLASH来存储
设置通道,0为群控,最大15


void dooya::matchCode()和电机配对的时候,需要发送这个命令。



void dooya::motorCW()
void dooya::motorCCW()
void dooya::motorStop()
void dooya::motorInchingCW()
void dooya::motorInchingCCW()设置电机不同的状态,点动控制有些设备不支持。

/**
* @brief发送自定义命令
* 还有开关灯等其他命令,根据实际情况自己设置
*/
void dooya::sendCmd(uint8_t cmd)有些遥控还有照明按键,目前还没分析对应的命令码,开放接口给用户自己处理,后期会更新。

4.BlueRFLink基类说明
class BlueRFLink
{
public:
    BlueRFLink(uint8_t tx_pin, timer_base_t timer);

    struct HighLow {
      uint8_t high_pulse;
      uint8_t low_pulse;
    };

    struct Protocol {
      /** base pulse length in microseconds, e.g. 350 */
      uint16_t pulseLength;//最小脉宽
      HighLow sync;//同步头的高低脉宽比例因子static const BlueRFLink::Protocol proto[]=
{
{ 350, {1, 31 }, {1,3 }, {3,1 }, false },    // protocol 1
{ 650, {1, 10 }, {1,2 }, {2,1 }, false },    // protocol 2
{ 100, { 30, 71 }, {4, 11 }, {9,6 }, false },    // protocol 3
{ 380, {1,6 }, {1,3 }, {3,1 }, false },    // protocol 4
{ 500, {6, 14 }, {1,2 }, {2,1 }, false },    // protocol 5
{ 450, { 23,1 }, {1,2 }, {2,1 }, true },   // protocol 6 (HT6P20B)
{ 150, {2, 62 }, {1,6 }, {6,1 }, false },    // protocol 7 (HS2303-PT, i. e. used in AUKEY Remote)
{ 200, {3, 130}, {7, 16 }, {3,16}, false},   // protocol 8 Conrad RS-200 RX
{ 200, { 130, 7 }, {16, 7 }, { 16,3 }, true},      // protocol 9 Conrad RS-200 TX
{ 365, { 18,1 }, {3,1 }, {1,3 }, true },   // protocol 10 (1ByOne Doorbell)
{ 270, { 36,1 }, {1,2 }, {2,1 }, true },   // protocol 11 (HT12E)
{ 320, { 36,1 }, {1,2 }, {2,1 }, true },   // protocol 12 (SM5212)
{ 400, {1, 31 }, {1,3 }, {3,1 }, false },    // protocol 13 公牛无线开关
{20, { 239, 78}, { 20, 35 }, { 35, 20 }, false}      // protocol 14 Dooya DC1600
};
四、综合案例
1.语音控制公牛无线面板

公牛无线开关面板
配对操作说明:
长按面板直到发出“嘀”一声,绿色指示灯闪烁,对着天问ASR说,打开灯光,会发送无线信号,面板配对成功会发出“嘀”一声,绿色指示灯常亮。

取消配对操作说明:
长按面板直到发出“嘀嘀”两声。
更多说明,请查看配套说明书。

http://www.haohaodada.com/video/new/twen/bullswitch.mp4

天问定制无线开关面板
点击链接购买
先唤醒语音识别,长按主开关按键3秒,听到“滴”的一声松手,此时对着天问ASR说,打开灯光,会发送无线信号,主开关会同时发出滴一声,即配对成功。配对成功后,发配对的相同指令,如果原来开的那就关灯了,如果关灯的那就开灯。(二开,三开以此方法依次配对使用)

有没有开指令控制开灯,关指令控制关灯呢。这时就要用分别学习开和关指令的方法来控制灯了。
学习开灯指令:长按主开关按键5秒,听到“滴滴”的两声松手,此时对着天问ASR说,打开灯光,即可实现此功能。
学习关灯指令:长按智能开关7秒,听到“滴滴滴”的三声松手,此时对着天问ASR说,关闭灯光,即可实现此功能。(注意这里程序上要和打开灯光的命令不同)
取消配对:长按智能开关10秒,听到“滴滴滴滴”的四声松手,即可清除配对。

注意:在“滴滴”声后,1-2秒里,就应该发送学习的无线指令。不然学习无效。请注意控制时间。

更多说明,请查看配套说明书。

天问定制无线插座
点击链接购买
配对操作说明:
      把插座插上电源孔里,在插座开关,关闭状态下,长按按钮直到指示灯红色快速闪送后,松开按钮,指示灯慢闪,进入配对模式,对着天问ASR说,打开插座,会发送无线信号,插座红色指示灯会闪烁几下,确认配置成功。

更多说明,请查看配套说明书。

程序编写说明:
指示灯为红色的版本,发送同一条无线命令,可以在“开”、“关”两种状态之间来回切换。
指示灯为蓝色的版本,“开”:状态对应一条指令;“关”:状态对应另外一条指令;两条指令的区别是数据位的最高位为1表示开,为0表示关。


如上图的数据位9(1001)为开、数据位1(0001)为关。

2.用天问ASR+433M无线发射模块控制窗帘
点击链接购买窗帘电机


恢复出厂模式
长按电机设置键 10 秒,指示灯绿灯闪烁 5 次松手,恢复出厂设置成功,清除所有用户
设置并将电机恢复至默认状态。

对码

data:image/png;base64,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
更多说明,请查看配套说明书。

语音控制窗帘和灯光
https://haohaodada.com/video/new/data/Intelligentclassroom.mp4

语音控制晾衣架
https://haohaodada.com/video/new/data/clotheshanger.mp4







bosschen 发表于 2022-3-2 17:25:46

可以详细讲一下衣架怎么改的吗?都用会模块了?无线接收模块?谢谢

yinds5092 发表于 2022-10-24 13:41:03

什么时候出软解码的库啊,最好是识别不同振荡电阻的

blue 发表于 2022-11-28 15:40:13

yinds5092 发表于 2022-10-24 13:41
什么时候出软解码的库啊,最好是识别不同振荡电阻的

已经出了一个简易的能解码1527的了,上线扩展库了

厚航电子 发表于 2023-2-7 09:33:54

电机行程是怎么控制的?

BA7MIL 发表于 2023-3-16 23:15:15

STC8G1K08 只有0和1两个定时器直接用的话使用不了如何修改成使用1定时器呢

JCWK 发表于 2023-3-25 11:08:44

BA7MIL 发表于 2023-3-16 23:15
STC8G1K08 只有0和1两个定时器直接用的话使用不了如何修改成使用1定时器呢

我也是相同的问题,可能这些库文件是基于8H去写的,没有适配8G这类芯片,要是能兼容该多好,任一脚都能控制就好了

wherestheway 发表于 2023-4-3 20:59:08

本帖最后由 wherestheway 于 2023-4-4 15:43 编辑

报告老师,我家好太太晾衣杆已经可以控制了,用的是杜亚协议。照明的CMD我也识别出来了,是0x0F,紫外线消毒的CMD是0x73,电源的CMD是0x70。其余CMD都是正确的。
页: [1]
查看完整版本: 扩展库使用说明——无线遥控