传媒学子 发表于 2021-6-27 21:20

[家庭智慧照明控制与室内环境监测系统]--7. 修改蓝牙设备名字和地址

<p><strong>问题描述:假设你有三个RSL10设备,如果三个名字一样,地址一样,会出现什么问题?</strong></p>

<p>当然,你可能只能连接到1个设备,而且,每次扫描结果可能不一样.&nbsp; 因为BLE设备在同一个通信中,必须只能有一个独立的地址;</p>

<p><strong><span style="color:#9b59b6;">在开发中,你可能是一套程序,下载到了多个设备中,但如果不修改设备地址和设备名字,你可能无法扫描到多个设备,只能扫描到一个设备。</span></strong></p>

<p>&nbsp;</p>

<p>这里以peripheral_server的例子来讲:</p>

<p><strong>修改蓝牙设备地址:</strong></p>

<p>找到include/ble_std.h 65~71行</p>

<pre>
<code class="language-coffeescript">/* Length of Bluetooth address (in octets) */
#define BDADDR_LENGTH                   6

/* Static private Bluetooth device address */
#ifndef PRIVATE_BDADDR
#define PRIVATE_BDADDR                  { 0x95, 0x11, 0x22, 0xff, 0xbb, 0xD5 }
#endif</code></pre>

<p>修改PRIVATE_BDADDR ,{ 0x95, 0x11, 0x22, 0xff, 0xbb, 0xD5 } -&gt;{ 0x95, 0x12, 0x22, 0xff, 0xbb, 0xD5 }&nbsp;</p>

<p><strong>修改名字:</strong></p>

<p>找到include/ble_std.h 85~90行</p>

<pre>
<code class="language-cpp">/* Set the device name */
#define APP_DEVICE_NAME_LENGTH_MAX      20
//#define APP_DFLT_DEVICE_NAME            "Living_Room_Lamp"
#define APP_DFLT_DEVICE_NAME            "Bed_Room2_Lamp"
#define APP_DEVICE_NAME_FLAG            '\x09'</code></pre>

<p>&nbsp;</p>

<p>修改完后,就能在手机上扫描到多个BLE蓝牙设备了。</p>

<p>&nbsp;</p>

soso 发表于 2021-6-28 09:10

<p>小技巧,不错</p>
页: [1]
查看完整版本: [家庭智慧照明控制与室内环境监测系统]--7. 修改蓝牙设备名字和地址