涂鸦蓝牙协议移值(初级)

一、 移植前所需资料

①获取涂鸦SDK包;
②基于我们芯片平台生成的库文件(将下面的图片发给涂鸦技术支持,然后会提供tuya_ble_lib_51802.lib);

在这里插入图片描述
在这里插入图片描述
【库不正确报的错误】
③《涂鸦_ble_sdk_sdk说明_v2》文档;
④涂鸦官网申请PID和授权码;

二、 需要实现接口函数

① 广播包、扫描包更新接口
tuya_ble_gap_advertising_adv_data_update
tuya_ble_gap_advertising_scan_rsp_data_update
②蓝牙断开、gatt数据发送接口
tuya_ble_gap_disconnect
tuya_ble_gatt_send_data
③Timer相关的创建、删除、开始、停止
tuya_ble_timer_create
tuya_ble_timer_delete
tuya_ble_timer_start
tuya_ble_timer_restart
④随机数生成器接口
tuya_ble_rand_generator
⑤nv flash数据读、写、擦除接口
tuya_ble_nv_init
tuya_ble_nv_erase
tuya_ble_nv_write
tuya_ble_nv_read
⑥aes、md5加解密算法(可以参考加密.txt)
tuya_ble_aes128_ecb_encrypt
tuya_ble_aes128_ecb_decrypt
tuya_ble_aes128_cbc_encrypt
tuya_ble_aes128_cbc_decrypt
tuya_ble_md5_crypt

三、需要调用tuya sdk接口

①sdk在蓝牙底层接收回调函数下,调用 tuya_ble_gatt_receive_data 函数,该函数用于将蓝牙底层收到的 GATT 数据发送给涂鸦蓝牙 SDK。涂鸦蓝牙 SDK 会对接收到的加密数据进行解析,并返回给应用程序。

②在非 OS 架构下,蓝牙 SDK 的消息事件主调度器,应用程序必须在主循环 LOOP 中调用 tuya_ble_main_tasks_exec。

③应用程序需要在芯片平台 SDK 的蓝牙连接、断开回调处,调用涂鸦蓝牙 SDK 的 tuya_ble_connected_handler()、tuya_ble_disconnected_handler() 这2个函数,SDK 是根据此函数的执行来管理 SDK 内部蓝牙连接状态的。

④初始涂鸦sdk初始化
tuya_ble_sdk_init

⑤如果设备使用 OS,API 的调用将采用基于消息的异步机制。初始化 SDK 时,SDK 将会根据 tuya_ble_config.h 文件的相关配置自动创建一个任务用于处理 SDK 的核心逻辑,同时自动创建一个消息队列用于接收 API 的执行请求,API 的执行结果也将会以消息的方式通知给设备的应用程序,所以应用程序需要创建一个消息队列并在调用 tuya_ble_sdk_init() 后调用 tuya_ble_callback_queue_register() 将消息队列注册至 SDK 中。回调函数为:

四、 涂鸦APP无法识别蓝牙设备

① PID没有修改,可依据第三方软件(nrf connect)查看广播内容
在这里插入图片描述
②加密出来的device uuid不对,如何验证加密算法是否有问题,请参考(加密算法验证.txt)文档,加解密算法实现也可以参考(加密.txt)
③Tuya sdk初始化的时候未填充正确的授权码,可以打印日志,看下tuya sdk初始化之后,是否有正确打印出授权码的信息

在这里插入图片描述
④请联系涂鸦对接项目群中的FAE技术专家【必杀技】

五、涂鸦app连接设备后问题

现象:建立链接后,APP马上断开;
原因:服务和特征不符合涂鸦APP要求;

现象:蓝牙底层有接收到数据,并且有调用tuya_ble_gatt_receive_data接口,把接收数据发给涂鸦sdk,数据处理过程中在某个环节就暂停了,最后就超时断开蓝牙了

原因1:tuya_ble_main_tasks_exec函数没有在主循环运行;
原因2:TUYA_BLE_DATA_MTU_MAX设置的太小,蓝牙MTU大于TUYA_BLE_DATA_MTU_MAX;
原因3:解密失败,加解密算法接口没有弄好;

在这里插入图片描述
现象:如果出现app下发第一帧获取设备信息命令,数据解析、处理、回复都正常,在app下发第二帧配对请求命令时,出现解密数据是乱码,CRC校验失败的情况,
原因:应该就是随机数生成器接口(tuya_ble_rand_generator)没有实现,可以打印tuya_ble_pair_rand确认;

