使用UDP协议控制欧瑞博S20智能插座

几年前买的欧瑞博S20插座,拿出来折腾一天,终于出成果了。在本地利用抓包wireshark和packet sender发包程序。借鉴了国外大神的思路和资料外国大神的软件控制S20

还有一个分析协议的网站好像是被屏蔽了。但可以在百度搜索http://pastebin.com/LfUhsbcS 然后点击百度快照查看内容。这里面把协议分析很仔细。我自己英文不太好。简单读懂一些意思。

想要通过UDP协议控制S20,首先自己通过wiwo客户端配置好S20,且在同一个局域网内。

通过电脑用UDP协议控制S20,目前只需要两个命令

第一步、握手命令。下面是大神的分析我翻译下

SUBSCRIBE DATA: All Commands apart from discovery require a subscription first!--
所有命令包都要先握手
                (Note: Subscription expires after a few minutes握手很快会失效)
        SEND: UDP x.x.x.x:10000  --发送命令包
                ASCII:--ascii码的内容
                        hd\00\1ecl\ac\cf#$\19\c0      \c0\19$#\cf\ac      
                HEX:---16进制数据内容
                        68 64 00 1e 63 6c ac cf 23 24 19 c0 20 20 20 20 20 20 c0 19 24 23 cf ac 20 20 20 20 20 20          
 -----最重要就是这个命令。包括数据包头部标志+长度+S20的mac地址+反写MAC地址
就可以了,其中20 20 20 20 20 20照着复制就可以了

 
        RECEIVE: UDP x.x.x.x:10000
                ASCII:
                        hd\00\18cl\ac\cf#$\19\c0      \00\00\00\00\00\00
                HEX:
                        68 64 00 18 63 6C AC CF 23 24 19 C0 20 20 20 20 20 20 00 00 00 00 00 00
 
        BREAKDOWN:
                68 64                                     - Magic Key-命令头
 
                00 18                   - Full Message Length = 24bytes-数据包长度
 
                63 6C                      - Command ID ?--S20认识的命令
 
                AC CF 23 24 19 C0                                               - Mac Address (Max Length = 12 = 24bytes)--S20自己的MAC地址
                20 20 20 20 20 20                                               - Mac Address Padding (spaces)
 
                00 00 00 00 00                                                  - ??? Unknown ???未知
 
                00                                               - Power state = off (00 = off, 01 = on)开关
 
 
============================================================================================

发送UDP包到SEND: UDP x.x.x.x:10000,XXXX就是S20的IP地址,端口是10000.
我的内容是:(握手包)
68 64 00 1e 63 6c ac cf 23 34 cd 8c 20 20 20 20 20 20 8c cd 34 23 cf ac 20 20 20 20 20 20

QQ截图20180225215531.jpg

里面第一条包就是要第一个发给S20的。

第二步、就是发送给S20开关命令了,这两个命令是固定的。
1、开命令
就是上图的第五个包
68 64 00 17 64 63 ac cf 23 34 cd 8c 20 20 20 20 20 20 00 00 00 00 01
这里面只要替换你自己的S20mac地址就可以了AC CF 23 34 CD 8C就是这里。
2、关命令
就是上图的第6条包
68 64 00 17 64 63 ac cf 23 34 cd 8c 20 20 20 20 20 20 00 00 00 00 00
这个开关命令区别就是最后一个字,一个是0一个是1.
好了就这么简单。
使用packet sender试试。找到S20的IP地址,端口填写10000.然后按照上面的命令先发握手的包,然后发开关包,看看S20是不是有动作。
其实做这些就是方便今后通过ESP8266来发送命令控制它。
用手机通过外网控制ESP8266,然后8266给S20发送UDP包,控制开关。这样就可以融入到一起了。不用每个硬件都开一个专用的客户端。

你可能感兴趣的:(使用UDP协议控制欧瑞博S20智能插座)