Jestson Orin Agx调试欧智通6162C-IC低功耗(BLE)蓝牙模块

一、准备工作

参考上一篇博客BLE低功耗蓝牙

二、使用蓝牙测试工具

gatttool BlueZ 提供的一个工具,用于与 BLE 设备进行交互。

2.1:扫描设备并获取 MAC 地址

首先,你需要扫描你的 BLE 设备并获取其 MAC 地址。使用以下命令扫描设备:

sudo hcitool lescan

找到你的设备并记下它的 MAC 地址。

2.3:发现特征

在连接到设备后,发现设备的特征。输入以下命令:

[<MAC_ADDRESS>][LE]> connect
[<MAC_ADDRESS>][LE]> characteristics

对于欧智通的蓝牙模块而言,它的特征值如下:

handle: 0x0002, char properties: 0x20, char value handle: 0x0003, uuid: 00002a05-0000-1000-8000-00805f9b34fb
handle: 0x0006, char properties: 0x02, char value handle: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0008, char properties: 0x02, char value handle: 0x0009, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x000a, char properties: 0x02, char value handle: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb
handle: 0x000c, char properties: 0x02, char value handle: 0x000d, uuid: 00002aa6-0000-1000-8000-00805f9b34fb
handle: 0x000f, char properties: 0x10, char value handle: 0x0010, uuid: 0000ff01-0000-1000-8000-00805f9b34fb
handle: 0x0012, char properties: 0x0c, char value handle: 0x0013, uuid: 0000ff02-0000-1000-8000-00805f9b34fb
handle: 0x0014, char properties: 0x1c, char value handle: 0x0015, uuid: 0000ff03-0000-1000-8000-00805f9b34fb
handle: 0x0017, char properties: 0x1e, char value handle: 0x0018, uuid: 0000ff04-0000-1000-8000-00805f9b34fb
handle: 0x001b, char properties: 0x04, char value handle: 0x001c, uuid: 0000ffd1-0000-1000-8000-00805f9b34fb
handle: 0x001d, char properties: 0x02, char value handle: 0x001e, uuid: 0000ffd2-0000-1000-8000-00805f9b34fb
handle: 0x001f, char properties: 0x02, char value handle: 0x0020, uuid: 0000ffd3-0000-1000-8000-00805f9b34fb
handle: 0x0021, char properties: 0x02, char value handle: 0x0022, uuid: 0000ffd4-0000-1000-8000-00805f9b34fb
handle: 0x0023, char properties: 0x02, char value handle: 0x0024, uuid: 0000ffd5-0000-1000-8000-00805f9b34fb
handle: 0x0025, char properties: 0x04, char value handle: 0x0026, uuid: 0000ffd8-0000-1000-8000-00805f9b34fb
handle: 0x0027, char properties: 0x02, char value handle: 0x0028, uuid: 0000fff1-0000-1000-8000-00805f9b34fb
handle: 0x0029, char properties: 0x08, char value handle: 0x002a, uuid: 0000fff2-0000-1000-8000-00805f9b34fb
handle: 0x002b, char properties: 0x02, char value handle: 0x002c, uuid: 0000ffe0-0000-1000-8000-00805f9b34fb

其中handle: 0x0010, uuid: 0000ff01-0000-1000-8000-00805f9b34fb是用来读取数据的;
handle: 0x0013, uuid: 0000ff02-0000-1000-8000-00805f9b34fb是用来发送数据的。

2.4:打开 Notify

需要找到对应的 Client Characteristic Configuration Descriptor (CCCD) 的句柄。通常,CCCD 紧跟在特征值的句柄之后,也就是0x11,对于欧智通的BLE蓝牙而言,Notify特征值句柄是 0x0010。

尝试写入 0x01 到紧跟在 0x0010 句柄之后的句柄, 0x0011

[<MAC_ADDRESS>][LE]> char-write-req 0x0011 0100
Characteristic value was written successfully

