从实例出发,讲解BLE专业调试工具nRF Connect

        nRF Connect是NORDIC Semiconductor提供的一套强大的低功耗蓝牙(BLE)开发工具和应用程序,本文从两个示例着手分析:iBeaconEddystone协议的信标Beacon

        前置知识:什么是信标Beacon?

        信标(Beacon) 是一种基于低功耗蓝牙(Bluetooth Low Energy, BLE)技术的小型无线发射设备,用于广播信号,向附近的智能设备(如智能手机、平板电脑)传输信息。信标技术广泛应用于室内定位、导航、营销、智能家居等领域。

        说人话版本:信标,可简单类比为室外定位时的GPS模块

        信标的常见应用场景

  1. 室内定位与导航:在商场、机场、博物馆等场所,信标可以帮助用户定位当前位置,并提供导航服务。

  2. 精准营销:商家可以通过信标向附近的用户推送促销信息或优惠券。例如,当用户接近某个商品时,手机收到相关广告。

  3. 智能家居:信标可以用于触发智能家居设备的动作。例如,当用户进入房间时,自动开灯。

  4. 资产跟踪:在仓库或工厂中,信标可以用于跟踪设备或货物的位置。

  5. 互动体验:在展览或活动中,信标可以为用户提供互动内容。例如,当用户接近某个展品时,手机显示相关信息。

【iBeacon】

                iBeacon是苹果公司的Beacon标准

【示例分析】

1. 设备类型

  • LE only: 表示该设备仅支持低功耗蓝牙(Bluetooth Low Energy),不支持经典蓝牙(Bluetooth Classic)。

2. 广播类型

  • Legacy: 表示设备使用的是传统的BLE广播方式,而不是BLE 5.0引入的扩展广播。

3. 广播标志

  • GeneralDiscoverable: 表示设备处于可被发现的状态,其他设备可以扫描到它。

  • BrEdrNotSupported: 表示设备不支持经典蓝牙(BR/EDR)。

4. Beacon信息

  • CompanySamsung Electronics Co. Ltd. (0x0075) 表示该Beacon由三星电子公司制造。

  • TypeBeacon (0x02) 表示这是一个Beacon设备。

  • UUIDf2a52d43-e0ab-489c-b64c-4a83001467fd 是Beacon的唯一标识符。

  • Major545 和 Minor35 是Beacon的次要标识符,通常用于区分同一类型的设备。

  • RSSI at 1m-60 dBm 表示在1米距离处的信号强度。

5. 设备名称

  • Complete Local NameLanXXXXX 是设备的完整名称

        需要注意的是,该实例并非是标准的iBeacon,但是除了Company以外,其他信息均与iBeacon高度一致。

其他的可选项

1. Device type (设备类型)

  • LE Only: 设备仅支持低功耗蓝牙(BLE)。
  • BR/EDR Only: 设备仅支持经典蓝牙(Bluetooth Classic)。
  • Dual Mode (BR/EDR/LE): 设备同时支持经典蓝牙和低功耗蓝牙。
  • Unknown: 设备类型未知。

2. Advertising type (广播类型)

  • Legacy: 使用BLE 4.x的传统广播方式。
  • Extended: 使用BLE 5.0引入的扩展广播,支持更大的广播数据量。
  • Scannable: 可被扫描的广播。
  • Non-connectable: 不可连接的广播(仅广播数据)。
  • Directed: 定向广播,针对特定设备。

3. Flags (广播标志)

  • GeneralDiscoverable: 设备处于通用可发现模式。
  • LimitedDiscoverable: 设备处于有限可发现模式(通常只在特定时间内可被发现)。
  • BrEdrNotSupported: 设备不支持经典蓝牙(BR/EDR)。
  • BrEdrSupported: 设备支持经典蓝牙(BR/EDR)。
  • LE General Discoverable: 低功耗蓝牙通用可发现模式。
  • LE Limited Discoverable: 低功耗蓝牙有限可发现模式。

4. Beacon Type (Beacon类型)

  • iBeacon: 苹果公司的Beacon标准。
  • Eddystone: 谷歌公司的Beacon标准。
  • AltBeacon: 开源Beacon标准。
  • Custom Beacon: 自定义Beacon格式。

5. Company Identifier (公司标识符)

  • 这是一个16位的标识符,由蓝牙技术联盟(SIG)分配。例如:
    • 0x0075: 三星电子(Samsung Electronics Co. Ltd.)
    • 0x004C: 苹果公司(Apple Inc.)
    • 0x0006: 微软公司(Microsoft Corporation)
    • 0x000D: 德州仪器(Texas Instruments Inc.)

