首页 > 其他分享 >【WCH蓝牙系列芯片】-CH9141模块AT指令增加自定义透传UUID服务

【WCH蓝牙系列芯片】-CH9141模块AT指令增加自定义透传UUID服务

时间:2024-07-09 11:23:22浏览次数:11  
标签:OK UUID 自定义 CH9141 指令 返回值

-------------------------------------------------------------------------------------------------------------------------------------

  在使用沁恒的蓝牙串口透传芯片CH9141,这是一个自带固件,拿来接上串口就可以直接用的蓝牙模块芯片。支持串口 AT 配置和在从机模式下的蓝牙通信配置。
  在新的版本中CH9141提供AT 指令增加一组自定义透传服务,但是得9141 芯片3.6 版本开始支持,9141F 芯片1.0 版本开始支持。支持16bitUUID 以及128bit UUID。16bit 的 UUID 需要按照 128bit 设置。在手册中可以看到具体AT配置指令。

 

  接下讲解一下如何通过AT指令对CH9141进行参数配置,从而增加一组自定义透传服务的流程。
第一步:硬件连接
  连接好硬件设备,将串口调试器的5V和GND连接对应CH9141的5V和GND引脚,TXD和RXD分别交叉连接到CH9141的RXD和TXD引脚。
第二步:查询自定义服务是否使能
  打开上位机串口调试,发送AT指令,进行模式参数配置。在发送每条指令时,都需要换行!这是指令结束的一个标志。
  可以通过十六进制查看发送的指令最后两位数据是否为0X0D和0X0A,则是命令中采用回车符和换行符作为分隔符和结束符使用。
  发送指令:AT... //进入AT模式
  返回值:OK
  发送指令:AT+SEVEREN? //查询当前自定义服务的使能状态
  返回值: ON //表示自定义服务已使能
      OK

   如果返回值是OFF,说明自定义服务没有使能使能,可以通过串口发:AT+SEVEREN=ON,返回值:OK

第三步:自定义主服务的UUID,写属性的UUID和通知属性的UUID的修改
  为了实验的讲解,这里将这个对于主服务,写属性和通知属性的UUID都是随便定义,没有具体的参考价值意义。只支持 128bit 设置,16bit 的 UUID 需要按照 128bit 设置。
    主服务UUID:1234ee00-0000-1000-8000-00805f9b34fb
    通知属性UUID:1234ee01-0000-1000-8000-00805f9b34fb
    写属性UUID:1234ee02-0000-1000-8000-00805f9b34fb

        发送指令:AT... //进入AT模式
        返回值:OK
        发送指令:AT+PRIMARYUUID=fb349b5f800000800010000000ee3412 //设置自定义主服务的 UUID
        返回值: OK //表示设置成功
        发送指令:AT+NOTIUUID=fb349b5f800000800010000001ee3412 //设置自定义通知属性的 UUID
        返回值: OK
        发送指令:AT+WRITEUUID=fb349b5f800000800010000002ee3412  //设置自定义写属性的 UUID
        返回值: OK
        发送指令:AT+RESET //复位芯片
        返回值: OK
            Welcome

  通过手机的BLE调试助手连接CH9141,也是能够成功进行收发数据。

  这里再讲解一下,针对UUID的修改进行说明,比如通知属性UUID:1234ee01-0000-1000-8000-00805f9b34fb,但是在AT指令发送通知属性的UUID时,有个大小端的区别,以两个字节为一个整体,要从后面往前面写。
  所以在通过AT指令进行配置通知属性的UUID时,利用AT+NOTIUUID填写的是fb349b5f800000800010000001ee3412。

 

标签:OK,UUID,自定义,CH9141,指令,返回值
From: https://www.cnblogs.com/ZYL-FS/p/18291376

相关文章

  • Simple WPF: WPF自定义一个可以定义步长的SpinBox
    最新内容优先发布于个人博客:小虎技术分享站,随后逐步搬运到博客园。通过WPF的按钮、文本输入框实现了一个简单的SpinBox数字输入用户组件并可以通过数据绑定数值和步长。本文中介绍了通过Xaml代码实现自定义组件的布局,依赖属性的定义和使用等知识点。完整代码见Github组合Xaml......
  • element-plus自定义弹框头背景色
    1.效果如下:弹框头部定制背景色;关闭按钮和标题对齐;鼠标悬浮关闭按钮颜色变浅。2.用到element-plus版本:  "element-plus":"2.7.6",3.具体思路:整个弹框的背景色改成蓝色,padding:0;header、body、footer背景色改成白色,字体黑色不变;padding给20px;关闭按钮高度......
  • 一起学Hugging Face Transformers(13)- 模型微调之自定义训练循环
    文章目录前言一、什么是训练循环1.训练循环的关键步骤2.示例3.训练循环的重要性二、使用HuggingFaceTransformers库实现自定义训练循环1.前期准备1)安装依赖2)导入必要的库2.加载数据和模型1)加载数据集2)加载预训练模型和分词器3)预处理数据4)创建数据加载器3......
  • 通信协议_C#实现自定义ModbusRTU主站
    背景知识:modbus协议介绍相关工具mbslave:充当从站。虚拟串口工具:虚拟出一对串口。VS2022。实现过程以及Demo打开虚拟串口工具:打开mbslave:此处从站连接COM1口。Demo实现创建DLL库,创建ModbusRTU类,进行实现:usingSystem;usingSystem.Collections.Generic;usi......
  • 前端JS特效第22集:html5音乐旋律自定义交互特效
    html5音乐旋律自定义交互特效,先来看看效果:部分核心的代码如下(全部代码在文章末尾):<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>ChimeTime™</title><linkrel="stylesheet"href="css/style.css......
  • Simple WPF: WPF 自定义按钮外形
    最新内容优先发布于个人博客:小虎技术分享站,随后逐步搬运到博客园。WPF的按钮提供了Template模板,可以通过修改Template模板中的内容对按钮的样式进行自定义,完整代码Github自取。使用Style定义扁平化的按钮样式定义一个ButtonStyleDictonary.xaml资源字典文件,在ControlTemplate......
  • SpringSecurity简单自定义配置
    初学者对于学习SpringSecurity相关的一些简单自定义配置总结。由于自身能力并不能和大佬相比较,以下的一些内容有误或有可改进地方,希望指出,我抱有一颗谦虚好学的心保持热情,并感谢指正。实现案例:1.基于内存的用户认证2.基于数据库的用户认证3.添加用户(数据库)4.自定义密......
  • 前端取唯一标识 UUID
    //使用工具fingerprintjs可以简单取到UUID1<!DOCTYPEhtml>2<htmllang="en">34<head>5<metacharset="UTF-8">6<metahttp-equiv="X-UA-Compatible"content="IE=edge">7<m......
  • srpingboot 自定义 start
    自动配置工程绑定配置文件,上逼格的start都支持自定义配置,我们也装像点~~@ConfigurationProperties("cyrus.hello")publicclassCyrusHelloProperties{//绑定配置文件cyrus.hello.username属性privateStringusername;publicStringgetUsernam......
  • Android面试题自定义View之Window、ViewRootImpl和View的三大流程
    本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点View的三大流程指的是measure(测量)、layout(布局)、draw(绘制)。下面我们来分别看看这三大流程View的measure(测量)MeasureSpecMeasureSpec是View的一个内部静......