【已解决】BK7231N SDK红外功能异常
TuyaOS 版本 3.3.3
红外插件驱动版本是 0.0.1
设备与手机在同一个wifi下红外发送很容易丢 手机wifi断开 红外控制就正常了
TuyaOS 版本 3.3.3
红外插件驱动版本是 0.0.1
设备与手机在同一个wifi下红外发送很容易丢 手机wifi断开 红外控制就正常了
BK7231N 红外发送时好时坏,是因为在BK7231N中有一个 32k 定时器会打断红外使用的硬件定时器,导致硬件定时器定时不准确,从而导致红外实际发送的码和预期有误差,误差较大就会导致设备无法识别。关闭 32k 定时器会有效改善这种情况,但是在关闭期间 RTOS 会无法进行调度。此外 BK7231N 的无线通信功能使用的 fiq 中断,也会影响到硬件定时器,所以在红外发送期间,系统无法进行调度,无法使用WiFi接收或发送数据。
下面是针对这个问题的一个修复,你可以使用附件中的两个组件对开发包中的两个组件进行一个替换,看下问题是否有改善。
附件如下:
新的驱动还是一样 手机和设备在同一个wifi下红外控制基本都丢了 手机断开wifi 用流量 就正常了
我用红外的例程替换这个驱动文件也是有这个问题 连同一个wifi一开始效果还好 多控制几下就开始丢了 断开wifi用流量就正常了
好的,我这试着看下能不能复现这个问题
请问您那边复现了吗
请问这个问题有进展吗 我这边只能看出来没连同一个WIFI的时候 红外控制是由MQTT下来的 连上同一个WIFI就不是MQTT下来的了
这是用流量没在同一个WIFI下的打印 比下面连同一个WIFI的多一段MQTT接收的打印
[15:11:15.237]收←◆[06-17 15:11:14 TUYA D][lr:0xae191] Rev MQTT:{"data":{"dps":{"201":"{\"control\":\"send_ir\",\"head\":\"010ed80000000000040014003e00ab00ca\",\"key1\":\"002$$0030B24DBF4040BF@",\"type\":0,\"delay\":300}"}},"protocol":5,"t":1686985874}
[06-17 15:11:14 TUYA D][lr:0xa2e6b] Rev DP Cmd
[06-17 15:11:14 TUYA D][lr:0xbd5ed] mqtt[m2.tuyacn.com] status:7
[06-17 15:11:14 TUYA D][lr:0xa1d75] Rev Cmd 1, data:0x42dd64
[06-17 15:11:14 TUYA D][lr:0x75c69] __tfm_cloud_path_cb:201
[06-17 15:11:14 TUYA D][lr:0x75ced] ctrl cmd: send_ir, ver: 2
[06-17 15:11:14 TUYA D][lr:0x75f7b] tfm lib_type 0
[06-17 15:11:14 TUYA D][lr:0xa1efb] dpid:201 already process
[06-17 15:11:14 TUYA D][lr:0xa1f1d] del dpid:201
[06-17 15:11:14 TUYA D][tbl_ir_cloud_service.c:494] ir start ctrl
[06-17 15:11:14 TUYA D][ty_app_ir_remote.c:54] +++ developer ctrl notif: 0
[06-17 15:11:14 TUYA D][ty_app_msg.c:107] msg_id:0 msg_data_len:8
[06-17 15:11:14 TUYA D][ty_event_loop.c:72] event_msg_callback msg_id:0 msg_data_len:8
[06-17 15:11:14 TUYA D][ty_event_loop.c:73] ============event tal_free msg:0x42d38c=============
[06-17 15:11:14 TUYA N][ty_app_ir_component.c:57] =================>event_id:101, event_size:0
[15:11:15.525]收←◆user close ir recv, no init
[06-17 15:11:14 TUYA D][tbl_ir_cloud_service.c:506] ir ctrl success
[06-17 15:11:14 TUYA D][ty_app_ir_remote.c:54] +++ developer ctrl notif: 1
[06-17 15:11:14 TUYA D][ty_app_msg.c:107] msg_id:0 msg_data_len:8
[06-17 15:11:14 TUYA D][tbl_ir_cloud_service.c:519] ctrl data freed
[06-17 15:11:14 TUYA D][ty_event_loop.c:72] event_msg_callback msg_id:0 msg_data_len:8
[06-17 15:11:14 TUYA D][ty_event_loop.c:73] ============event tal_free msg:0x42d38c=============
[06-17 15:11:14 TUYA N][ty_app_ir_component.c:57] =================>event_id:102, event_size:0
这是用在同一个WIFI下的打印
[14:44:37.755]收←◆[06-17 14:44:36 TUYA D][lr:0x9e4a5] fd:4, wk_stat = 2, type = 13
[06-17 14:44:36 TUYA D][lr:0x9dc61] type:0xd
[06-17 14:44:36
[14:44:37.785]收←◆TUYA D][lr:0x9e651] Rev TP CMD. Send to User,Lan Ver 3.5
[06-17 14:44:36 TUYA D][lr:0xa1d8d] Rev Cmd 0, data:0x42d480
[06-17 14:44:36 TUYA D][lr:0x75c81] __tfm_cloud_path_cb:201
[06-17 14:44:36 TUYA D][lr:0x75d05] ctrl cmd: send_ir, ver: 2
[06-17 14:44:36 TUYA D][lr:0x75f93] tfm lib_type 0
[06-17 14:44:36 TUYA D][lr:0xa1f13] dpid:201 already process
[06-17 14:44:36 TUYA D][lr:0xa1f35] del dpid:201
[06-17 14:44:36 TUYA D][tbl_ir_cloud_service.c:494] ir start ctrl
[06-17 14:44:36 TUYA D][ty_app_ir_remote.c:54] +++ developer ctrl notif: 0
[06-17 14:44:36 TUYA D][ty_app_msg.c:107] msg_id:0 msg_data_len:8
[06-17 14:44:37 TUYA D][ty_event_loop.c:72] event_msg_callback msg_id:0 msg_data_len:8
[06-17 14:44:37 TUYA D][ty_event_loop.c:73] ============event tal_free msg:0x41a89c=============
[06-17 14:44:37 TUYA N][ty_app_ir_component.c:57] =================>event_id:101, event_size:0
[14:44:38.024]收←◆user close ir recv, no init
[06-17 14:44:37 TUYA D][tbl_ir_cloud_service.c:506] ir ctrl success
[06-17 14:44:37 TUYA D][ty_app_ir_remote.c:54] +++ developer ctrl notif: 1
[06-17 14:44:37 TUYA D][ty_app_msg.c:107] msg_id:0 msg_data_len:8
[06-17 14:44:37 TUYA D][tbl_ir_cloud_service.c:519] ctrl data freed
[06-17 14:44:37 TUYA D][ty_event_loop.c:72] event_msg_callback msg_id:0 msg_data_len:8
[06-17 14:44:37 TUYA D][ty_event_loop.c:73] ============event tal_free msg:0x41a89c=============
[06-17 14:44:37 TUYA N][ty_app_ir_component.c:57] =================>event_id:102, event_size:0
MQTT和局域网都收到了数据,出现
Code: Select all
ir ctrl success
[06-17 14:44:37 TUYA D][ty_app_ir_remote.c:54] +++ developer ctrl notif: 1
说明已经发送成功了。
使用的是什么品类,品牌的遥控器。遥控器 ID 是多少?
遥控器 ID 可以长按下面圈起来的地方进行查看。
此外你也可以使用逻辑分析仪看一下无法控制之后按下按键是否有波形,如果有波形但是无法控制设备的话,你可以对比下能控制设备的波形和不能控制设备的波形有什么差异没。
期待你的反馈
yangjie 2023年 Jun 20日 10:27MQTT和局域网都收到了数据,出现
Code: Select all
ir ctrl success [06-17 14:44:37 TUYA D][ty_app_ir_remote.c:54] +++ developer ctrl notif: 1
说明已经发送成功了。
使用的是什么品类,品牌的遥控器。遥控器 ID 是多少?
遥控器 ID 可以长按下面圈起来的地方进行查看。
Snipaste_2023-06-20_10-21-16.png
此外你也可以使用逻辑分析仪看一下无法控制之后按下按键是否有波形,如果有波形但是无法控制设备的话,你可以对比下能控制设备的波形和不能控制设备的波形有什么差异没。
期待你的反馈
波形都是有输出的
正常的包和异常的包后面数据看着都没问题
异常的包头看着有问题 本来应该是4.5ms的 头每次都会多接近300ms 每次都是4.784.8 后面的定时又正常了