这将启用通知,开始接收来自设备的通知数据。
我们可以通过串口工具发送数据到jestson:
在这里插入图片描述

有两个需要注意的地方:

  • 1.查找准确的 CCCD 句柄:
    如果 0x0011 不是 CCCD 句柄,你需要查找与特征值句柄(0x0010)相对应的正确 CCCD 句柄。在一些设备上,CCCD 句柄可能会有一个确定的偏移量,如 0x0012 或其他。

  • 2.特征属性检查:
    确保特征属性包含通知(0x10),以确保该特征支持通知。

发送数据到下位机的话,直接通过0x13,使用指令char-write-req 0x13 数据即可。

二、使用C++实现数据的发送和接收

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据融合工具(1)指定路径下同名图层合并

情景再现&#xff0c;呼叫小编 ————数据合并时&#xff0c;你是否也经常碰到这些情况&#xff1f; 数据存在几何错误&#xff0c;合并失败&#xff01; 数据字段类型不一致&#xff0c;合并失败&#xff01; 合并工具运行有警告信息&#xff0c;不知道是否合并成功&…

价值499的从Emlog主题模板PandaPRO移植到wordpress的主题

Panda PRO 主题&#xff0c;一款精致wordpress博客主题&#xff0c;令人惊叹的昼夜双版设计&#xff0c;精心打磨的一处处细节&#xff0c;一切从心出发&#xff0c;从零开始&#xff0c;只为让您的站点拥有速度与优雅兼具的极致体验。 从Emlog主题模板PandaPRO移植到wordpres…

GUKE万能工具箱(附带源码)

GUKE万能工具箱&#xff08;附带源码&#xff09; 效果图部分源码领取完整源码下期更新 效果图 部分源码 <!DOCTYPE html> <html><head><meta charset"utf-8" name"viewport" content"widthdevice-width, initial-scale1"…

化学合成水热釜 加热反应釜 实验室高温高压设备

水热釜&#xff0c;也称为高压消解罐或高压釜&#xff0c;是一种能够在高温高压条件下进行化学反应的实验室设备。它广泛应用于化学、地质、材料科学、环境科学等领域&#xff0c;特别是在需要在高压环境下加速化学反应或溶解难溶物质的实验中。以下是水热釜的一些关键特性和用…

.Net Core + DDD基础分层

基础设施层 基础设施层使用的相关知识&#xff1a;Code First &#xff0c;EF Core&#xff0c;Autofac依赖注入&#xff0c;仓储模式的实现接口&#xff0c;领域服务的实现接口&#xff0c;缓存&#xff0c;以及各种基础工具类 一&#xff0c;Code First&#xff1a;使用Cod…

SaaS行业的AI化征程:穿越“大模型焦虑”,拥抱“AI自信”

随着大模型技术的风起云涌&#xff0c;SaaS行业正站在一个充满机遇与挑战的十字路口。本文旨在深入剖析SaaS厂商在AI化升级过程中所遭遇的“大模型焦虑”&#xff0c;并探索通过战略性的AI应用策略&#xff0c;如何重拾信心&#xff0c;实现产品与服务的华丽转身&#xff0c;为…

【C++】 解决 C++ 语言报错:Invalid Cast

文章目录 引言 无效类型转换&#xff08;Invalid Cast&#xff09;是 C 编程中常见且严重的错误之一。当程序试图进行不合法或不安全的类型转换时&#xff0c;就会发生无效类型转换错误。这种错误不仅会导致程序崩溃&#xff0c;还可能引发不可预测的行为。本文将深入探讨无效…

如何在 Odoo 16 中向新视图添加字段

例如,让我们看看如何在新视图或新操作窗口中创建“many2one”字段。 请考虑下面的屏幕截图,它表示不包含任何字段的新视图类型或客户端操作窗口。 我们现在可以将与“res.partner”关联的“多对一”字段引入到我们的新视图或客户端操作窗口中。 为了实现这一点,在 XML 模板…

