TuyaOS
|
FFC
是 WIFI
遥控器通信技术的简称。FFC
的产品需求最早来自于终端部分用户习惯于传统遥控器,来控制智能家居。
WIFI
遥控器经过不断发展,主要发展为本地遥控器(离线遥控器)和在线遥控器,两者的最大差别就是是否有涂鸦云端的参与。
WIFI
遥控器通讯协议及实现原理介绍FFC
是一种无需通过路由器连接即可实现 WIFI
设备之间通信的技术,主要是对无线管理帧(802.11)中的 Probe request
帧进行了扩展。利用了Probe request
帧 Frame body
中的 Vendor Specific
(221 厂商自定义元素字段)可以自由编辑且不定长度的特性,自定义了一层通信协议,Probe request
帧可以简单的理解为探测请求,扫描区域内有哪些802.11网络。通信协议如下图所示:
下图为一帧 Probe reques
数据
正常情况下的配对流程如下:
master
可以理解为信息发送端,就比如 WIFI
遥控器;slaver
可以理解为信息接收端,就比如被控设备。
WIFI
遥控器 master
相关函数介绍:此例程只介绍如何配置模组的 master
模式。
配置 master
模式,要首先调用 tuya_iot_wifi_ffc_init
函数初始化 master
模式。随后需要调用 tuya_iot_wifi_ffc_control
函数,设置 master
的类型。 最后再次调用 tuya_iot_wifi_ffc_control
函数配置使其工作在信道扫描状态下。
tuya_iot_wifi_ffc_control
参数介绍如下:
tuya_iot_wifi_ffc_bind
函数作用是开始绑定流程。一般的 master
设备会长按某个键进入配网流程时才会调用这个函数。而 一般的 slaver
设备是重新上电后就会进入配网流程。
tuya_iot_wifi_ffc_send
调用这个函数发送数据。tuyaos
内部会对这部分数据进行封装,我们只需要关心应用部分的协议内容,如应用层的控制协议。 Slaver
收到后通知数据接收回调函数。
相关函数目录: software/TuyaOS/include/components/svc_wifi_ffc/include/ffc_app.h
WIFI
遥控器 slaver
相关函数介绍:此例程只介绍如何配置模组的 slave
模式。
tuyaos
内部帮我们配置好了,在应用层我们先需要调用tuya_iot_wifi_ffc_init
函数初始化遥控器相关配置,随后调用 tuya_iot_wifi_ffc_control
使其工作在扫描信道模式下。最后调用tuya_iot_wifi_ffc_bind
函数开始绑定流程即可。
tuya_iot_wifi_ffc_init
的形参介绍如下:
tuya_iot_wifi_ffc_unbind
为遥控器接绑函数,在线遥控器无需关心。
tuya_iot_wifi_ffc_send
在模组为 master
的情况下才会用到,这里不过多介绍。
相关函数目录: software/TuyaOS/include/components/svc_wifi_ffc/include/ffc_app.h