6. RSSI at 1m (1米处的信号强度)

  • 这是一个表示信号强度的值,单位是dBm。常见范围:
    • -30 dBm 到 -60 dBm: 信号很强,通常距离较近。
    • -60 dBm 到 -80 dBm: 信号中等,距离适中。
    • -80 dBm 到 -100 dBm: 信号较弱,距离较远。
    • -100 dBm 以下: 信号非常弱,可能无法稳定连接。

7. Complete Local Name (完整设备名称)

  • 这是一个UTF-8字符串,表示设备的完整名称。例如:
    • LansitecLoRaBleGw_0023
    • MyBLEDevice
    • SensorTag
  • 如果名称过长,设备可能会使用 Shortened Local Name(缩短的设备名称)。

8. UUID (通用唯一标识符)

  • 这是一个128位的标识符,通常用于唯一标识Beacon或服务。例如:
    • f2a52d43-e0ab-489c-b64c-4a83001467fd
    • E2C56DB5-DFFB-48D2-B060-D0F5A71096E0(iBeacon示例)
  • 在Beacon中,UUID通常用于标识特定的Beacon类型或品牌。

9. Major 和 Minor

  • Major: 主要用于区分同一UUID下的不同Beacon组。例如,一个商场中的不同区域。
  • Minor: 主要用于区分同一Major下的不同Beacon设备。例如,一个区域内的不同店铺。
  • 这两个值通常为16位整数,范围是 0 到 65535

10. Bonding Status (绑定状态)

  • Not Bonded: 设备未与任何设备配对。
  • Bonded: 设备已与某个设备配对。

【Eddystone】

        Eddystone是谷歌公司的Beacon标准

        Eddystone 的特征:

  • Company Identifier: Eddystone 的 Company Identifier 通常是 0x00AA(谷歌的标识符),但某些实现可能使用其他标识符。
  • 广播数据格式: Eddystone 支持多种帧格式,包括:
    • UID: 用于广播唯一的 Beacon 标识符。
    • URL: 用于广播一个可访问的 URL。
    • TLM: 用于广播 Beacon 的遥测数据(如电池电压、温度等)。
  • URL 字段: Eddystone URL 帧会直接广播一个 URL,例如 https://espressif.com

        参考:nRF Connect:BLE开发调试神器-CSDN博客

                 https://blog.csdn.net/jly_20220520/category_12393702.html

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

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

相关文章

[STM32]从零开始的STM32 BSRR、BRR、ODR寄存器讲解

一、前言 学习STM32一阵子以后,相信大家对STM32 GPIO的控制也有一定的了解了。之前在STM32 LED的教程中也教了大家如何使用寄存器以及库函数控制STM32的引脚从而点亮一个LED,之前的寄存器只是作为一个引入,并没有深层次的讲解,在教…

使用Truffle、Ganache、MetaMask、Vue+Web3完成的一个简单区块链项目

文章目录 概要初始化Truffle项目创建编写合约编译合约配置Ganache修改truffle-config.js文件编写迁移文件部署合约使用Truffle 控制台使用MetaMask和VueWeb3与链交互 概要 使用Truffle、Ganache、MetaMask、VueWeb3完成的一个简单区块链项目。 初始化Truffle项目 安装好truf…

在线会议时, 笔记本电脑的麦克风收音效果差是为什么

背景 最近在线面试. 使用腾讯会议或者飞书, 戴耳机参加在线面试, 遇到好几个面试官说我的音质不好. 一直没在意, 后来反思, 应该是电脑哪里出了问题. 排查 先买了一副品牌有线耳机, 测试后本地录制的声音仍然品质很差去掉耳机延长线后, 麦克风品质仍然很差最终找到答案, 原…

通过百度构建一个智能体