现象:如果app下发第一帧获取设备信息命令,设备端数据解析、处理、回复打印都有,但是app却一直都没有下发第二帧配对请求命令,出现这种现象,一般都是设备端回复的获取设备信息命令有问题,app没有收到或者没法按协议解析成功,可从以下几个方向排查:

原因1:加密算法有问题,导致app收到数据解密之后,数据不对或者没法解密成功
原因2:设备端底层发包机制有问题,数据根本没有发送出去,可通过抓空中包确认
原因3:设备端底层发包数据有问题,可通过抓空中包确认发出去的数据内容和加密数据是否完全一样
原因4:设备端底层分包发送之间有阻塞、不连续,导致app接收数据不完整
原因5:设备端底层分包发送大小超过协商的mtu

现象:app配网成功后一直都正常,但是重新上电或者复位后,设备没法重连,一直是离线状态

原因:该问题应该是配网成功后绑定状态标志位已经置位,但是未存储到flash,导致重新上电或者复位之后,初始化广播的时候,广播数据未更新,还是配网成功之前的广播数据,不是已经绑定后的广播数据,客户确认flash存储接口实现是否有问题

现象:设备有实现本地恢复出厂设置功能,但是本地恢复出厂设置之后,设备重新配网时app上就搜索不到该设备了

原因1:确认接口调用逻辑有没有调用错,需要清除云端历史数据、设备绑定信息并解绑,就调用tuya_ble_device_factory_reset接口,如果只需要清除设备绑定信息并解绑,就调用tuya_ble_device_unbind接口

原因2:确认flash存储接口实现是否有问题,有可能是进行解绑操作过程中,绑定标志位有清0,但是未存储到flash,导致芯片复位之后,广播还是已绑定的广播

原因3:确认恢复出厂设置逻辑,有客户会在调用tuya_ble_device_factory_reset/tuya_ble_device_unbind之后,调用芯片sdk的复位接口,涂鸦sdk事件发送是异步的,如果调用完上述接口后,立马调用芯片sdk复位接口,会导致实际解绑流程未跑完就复位了,复位后还是已绑定状态;可以在调用完上述接口后,设置定时器延时2s后再调用芯片sdk复位接口

【完成了 SDK 移植后,您可以进入应用程序开发,请查看对应的开发指南。】

-----------------------完结----------------------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27866.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS 图片编辑——涂鸦——随手指移动随意画线

iOS 涂鸦 我们已经讲过画直线 和画带箭头的线段 参考:http://blog.csdn.net/lwjok2007/article/details/50885376 这节 我们尝试做一下 随意画 手指移动到哪里就在哪里画线 如下图所示: 使用Xcode创建项目,起名:TestFingerLine …

html5制作涂鸦板,HTML5实现涂鸦板

最近闲的,看了看html5,强大的绘图功能让我惊奇,于是,写了个小玩意---涂鸦板,能实现功能有:画画,改色,调整画笔大小 html5的绘图可以分为点,线,面,圆,图片等,点和线,这可是所有平面效果的基点,有了这两个东西,没有画不出来的东西,只有想不到的算法。 先上代码了…

Android对长图进行滑动涂鸦

由于项目需要对页面进行像做笔记一样的涂绘,所以这个功能点就应运而生,思路是加载完了页面以后就将整个截屏保存,进入编辑页面就将保存图片的地址传入自定义的长图加载控件中,高度的变化与滑动借助于一个修改过得竖直的seekbar,空…

AndroidStudio实现在图片上涂鸦并记录涂鸦轨迹

AndroidStudio实现在图片上涂鸦,并保存涂鸦轨迹 开个坑,终于有时间整理一下这个项目里用到的比较重要的技术 虽然最后甲方没有采用(笑) 因为博主学艺不精,有很多小bug AndroidStudio版本:2020.3.1.25 实现效…

仿微信图片编辑软件,涂鸦、裁剪、添加文本等常规操作

1、需求 在做一个野外地质数据采集软件开发的过程中,有时候需要进行拍照保存,在此,我们直接通过Intent调用系统的拍照功能;然后,调用系统的裁剪功能,可以按照需要的大小进行裁剪;但是但是但是。…

iOS 图片涂鸦功能

大致原理: 1.准备几张切图。 2.监听手势,手势开始,随机添加一张图片;手势移动,累加手势距离,到达一定值再添加一张随机图片并清零累加距离,依次类推。 demo地址:https://github.co…

抖音私信名片_抖音消息卡片_抖音跳转微信_抖音私信跳转_抖音落地页

近期见到许多人到求这一的信息卡片个人名片是怎么做的,我四处请人了解,总算找到这一卡片的做法。 这个是抖音内置的作用,它是抖音橱窗的一个作用,沒有开通抖音橱窗是完成不上这一作用的,得下开通橱窗作用,…

