- 开放平台 移动应用申请类目, 没有相符合的类目怎么办?
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Pay/Vendor_Service_Center.html 开放平台原始ID : gh_de84a1c59649 我们有一个漫画App 和 一个商城App 需要接入微信支付, 但是选择类目的时候没有相关的类目
2020-06-23 - 蓝牙分包写入
前段时间收到一个蓝牙设备,需求是控制板子上面的电机,这对于从未接触过硬件的小白来说无疑是一个挑战,然而我是一个喜欢挑战的蓝人,于是开始了我的研究。 我开始各种搜罗Demo,查看文档及各大论坛。 终于,黄天不负苦心人,我成功的连接上了设备,并且获取到了他的服务及特征值,当然,每台外设可用的服务及特征值都是不一样的,而且有些是不可用的,什么 read、write、notify、indicate 要根据自己的操作需求去看哪个特征值支持。每个服务下面都有不同的特征值,每个特征值下面又分出来几个不同的特征值列表,接下来就是根据自己需求筛选了。 支持列表: read:读取低功耗蓝牙设备的特征值的二进制数据值 write:向低功耗蓝牙设备特征值中写入二进制数据 notify || indicate:启用低功耗蓝牙设备特征值变化时的 notify 功能,订阅特征值 这些都选好后该开始向蓝牙设备写入指令,让他动起来了(想想就有些小激动) 不过根据官方提供的方式转换指令并写入的时候,意外发生了! 我在回调里面打印成功与否的时候,显示成功,但是设备却没人任何反应,于是我又开始找原因(设备通过某个App试过,写入指令后是正常的),又开始了我的搜寻之旅。 之后发现原因是因为我使用的指令转换后超过了20字节,在Api文档中 https://developers.weixin.qq.com/miniprogram/dev/api/wx.writeBLECharacteristicValue.html 标注了建议每次写入不超过20字节,但是也不是强制性的呀,导致我很懵逼,明明返回的是成功。 [图片] 事到如今,只能接着寻找解决方法了,总不能跟他这么耗着呀。接着我的搜寻之旅吧!(废话那么多,重点该来了) 终于,找到种分包的方式,把超过20字节的指令分批发送(当然,没有超过20字节的话,也不影响使用),这边需要注意一下,不能直接连发,需要有一个延迟,然后~完美写入指令,我的小电机动起来了。 整体的流程如下: 打开蓝牙模块 => 搜索蓝牙 => 获取所有已发现的设备 => 连接蓝牙设备 => 获取蓝牙设备的所有服务 => 获取蓝牙设备服务下的所有特征值 => 向蓝牙设备写入指令 => 完成 =>关闭蓝牙模块 行了,不哔哔了。我结合官方提供的Demo修改了一下,添加了一个分包写入,已经打包成代码片段,可以直接使用。 代码片段中服务和特征值这两个地方我写成了固定的,根据自己的需求可以修改下。 [图片] [图片] 核心代码: 延时定时器 格式转换 判断并分包写入 [图片] [图片] 代码片段: https://developers.weixin.qq.com/s/oFJc70mI7o8K 如有不对的地方或者更好的解决方案,还望大佬们及时提出,希望对你们有所帮助。
2019-05-05