万字长文|关于 OpenAI 接口开发你应该知道的一切

这篇文章中个人结合自己的实践经验把 OpenAI 官方文档解读一遍。但是原文档涉及内容众多&#xff0c;包括微调&#xff0c;嵌入&#xff08;Embeddings&#xff09;等众多主题&#xff0c;我这里重点挑选自己开发高频使用到的&#xff0c;需要详细了解的可以自行前往官网阅读。…

24西安电子科技大学数学与统计学院—考研录取情况

24西安电子科技大学—数学与统计学院—考研录取统计 01、数学与统计学院各个方向 02、24数学与统计学院近三年复试分数线对比 数统院24年院线相对于23年院线增加高达30分&#xff0c;确实增长浮动比较高&#xff0c;接近30分的水平&#xff0c;因此大家更需要好好去努力&#x…

Android zygote访谈录

戳蓝字“牛晓伟”关注我哦&#xff01; 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章&#xff0c;技术文章也可以有温度。 本文摘要 本文以访谈的方式来带大家了解zygote进程&#xff0c;了解zygote进程是啥&#xff1f;它的作用是啥&#xff1f;它是如何一步…

idea启用多个环境

背景 在平常的后端开发中&#xff0c;需要与前端联调&#xff0c;比较方便的是让前端直接连自己的本地环境&#xff08;毕竟每次都要打包部署到测试环境实在是太麻烦了&#xff09;。但是这样子也有点不好&#xff0c;就是自己功能还没写好呢&#xff0c;结果前端连着自己的环…

如何利用Kimi解读Kimi的KVCache技术细节

最近Kimi公布了一篇Mooncake: Kimis KVCache-centric Architecture for LLM Serving的文章&#xff0c;详细介绍了Kimi背后的推理架构&#xff0c;因此笔者想到用Kimi解读Kimi&#xff0c;梳理相关技术要点如下&#xff0c;供大家参考&#xff1a; 文章 "Mooncake: A KVCa…

2024年中国安防CIS市场现状及主要竞争企业分析

2024年中国安防CIS市场现状及主要竞争企业分析 CIS又名CMOS图像传感器&#xff0c;属于一种光学传感器&#xff0c;将光信号转换为电信号并通过读出电路转为数字化信号&#xff0c;是摄像头模组的核心元器件&#xff0c;可以用于手机、汽车、电脑、安防、消费等领域。不同应用领…

风电升压站3d动画演示定制确保每一名职工都能够安全、健康地工作

海上风电工程建设包括大量的吊装作业、架空作业、埋设作业以及电气作业&#xff0c;涉及面广&#xff0c;风险较高&#xff0c;因此在技能培训上需要格外重视&#xff0c;基于VR安全培训的广泛应用&#xff0c;企业逐渐开始引进VR虚拟仿真技术&#xff0c;利用视觉、听觉和亲身…

内存管理(RTOS)

目录 #RTOS内存管理介绍 #堆定义 #栈定义 #RTOS四种堆分配方案 #Heap_1.c #Heap_2.c #Heap_3.c #Heap_4.c #Heap_5.c #stm32cublemx对堆的配置 #配置堆相关函数 #申请内存函数 #钩子函数 前言&#xff1a;本课程参考韦东山老师视频&#xff0c;连接放在最后。 #R…

基于springboot的工作绩效管理系统的设计与实现+文档

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

字节码编程javassist之定义各种属性

写在前面 源码 。 本文看下如何使用javassist来定义属性。 1&#xff1a;程序 package com.dahuyou.javassist.generateFieldAndMethod;import javassist.*;import java.lang.reflect.Method;public class JustDoIt111 {public static void main(String[] args) throws Exce…

【Python】已解决:NameError: name ‘reload’ is not defined

文章目录 二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;NameError: name ‘reload’ is not defined 一、分析问题背景 在使用Python进行开发时&#xff0c;有时我们可能需要重新加载某个已经导入的模块&#xff0c;以便应用模块中的最…