通过百度构建一个智能体 直接可用,我不吝啬算力 首先部署一个模型,我们选用deepseek14 构建智能体思考步骤,甚至多智能体; from openai import OpenAIclass Agent:def __init__(self, api_key, base_url, model

解决“request returned Internal Server Error for API route and version xxx”错误

一、问题描述 ragflow/README_zh.md at main infiniflow/ragflowhttps://github.com/infiniflow/ragflow/blob/main/README_zh.md 当我们使用Docker部署ragflow,确认服务器状态时,提示“request returned Internal Server Error for API route and version http://%2F%2F.%…

OpenFlexure记录

https://openflexure.org/projects/microscope/build

游戏引擎学习第131天

仓库:https://gitee.com/mrxiao_com/2d_game_3 运行游戏并识别我们的小问题 今天的工作重点是对游戏引擎进行架构优化,特别是针对渲染和多线程的部分。目前,我们的目标是让地面块在独立线程上进行渲染,以提高性能。在此过程中,我…

Hbase伪分布安装教程,详细版

注意Hbase版本与Hadoop版本的兼容,还有与JDK版本的兼容 本次用到的Hbase为2.4.6版本,Hadoop为3.1.3版本,JDK为JDK8 打开下面的网址查看兼容问题 Apache HBase Reference Guidehttps://hbase.apache.org/book.html#configuration 点击基础先…

使用Hydra进行AI项目的动态配置管理

引言:机器学习中的超参数调优挑战 在机器学习领域,超参数调优是决定模型性能的关键环节。不同的模型架构,如神经网络中的层数、节点数,决策树中的最大深度、最小样本分割数等;以及各种训练相关的超参数,像学习率、优化器类型、批量大小等,其取值的选择对最终模型的效果…

基于Kerberos认证对接华为云Elasticsearch

可以通过华为官方提供的Elasticsearch Java客户端(基于Elasticsearch官方版本改造),实现基于Kerberos认证访问和操作华为云Elasticsearch;亦可以使用更加通用的开源Elasticsearch Java客户端bboss,实现基于Kerberos认证…

Rocky Linux 8.5 6G内存 静默模式(没图形界面)安装Oracle 19C

Oracle19c 下载地址 Database Software Downloads | Oraclehttps://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_ee 目录 一、准备服务器 1、服务器可以克隆、自己装 2、修改主机名 3、重启 4、关闭selinux 5、关闭防火墙 5.1、…

6.6.6 嵌入式SQL

文章目录 2个核心问题识别SQL语句主语言和SQL通信完整导图 2个核心问题 SQL语句嵌入高级语言需要解决的2个核心问题是:如何识别嵌入语句?如何让主语言(比如C,C语言)和SQL通信? 识别SQL语句 为了识别主语言中嵌入的SQL…

农作物叶子病害检测数据集VOC+YOLO格式5169张29类别

数据集有部分增强 数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):5169 标注数量(xml文件个数):5169 标注数量(txt文件个数)…

hfs for windows linux apple

HFS(HTTP File Server)是一款轻量级的文件共享工具,专门用于通过 HTTP 协议快速共享文件。它非常适合在局域网或互联网上临时共享文件,操作简单,无需复杂的配置。 HFS 的主要特点 简单易用: 界面直观&#…

塑造网络安全的关键事件

注:本文为 “网络安全” 相关文章合辑。 机翻,未校。 Timeline of Cyber Security: Key Events that Shaped the Field 网络安全时间表:塑造该领域的关键事件 October 29, 2023 Cyberattacks are an everyday threat, always changing. T…

本地部署deepseek大模型后使用c# winform调用(可离线)

介于最近deepseek的大火,我就在想能不能用winform也玩一玩本地部署,于是经过查阅资料,然后了解到ollama部署deepseek,最后用ollama sharp NUGet包来实现winform调用ollama 部署的deepseek。 本项目使用Vs2022和.net 8.0开发,ollam…

Python 绘制迷宫游戏,自带最优解路线

1、需要安装pygame 2、上下左右移动,空格实现物体所在位置到终点的路线,会有虚线绘制。 import pygame import random import math# 迷宫单元格类 class Cell:def __init__(self, x, y):self.x xself.y yself.walls {top: True, right: True, botto…

2025-03-01 学习记录--C/C++-PTA 7-35 有理数均值

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ #include <stdio.h>// 【关键】计算最大公约数&#xff…

入门基础项目(SpringBoot+Vue)

文章目录 1. css布局相关2. JS3. Vue 脚手架搭建4. ElementUI4.1 引入ElementUI4.2 首页4.2.1 整体框架4.2.2 Aside-logo4.2.3 Aside-菜单4.2.4 Header-左侧4.2.5 Header-右侧4.2.6 iconfont 自定义图标4.2.7 完整代码 4.3 封装前后端交互工具 axios4.3.1 安装 axios4.3.2 /src…

CAM350_安装

版本&#xff1a;V14.5 一、安装 打开.exe文件 选择不重启&#xff0c;然后再打开这个.exe 再来一次类似的操作 二、配置 复制patch文件夹中的这三个 &#xff0c;粘贴到掉安装目录中 设置ACT_INC_LICENSE_FILE用户环境变量来设置license管理 打开电脑的环境变量 破解完毕&am…