AI辅助编程,GitHub copilot chat 体验

最近,看到很多大佬分享 GitHub copilot chat ,据说能够让效率翻倍,抱着不相信,打假的心态我也弄一个,体验一下,结果真的很赞,下面分享使用 GitHub copilot chat 的过程 ​ 首先,我们…

工作完三年后,分享分享Java后端开发的一些心得

今年进入我工作的第四个年头, 三年多的时间里, 算上实习, 经历过3家公司. 见过了各种各样的同事, 也算见过各式各样的代码. 这篇文章主要是想分享一下一个java后端三年的一些感悟, 关于编程上的, 工作上的, 和同事相处上的. 一: 关于开发 我把关于编程的写在最前面, 我觉得对于…

打工人都在用的AI工具(第二期)

数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Python数字货币量化投资 C语言CTP期货交易系统开…

一人改代码搞崩推特,马斯克气疯:全部重写!

鱼羊 丰色 发自 凹非寺量子位 | 公众号 QbitAI “马斯克气疯了”! 就在今天,推特又双叒崩溃了,图片和任何链接都打不开。 据马斯克自己的说法,原因只是“API的一个小改动”。 但后果很严重,起码在网友们看来&#xff0…

【真北直播笔记】董越:简明DevOps学习地图

缘起 真北敏捷社区的宗旨是:求知、连接。求知就是学习,家里没矿的话,学习是一个人最重要的动力之源。连接就是把人拉在一起,我们相信人与人的互动会带来美好的变化。今天的直播是把大家拉在一起学习,就是求知、连接。 …

云原生可观测领域的半壁江山,这次被 Grafana 和 Cilium 给拿下了

两个多月前,Grafana 实验室宣布与 Cilium 母公司 Isovalent 建立战略合作伙伴关系[1],希望通过 Grafana 开源的可观测性全家桶组件,帮助各个基础架构团队深度探测 Kubernetes 集群工作负载的安全、性能和相互之间的连接状况。在这之前&#x…

爽翻!Github Copilot X发布,集成了GPT-4,远不止帮写代码

点击上方“编程技术进阶”,加"星标" 重磅干货,第一时间送达 大家好,我是编哥。今天看到Github Copilot X发布,真的不只帮写代码,不信往下看。 Copilot X 的本事,当你选中一段代码,可以…

AI 告诉你 一行代码生成树形结构

一、前言 在我们日常开发中生成树形结构是无可避免的,比如权限管理的层级结构,学校企业的组织结构以及我们日常开发的菜单列表等等。我最近看到过一篇文章,在面试的过程中,会被要求手写一下如何根据扁平的数据结构生成一个树形结构…

巴比特 | 元宇宙每日必读:AI概念股集体大跌、光年之外卖给美团、ChatGPT也涨不动了,大模型热潮正在降温?创业者如何抉择?...

摘要:据甲子光年报道,在高喊“要做中国版OpenAI”之后的第136天,王慧文把光年之外卖给了美团。从整体商业视角看,光年之外被美团收购只是企业间常见的收购动作。但对于国内AI行业来说,这笔收购似乎预示着仅火热半年的A…

ChatGPT来了,全国百万打工人都慌了......

关注我们丨文末赠书 如果说上个月AIGC的热度还只停留在技术圈,那么最近AIGC的影响力已经辐射到普通打工人了! 4月18日,国内办公软件巨头金山正式发布了生成式人工智能应用WPS AI,这也是国内协同办公赛道首个类ChatGPT式应用&#…

BSP按键适配

笔记目录 GPIO按键适配PS:每次修改适配都要再客制化一下,来更新修改。!!!一、GPIO按键适配(Rk)linux键值二、GPIO适配:RK平台(android11)调试:1、adb命令打开…

ubuntu和ros安装后的初始化

huanyu机器人学习,要把代码学会 分区规则:以350G左右为例 找到空闲: ext4→efi 逻辑分区 1G ext4→交换空间 逻辑分区 30/32G(按照内存选,16G用32) 挂载点→ / → 主分区 →100G 挂载点→/usr → 逻辑分区…

AI小作文搞崩科大讯飞股价 科技“魔法”反噬科企

5月24日午后,A股公司科大讯飞的股价突然走出深V造型,闪崩8%。科大讯飞回应称,股价下跌系某生成式AI写作虚假小作文导致,谣传风险为不实消息。 网传的一篇“小作文”谣称“科大讯飞被曝采集用户隐私数据研究人工智能引发争议”&am…