Bluetooth
本页介绍 MikroTik RouterOS 的蓝牙 IoT 功能,涵盖蓝牙信道结构、广播数据包格式以及通过
/iot/bluetooth子菜单进行配置,并说明 PDU 类型、天线等内容。
蓝牙
本节介绍基于蓝牙的 IoT 示例。您可以用它配置蓝牙标签跟踪,并将收集的数据与 MQTT 和 ThingsBoard 集成。
蓝牙是一种短距离无线技术,允许在特定蓝牙信道上广播数据。
共有 40 个唯一频段(信道),每个频段间隔 2 MHz。信道 37、38 和 39 用于主广播,0-36 用于数据传输。
在广播过程中,BLE 广播数据包会被广播。该数据包包含前导码(Preamble)、接入地址(Access Address)、PDU 和 CRC 字段。
前导码和接入地址字段帮助接收方检测帧。CRC 字段用于检查错误。PDU 由 PDU 头和 PDU 载荷组成。PDU 定义数据包本身。
PDU 头包含有关 PDU 类型的信息。根据类型不同,载荷字段可能不同。
例如,当 PDU 类型为 ADV_NOCONN_IND → PDU 载荷由 "AdvA"(包含广播者地址信息的字段)和 "AdvData"(包含数据信息的字段)组成:
1 个八位组 = 1 字节 = 8 位
| 名称 | 长度 |
|---|---|
| Preamble | 1 个八位组 |
| Access-Address | 4 个八位组 |
| PDU | PDU 头 = 2 个八位组;PDU 载荷 = AdvA(6 个八位组)+ AdvData(0...31 个八位组) |
| CRC | 3 个八位组 |
PDU 类型有多种:
- ADV_IND(其载荷由 AdvA [6 个八位组] + AdvData [0-31 个八位组] 组成,用于可连接、可扫描的非定向广播)。
- ADV_NOCONN_IND(其载荷由 AdvA [6 个八位组] + AdvData [0-31 个八位组] 组成,用于不可连接、不可扫描的非定向广播)。
- ADV_SCAN_IND(其载荷由 AdvA [6 个八位组] + AdvData [0-31 个八位组] 组成,用于可扫描的非定向广播)。
- SCAN_REQ(其载荷由 ScanA [6 个八位组] + AdvA [6 个八位组] 组成,其中 ScanA 字段包含扫描器地址,AdvA 包含广播者地址,用于请求 SCAN_RSP 响应)。
- SCAN_RSP(其载荷由 AdvA [6 个八位组] + ScanRspData [0-31 个八位组] 组成,其中 ScanRspData 可以包含广播者主机的任意数据,用于响应 SCAN_REQ 请求)。
- ADV_DIRECT_IND(其载荷由 AdvA [6 个八位组] + TargetA [6 个八位组] 组成,其中 TargetA 是该 PDU 所指向的设备地址字段,用于可连接的定向广播)。
- 等等。
您可以在此处(蓝牙规范)找到有关数据包结构的更多信息。
RouterOS 中蓝牙接口的主要应用是监视其他设备广播的蓝牙广播数据包(扫描器功能,例如蓝牙标签),或广播广播数据包(广播者功能)。
配置
子菜单: /iot/bluetooth
信息
对于带内置蓝牙芯片的设备(例如 KNOT 或 KNOT Embedded LTE),需要 iot 软件包。
如果您的设备是 ARM、ARM64 架构且带有 USB 插槽,iot-bt-extra 软件包可以通过 USB 蓝牙适配器启用蓝牙功能。并非所有蓝牙适配器都已测试。适配器必须支持 LE 4.0+。目前还没有“外设”列表。
Iot 软件包随 RouterOS 6.48.3 版本提供。Iot-bt-extra 软件包随 RouterOS 7.18 提供。您可以从下载页面的 "Extra packages" 部分获取它们。
设备
在此菜单中,您可以查看和设置蓝牙芯片的一般参数:
/iot/bluetooth/print
Columns: NAME, PUBLIC-ADDRESS, RANDOM-STATIC-ADDRESS, ANTENNA
# NAM PUBLIC-ADDRESS RANDOM-STATIC-ADD ANTENNA
0 bt1 00:00:00:00:00:00 F4:4E:E8:04:77:3A internal
/iot/bluetooth/set
注意: 公共地址是 IEEE 注册的永久地址。此地址无法更改。在上面的 "print" 示例中,设备未分配公共地址(所有八位组均设置为 0)。
可配置设置如下:
| 属性 | 说明 |
|---|---|
| antenna(string;默认:internal) | 选择使用内置还是外置蓝牙天线 |
| name(string;默认:) | 蓝牙芯片/接口的描述性名称 |
| random-static-address(MAC address;默认:) | 用户可为蓝牙芯片配置的地址 |
您可以使用以下命令监控芯片统计信息:
/iot/bluetooth/print stats
Columns: NAME, RX-BYTES, TX-BYTES, RX-ERRORS, TX-ERRORS, RX-EVT, TX-CMD, RX-ACL, TX-ACL
# NAM RX-BYTE TX- R T RX-EV TX R T
0 bt1 1857835 235 0 0 46677 45 0 0
广播者
在此菜单中,可以将蓝牙芯片设置为广播广播数据包。您可以使用以下命令查看和设置广播者设置:
/iot/bluetooth/advertisers/print
Flags: X - DISABLED
Columns: DEVICE, MIN-INTERVAL, MAX-INTERVAL, OWN-ADDRESS-TYPE, CHANNEL-MAP, AD-SIZE
# DEVICE MIN-INTERVAL MAX-INTERVAL OWN-ADDRESS-TYPE CHANNEL-MAP AD-SIZE
0 X bt1 1280ms 2560ms random-static 37 0
38
39
/iot/bluetooth/advertisers/set
可配置设置如下:
| 属性 | 说明 |
|---|---|
| ad-structures(string;默认:) | 为广播数据包选择预配置结构。更多信息请参阅 "AD 结构" 部分。 |
| channel-map(37 | 38 | 39;默认:37、38、39) | 用于广播的信道。 |
| disabled(yes | no;默认:yes) | 禁用或启用蓝牙芯片广播数据包的选项。 |
| max-interval(*integer:*20..10240;**默认:2560 ms) | 广播数据包的最大间隔。 |
| min-interval(*integer:*20..10240;**默认:**1280 ms) | 广播数据包的最小间隔。 |
| own-address-type(public | random-static | rpa-fallback-to-public | rpa-fallback-to-random;默认:random-static) | 广播数据包载荷中使用的 MAC 地址:public → 使用 IEEE 注册的永久地址。random-static → 使用用户可配置的地址(下次断电重启时将更改)。rpa-fallback-to-public → 使用可解析随机私有地址(RPA),仅当接收方拥有我们的身份解析密钥(IRK)时才能解析。如果无法生成 RPA,则改用公共地址。rpa-fallback-to-random → 与 "rpa-fallback-to-public" 相同,但如果无法生成 RPA,则改用 random-static 地址。 |
| phy(1M | 2M | CODED;默认:1M) | 设置设备广播时使用的“物理层”:CODED → 最低速率 125 kbps = 更远距离;1M → 标准速率 1 Mbps = 中等距离;2M → 最高速率 2 Mbps = 短距离;重要: CODED 仅受 KNOT Embedded LTE 支持。 |
| legacy(yes | no) | 设置广播类型 → 扩展或传统。使用 legacy=no 时,AD 结构长度可扩展到 191 字节。使用 legacy=yes 时,AD 结构长度限制为 31 字节。传统广播仅使用“主”蓝牙信道广播载荷。扩展广播同时使用“主”和“次”信道。 |
注意: 广播数据包将在 min-interval <= X <= max-interval 毫秒之间广播。
AD 结构
此部分允许定义蓝牙芯片将要广播的广播数据包载荷。
目前仅支持 4 种类型:0x08 "Shortened Local Name";0x09 "Complete Local Name";0xFF "Manufacturer Specific Data";"Service Data"
您可以使用以下命令查看和设置 "AD 结构" 设置:
/iot/bluetooth/advertisers/ad-structures/print
Columns: NAME, TYPE, DATA
# NAME TYPE DATA
0 test short-local-name TEST
/iot/bluetooth/advertisers/ad-structures/set
可配置属性如下:
| 属性 | 说明 |
|---|---|
| data(string;默认:) | 定义广播数据包载荷的 AdvData 部分 |
| name(string;默认:) | AD 结构的描述性名称 |
| type(complete-local-name | manufacturer-data | short-local-name | service-data;默认:) | 设置 AD 结构类型的选项:0x08 "Shortened Local Name"("text" 格式)0x09 "Complete Local Name"("text" 格式)0xFF "Manufacturer Specific Data"("hex" 格式)0x20 "Service Data 32-bit"("hex" 格式) |
例如,如果选择 "Shortened Local Name" 类型并将 "data" 字段配置为 "TEST" → 载荷的 AdvData 部分将如下所示:
05 08 54 45 53 54(十六进制格式)
其中第一个八位组(05)表示后续字节数(5 字节),第二个八位组(08)表示类型(Shortened Local Name)。第 3、4、5 和 6 个(等)八位组是 "data" [54(hex)=T(ASCII),45(hex)=E(ASCII),53(hex)=S(ASCII),54(hex)=T(ASCII)]。
"Complete Local Name" 类型同样如此。只有 AdvData 载荷中的第二个八位组不同,将设置为 09。
对于 "Manufacturer Specific Data" 类型,需要以十六进制格式配置 "data" 字段。此类型的第二个八位组将设置为 FF。
连接
信息
从 v7.12beta9 起可用。 目前仅支持
central角色。不支持Peripheral device角色、pairing和encryption选项。
可用部分如下:
| 部分 | 说明 |
|---|---|
| async-data | 用于查看已订阅的数据。 |
| characteristics | 用于查看设备支持的所有特征。 |
| connect | 用于连接到处于 connactable 状态的设备。 |
| disconnect | 用于断开与设备的连接。 |
| read | 用于读取特征值。 |
| write | 用于写入特征值。 |
| subscribe | 用于订阅特征值。 |
| unsubscribe | 用于取消订阅特征值。 |
要连接到处于 connectable 状态的蓝牙设备,请使用以下命令(其中 pdev 是设备地址):
/iot/bluetooth/connections/connect pdev=DC:2C:6E:0F:C0:3D
信息
要连接到 TG-BT5-IN/OUT 标签,请将磁铁靠近磁开关,使标签进入
connectable状态。 要查看已建立的连接:
/iot/bluetooth/connections/print
要查看设备特征:
/iot/bluetooth/connections/characteristics/print
Columns: PDEV, NAME, UUID
# PDEV NAME UUID
0 DC:2C:6E:0F:C0:3D Service Changed 2a05
1 DC:2C:6E:0F:C0:3D Database Hash 2b2a
2 DC:2C:6E:0F:C0:3D Client Supported Features 2b29
3 DC:2C:6E:0F:C0:3D Device Name 2a00
4 DC:2C:6E:0F:C0:3D Appearance 2a01
...
...
...
要读取特定特征,请指定 pdev 地址和 uuid:
/iot/bluetooth/connections/read pdev=DC:2C:6E:0F:C0:3D uuid=2a00
扫描器
在此菜单中,可以设置蓝牙芯片的扫描器设置。禁用时,设备无法再接收广播报告。启用时,可以在 "Advertising reports" 选项卡中监控广播报告(本指南后面会介绍)。您可以使用以下命令查看和设置扫描器设置:
/iot/bluetooth/scanners/print
Flags: X - DISABLED
Columns: DEVICE, TYPE, INTERVAL, WINDOW, OWN-ADDRESS-TYPE, FILTER-POLICY, FILTER-DUPL
ICATES
# DEVICE TYPE INTERVAL WINDOW OWN-ADDRESS-TYPE FILTER-POLICY FIL
0 X bt1 passive 10ms 10ms random-static default off
/iot/bluetooth/scanners/set
可配置属性如下:
| 属性 | 说明 |
|---|---|
| disabled(yes | no;默认:no) | 禁用或启用蓝牙芯片接收广播报告的选项。 |
| filter-duplicates(keep-newest | keep-oldest | keep-unique | off;默认:off) | 丢弃同一广播者重复广播的选项:keep-newest → 保留最新报告(丢弃最旧的)。只保留来自单个 AdvA 的最新 PDU。keep-oldest → 保留最旧报告(丢弃最新的)。只保留来自单个 AdvA 的最旧 PDU。此类 PDU 过滤发生在控制器级别,因此是最高效(能耗/带宽方面)的重复过滤方法。keep-unique → 仅显示具有唯一载荷的广播。也就是说,如果发现 1 个以上相同载荷(AdvData),只显示第一个载荷,其他“克隆”会被丢弃/忽略。off → 不丢弃重复项。保留具有相同 AdvA 的所有 PDU。重要: 重复广播报告是指来自同一设备地址的广播报告。实际数据(载荷的 "AdvData" 部分)可能变化/不同,在判断是否为重复广播报告时不视为重要。也就是说,例如,如果蓝牙接口从同一标签接收到 10 个载荷(每秒一个载荷),如果使用 "keep-oldest" 设置 → 蓝牙接口仅显示从该标签收到的第一个载荷(后续 9 个载荷会被过滤掉)。如果使用 "keep-newest" 设置 → 蓝牙接口仅显示从该标签收到的最后一个载荷(每个后续载荷都会重写前一个)。 |
| filter-policy(default | whitelist | no;默认:default) | 设置过滤策略(控制器级广播过滤)的选项:default → 启用此策略时,扫描器只接受 ADV_IND、ADV_NOCONN_IND、ADV_SCAN_IND、SCAN_RSP 和 ADV_DIRECT_IND(其中 TargetA 为扫描器自己的蓝牙地址)PDU 类型。whitelist → 启用此策略时,扫描器只接受由地址配置在 "Whitelist" 部分的广播者广播的 ADV_IND、ADV_NOCONN_IND、ADV_SCAN_IND、SCAN_RSP PDU 类型,以及 ADV_DIRECT_IND 类型 PDU(其中 TargetA 为扫描器自己的蓝牙地址)。 |
| interval(integer:3..10240;**默认:**10 ms) | 扫描器开始扫描下一个广播信道之前的时间。 |
| own-address-type(public | random-static | rpa-fallback-to-public | rpa-fallback-to-random;默认:random-static) | 扫描请求中使用的地址类型(如果使用主动扫描类型):public → 使用 IEEE 注册的永久地址。random-static → 使用用户可配置的地址(下次断电重启时将更改)。rpa-fallback-to-public → 使用可解析随机私有地址(RPA),仅当拥有我们的身份解析密钥(IRK)时才能解析。如果无法生成 RPA,则改用公共地址。rpa-fallback-to-random → 与 "rpa-fallback-to-public" 相同,但如果无法生成 RPA,则改用 random-static 地址。 |
| type(active | passive; 默认:passive) | 定义扫描器类型:active → 如果收到可扫描广播,扫描器可以发送扫描请求。扫描器可以发送 SCAN_REQ 以获取 SCAN_RSP 响应。passive → 扫描器仅监听广播,不发送任何数据(例如扫描请求)。 |
| window(integer:3..10240; 默认:10 ms) | 扫描器扫描单个广播信道所花费的时间。 |
| phy(1M | 2M | CODED;默认:1M) | 设置设备扫描时使用的“物理层”:CODED → 最低速率 125 kbps = 更远距离;1M → 标准速率 1 Mbps = 中等距离;2M → 最高速率 2 Mbps = 短距离;重要: CODED 仅受 KNOT Embedded LTE 支持。 |
例如,如果扫描器间隔设置为 20ms,意味着设备只在 20ms 后开始扫描队列中的下一个信道。如果扫描器窗口设置为 10ms,意味着设备仅在 10ms 窗口内扫描每个信道。这意味着它将扫描信道 37 共 10ms(窗口时间),再等 10ms 后开始扫描下一个信道(20ms[间隔]-10ms[窗口])。扫描信道 38 将花费 10ms,再等 10ms 后,设备开始扫描信道 39。
扫描器可以同时捕获“扩展”和“传统”广播类型。
广播报告
在此部分,可以监控(来自附近广播者的)蓝牙广播报告。列表限制为 1024 条(如果列表已满 1024 条,每收到一个新载荷就会覆盖“最旧”的一条)。您可以使用以下命令监控广播报告:
/iot/bluetooth/scanners/advertisements/print
Columns: DEVICE, PDU-TYPE, TIME, ADDRESS-TYPE, ADDRESS, RSSI
# DEV PDU-TYPE TIME ADDRES ADDRESS RSSI
0 bt1 adv-noconn-ind 2021-07-28 09:30:56 public 2C:C8:1B:93:16:49 -24dBm
1 bt1 adv-noconn-ind 2021-07-28 09:30:56 random 0B:16:17:9E:7B:EF -60dBm
可以使用以下命令为报告设置过滤器:
/iot/bluetooth/scanners/advertisements/print where
例如,要打印由特定蓝牙地址广播的报告,请使用以下命令:
/iot/bluetooth/scanners/advertisements/print where address=XX:XX:XX:XX:XX:XX
# DEVICE PDU-TYPE TIME ADD... ADDRESS RSSI LENGTH DATA
79 bt1 adv-noconn-ind 2021-07-28 09:46:38 public XX:XX:XX:XX:XX:XX -70dBm 30 02010...
80 bt1 adv-noconn-ind 2021-07-28 09:46:43 public XX:XX:XX:XX:XX:XX -67dBm 30 02010...
81 bt1 adv-noconn-ind 2021-07-28 09:46:44 public XX:XX:XX:XX:XX:XX -70dBm 28 1bff0...
82 bt1 adv-noconn-ind 2021-07-28 09:46:48 public XX:XX:XX:XX:XX:XX -75dBm 30 02010...
要仅显示 RSSI 强于 -30 dBm 的广播报告,请使用以下命令:
/iot/bluetooth/scanners/advertisements/print where rssi > -30
# DEVICE PDU-TYPE TIME ADDRESS-TYPE ADDRESS RSSI LENGTH DATA
307 bt1 adv-noconn-ind 2021-07-29 10:11:31 public 2C:C8:1B:93:16:49 -24dBm 22 15ff4f09.>
308 bt1 adv-noconn-ind 2021-07-29 10:11:31 public 2C:C8:1B:93:16:49 -26dBm 22 15ff4f09.>
可用过滤器(可以使用以下参数过滤广播报告列表):
| 过滤器 | 说明 |
|---|---|
| address | 蓝牙广播者地址 |
| address-type | 广播者地址类型(例如 public 或 random) |
| data | 十六进制格式的广播数据(AdvData 载荷) |
| device | 蓝牙芯片/接口名称 |
| epoch | Unix 纪元以来的毫秒数 |
| filter-comment | 匹配白名单过滤器的注释 |
| length | 广播数据长度 |
| pdu-type | 广播 PDU 类型 |
| rssi | 信号强度 |
| time | 广播数据包接收时间 |
白名单
在此选项卡中,可以配置将在 "Scanners" 部分过滤策略中使用的白名单。换句话说,它用于指定将扫描哪些蓝牙地址(在 "Advertising reports" 中显示)。
您可以使用以下命令查看白名单条目:
/iot/bluetooth/whitelist/print
Columns: DEVICE, ADDRESS-TYPE, ADDRESS
# DEVICE ADDRESS-TYPE ADDRESS
0 bt1 any *:*:*:*:*:*
您可以使用以下命令添加新的白名单条目:
/iot/bluetooth/whitelist/add
可配置属性
| 属性 | 说明 |
|---|---|
| address(MAC address;默认:) | 广播者地址 |
| address-type(any | public | random;默认:) | 广播者地址类型 |
| comment(string;默认:) | 白名单条目的简短描述 |
| copy-from | 复制条目的选项 - 更多信息请参阅控制台命令 |
| device(bt1;默认:) | 选择蓝牙接口/芯片名称 |
| disabled(yes | no;默认:) | 禁用或启用条目的选项 |
信息
在 7.14beta8 版本之前,最多只能添加 8 个白名单条目。 从 7.14beta8 版本开始,白名单不再限制为 8 个条目,地址字段支持星号通配符。 例如,如果要将所有以 "DC:2C:..." 八位组开头的 MAC 地址加入白名单,请使用通配符星号添加条目:
/iot/bluetooth/whitelist/add address=DC:2C:*:*:*:*
通配符星号不能用在特定八位组之间,例如 AA:*:*:BB:*:*(这是无效条目)。
有效条目例如:
AA:BB:CC:DD:*:*AA:BB:CC:DD:EE:*AA:*:*:*:*:*
外设
此部分显示解码后的 Eddystone TLM、Eddystone UID、iBeacon 和 MikroTik 蓝牙载荷。如果 "Peripheral Devices" 捕获到其他信标类型,则不会解码。
您可以使用 print detail 命令查看解码后的列表:
/iot/bluetooth/peripheral-devices/print detail
0 address-type=public address=60:C0:BF:87:E2:1C name="60:C0:BF:87:E2:1C" persist=no
mtik-key="" rssi=-64
last-data="0201041BFFCD0960C0BF87E21C025B1F198B21AC62CDAE0045FAFEFE057D7B"
last-seen=2023-08-22 11:20:09 beacon-types=""
1 address-type=public address=DC:2C:6E:0F:C0:3D name="DC:2C:6E:0F:C0:3D" persist=no
mtik-key="" rssi=-47
last-data="0303AAFE1716AAFE00E5B2B98DE4C81C47C2B14E7500000000000000"
last-seen=2023-08-22 11:20:05 beacon-types=mikrotik,ibeacon,eddystone-uid
mtik-version=1 mtik-encrypted=no mtik-acc-x=-0.007G mtik-acc-y=-0.015G
mtik-acc-z=-0.007G mtik-temperature=23.808C mtik-battery=100%
mtik-uptime=14342160s mtik-flags=""
ibeacon-uuid="55555555-5555-5555-5555-222222222222" ibeacon-major=1280
ibeacon-minor=512 ibeacon-rssi-at-1m=-68dBm eddy-rssi-at-1m=-27dBm
eddy-namespace="b2b98de4c81c47c2b14e" eddy-instance="750000000000"
2 address-type=public address=DC:2C:6E:F6:54:7D name="DC:2C:6E:F6:54:7D" persist=no
mtik-key="" rssi=-74
last-data="0201060303AAFE1116AAFE20000B701549023532D802384F46"
last-seen=2023-08-22 11:20:13 beacon-types=eddystone-tlm eddy-version=0
eddy-battery-voltage=2.928V eddy-temperature=21.285C eddy-packet-count=37040856
eddy-uptime=3724474.2s
3 address-type=public address=DC:2C:6E:0F:C0:3E name="DC:2C:6E:0F:C0:3E" persist=no
mtik-key="" rssi=-72 last-data="15FF4F0901000214FFFF0200FDFF4F1774E00F000064"
last-seen=2023-08-22 11:20:06 beacon-types=mikrotik mtik-version=1
mtik-encrypted=no mtik-acc-x=-0.003G mtik-acc-y=0.007G mtik-acc-z=-0.011G
mtik-temperature=23.308C mtik-battery=100% mtik-uptime=1040500s mtik-flags=""
4 address-type=public address=60:C0:BF:20:9A:50 name="60:C0:BF:20:9A:50" persist=no
mtik-key="" rssi=-66
last-data="0201041BFF4160C0BF209A50FFA4CA8906E48C0377DCFDD2DF7AF02FFC6AC5"
last-seen=2023-08-22 11:20:11 beacon-types=""
您可以过滤列表,例如根据设备的 "address"(已知标签的 MAC 地址):
/iot/bluetooth/peripheral-devices/print detail where address="DC:2C:6E:0F:C0:3E"
0 address-type=public address=DC:2C:6E:0F:C0:3E name="my_tag" persist=yes
mtik-key="" rssi=-60 last-data="15FF4F090100669DFCFF0600FCFF6117F1E50F000064"
last-seen=2023-08-22 11:43:31 beacon-types=mikrotik mtik-version=1
mtik-encrypted=no mtik-acc-x=-0.015G mtik-acc-y=0.023G mtik-acc-z=-0.015G
mtik-temperature=23.378C mtik-battery=100% mtik-uptime=1041905s mtik-flags=""
/iot/bluetooth/peripheral-devices/print value-list where address="DC:2C:6E:0F:C0:3E"
address-type: public
address: DC:2C:6E:0F:C0:3E
name: my_tag
persist: yes
mtik-key:
rssi: -71
last-data: 15FF4F0901002AC60400000004004F17D4E90F000064
last-seen: 2023-08-22 12:00:06
beacon-types: mikrotik
mtik-version: 1
mtik-encrypted: no
mtik-acc-x: 0.015G
mtik-acc-y: 0G
mtik-acc-z: 0.015G
mtik-temperature: 23.308C
mtik-battery: 100%
mtik-uptime: 1042900s
mtik-flags:
或者,例如根据信标类型过滤列表:
/iot/bluetooth/peripheral-devices/print detail where beacon-types=mikrotik
0 address-type=public address=DC:2C:6E:0F:C0:3E name="my_tag" persist=yes
mtik-key="" rssi=-69 last-data="15FF4F0901000747020002000100611778E60F000064"
last-seen=2023-08-22 11:45:46 beacon-types=mikrotik mtik-version=1
mtik-encrypted=no mtik-acc-x=0.007G mtik-acc-y=0.007G mtik-acc-z=0.003G
mtik-temperature=23.378C mtik-battery=100% mtik-uptime=1042040s mtik-flags=""
7 address-type=public address=2C:C8:1B:4B:BB:0A name="2C:C8:1B:4B:BB:0A" persist=no
mtik-key="" rssi=-44 last-data="15FF4F09010077090000FCFFFDFFD519BF9EFF00005B"
last-seen=2023-08-22 11:45:53 beacon-types=mikrotik mtik-version=1
mtik-encrypted=no mtik-acc-x=0G mtik-acc-y=-0.015G mtik-acc-z=-0.011G
mtik-temperature=25.832C mtik-battery=91% mtik-uptime=16752319s mtik-flags=""
此外,您还可以设置 persist=yes,确保设备/标签永久保留在列表中(因为停止广播载荷的设备会在一分钟后超时并从列表中移除,直到新的载荷再次出现在空中):
/iot/bluetooth/peripheral-devices/set persist=yes address="DC:2C:6E:0F:C0:3E"
您还可以为设备设置名称,以便在列表中更容易找到它:
/iot/bluetooth/peripheral-devices/set name="my_tag" address="DC:2C:6E:0F:C0:3E"
Decode-ad
在此菜单中,可以解码静态 MikroTik、Eddystone TLM、Eddystone UID 和 iBeacon 载荷。
要解码载荷,只需将其输入 "data" 字段:
/iot/bluetooth/decode-ad data=0201060303AAFE1116AAFE20000B6E158402353AF20238576B
type: eddystone-tlm
version: 0
battery-voltage: 2.926V
temperature: 21.515C
packet-count: 37042930
uptime: 3724682.7s
/iot/bluetooth/decode-ad data=15FF4F090100032E0100FFFF00004F17C1E80F000064
type: mikrotik
version: 1
encrypted: no
acc-x: 0.003G
acc-y: -0.003G
acc-z: 0G
temperature: 23.308C
uptime: 1042625s
flags:
battery: 100%