lehuijie 发表于 2021-7-4 23:54

RSL10 BLE使用(一)BLE广播

<p align="center" style="text-align:center">&nbsp;</p>

<p style="text-align:justify"></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 图一</span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线">BLE想要让客户端(也就是<strong><span lang="EN-US" style="font-family:&quot;微软雅黑&quot;,sans-serif"><span style="color:black">central device</span></span></strong><strong><span style="font-family:&quot;微软雅黑&quot;,sans-serif"><span style="color:black">)搜寻到需要先发送广播帧。图一为BLE广播帧结构。</span></span></strong></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><strong><span style="font-family:&quot;微软雅黑&quot;,sans-serif"><span style="color:black">前导帧不是01010101就是上数取反。 广播接入地址固定为</span></span></strong><span lang="EN-US" style="background:white"><span style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#333333">0x8E89BED6</span></span></span><span style="background:white"><span style="color:#333333">,字节低位在前。报头和长度后面详细说,这边不叙述。</span></span></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><span style="background:white"><span style="color:#333333">我们主要看下数据部分,如下图二</span></span></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><span style="background:white"><span style="color:#333333">:</span></span></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="background:white"><span style="color:#333333">图二</span></span></span></span></p>

<table class="Table" style="width:192px; border-collapse:collapse" width="192">
        <tbody>
                <tr>
                        <td nowrap="nowrap" style="border-bottom:1px solid black; width:64px; padding:0cm 8px 0cm 8px; height:18px; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-size:11.0pt"><span style="color:black">len</span></span></span></span></p>
                        </td>
                        <td nowrap="nowrap" style="border-bottom:1px solid black; width:64px; padding:0cm 8px 0cm 8px; height:18px; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-size:11.0pt"><span style="color:black">type</span></span></span></span></p>
                        </td>
                        <td nowrap="nowrap" style="border-bottom:1px solid black; width:64px; padding:0cm 8px 0cm 8px; height:18px; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-size:11.0pt"><span style="color:black">data</span></span></span></span></p>
                        </td>
                </tr>
        </tbody>
</table>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><span style="background:white"><span style="color:#4d4d4d">数据包含</span></span><span lang="EN-US" style="background:white"><span style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">N</span></span></span><span style="background:white"><span style="color:#4d4d4d">个</span></span><span lang="EN-US" style="background:white"><span style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">AD Structure</span></span></span><span style="background:white"><span style="color:#4d4d4d">,每个</span></span><span lang="EN-US" style="background:white"><span style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">AD Structure</span></span></span><span style="background:white"><span style="color:#4d4d4d">开始为一个长度字节表示</span></span><span lang="EN-US" style="background:white"><span style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">AD Structure</span></span></span><span style="background:white"><span style="color:#4d4d4d">的数据长度。</span></span></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="background:white"><span style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">Type</span></span></span><span style="background:white"><span style="color:#4d4d4d">中</span></span><span lang="EN-US" style="background:white"><span style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d"> type =0x01</span></span></span></span></span></p>

<table class="Table" style="width:403px; border-collapse:collapse" width="403">
        <tbody>
                <tr>
                        <td style="border-bottom:1px solid black; width:64px; padding:0cm 8px 0cm 8px; height:37px; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">bit 0</span></span></span></span></p>
                        </td>
                        <td style="border-bottom:1px solid black; width:339px; padding:0cm 8px 0cm 8px; height:37px; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-size:11.0pt"><span style="color:black">&nbsp;LE </span></span><span style="font-size:11.0pt"><span style="color:black">有限发现模式</span></span></span></span></p>
                        </td>
                </tr>
                <tr>
                        <td style="border-bottom:1px solid black; width:64px; padding:0cm 8px 0cm 8px; height:37px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">bit 1</span></span></span></span></p>
                        </td>
                        <td style="border-bottom:1px solid black; width:339px; padding:0cm 8px 0cm 8px; height:37px; border-top:none; border-right:1px solid black; border-left:none" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-size:11.0pt"><span style="color:black">&nbsp;LE </span></span><span style="font-size:11.0pt"><span style="color:black">普通发现模式</span></span></span></span></p>
                        </td>
                </tr>
                <tr>
                        <td style="border-bottom:1px solid black; width:64px; padding:0cm 8px 0cm 8px; height:37px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">bit 2</span></span></span></span></p>
                        </td>
                        <td style="border-bottom:1px solid black; width:339px; padding:0cm 8px 0cm 8px; height:37px; border-top:none; border-right:1px solid black; border-left:none" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线">&nbsp;<span style="font-size:11.0pt"><span style="color:black">不支持 BR/EDR</span></span></span></span></p>
                        </td>
                </tr>
                <tr>
                        <td style="border-bottom:1px solid black; width:64px; padding:0cm 8px 0cm 8px; height:129px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">bit 3</span></span></span></span></p>
                        </td>
                        <td style="border-bottom:1px solid black; width:339px; padding:0cm 8px 0cm 8px; height:129px; border-top:none; border-right:1px solid black; border-left:none" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线">&nbsp;<span style="font-size:11.0pt"><span style="color:black">对 Same Device Capable(Controller) 同时支持 BLE 和 BR/EDR</span></span></span></span></p>
                        </td>
                </tr>
                <tr>
                        <td style="border-bottom:1px solid black; width:64px; padding:0cm 8px 0cm 8px; height:129px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">bit 4</span></span></span></span></p>
                        </td>
                        <td style="border-bottom:1px solid black; width:339px; padding:0cm 8px 0cm 8px; height:129px; border-top:none; border-right:1px solid black; border-left:none" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线">&nbsp;<span style="font-size:11.0pt"><span style="color:black">对 Same Device Capable(Host) 同时支持 BLE 和 BR/EDR</span></span></span></span></p>
                        </td>
                </tr>
                <tr>
                        <td style="border-bottom:1px solid black; width:64px; padding:0cm 8px 0cm 8px; height:18px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线"><span lang="EN-US" style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#4d4d4d">bit 5..7</span></span></span></span></p>
                        </td>
                        <td style="border-bottom:1px solid black; width:339px; padding:0cm 8px 0cm 8px; height:18px; border-top:none; border-right:1px solid black; border-left:none" valign="bottom">
                        <p align="left" style="text-align:left"><span style="font-size:10.5pt"><span style="font-family:等线">&nbsp;<span style="font-size:11.0pt"><span style="color:black">预留</span></span></span></span></p>
                        </td>
                </tr>
        </tbody>
</table>

<ul>
        <li align="left" style="margin-left:16px; text-align:left"><span style="font-size:10.5pt"><span style="tab-stops:list 42.0pt"><span style="vertical-align:baseline"><span style="font-family:等线"><span style="font-family:宋体">设备全名:</span><span lang="EN-US" style="font-family:&quot;inherit&quot;,serif"> TYPE = 0x08</span></span></span></span></span></li>
        <li align="left" style="margin-left:16px; text-align:left"><span style="font-size:10.5pt"><span style="tab-stops:list 42.0pt"><span style="vertical-align:baseline"><span style="font-family:等线"><span style="font-family:宋体">设备简称:</span><span lang="EN-US" style="font-family:&quot;inherit&quot;,serif"> TYPE = 0x09</span></span></span></span></span></li>
        <li align="left" style="margin-left:16px; text-align:left"><span style="font-size:10.5pt"><span style="tab-stops:list 42.0pt"><span style="vertical-align:baseline"><span style="font-family:等线"><span lang="EN-US" style="font-family:&quot;微软雅黑&quot;,sans-serif">TYPE = 0xFF</span><span style="font-family:&quot;微软雅黑&quot;,sans-serif">,厂商自定义的数据,前两个字节表示厂商 ID</span></span></span></span></span></li>
</ul>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><strong><span style="font-family:&quot;微软雅黑&quot;,sans-serif"><span style="color:black"><span style="font-weight:normal">其他的type定义一起放到后面再详细介绍。</span></span></span></strong></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><strong><span style="font-family:&quot;微软雅黑&quot;,sans-serif"><span style="color:black"><span style="font-weight:normal">所以可以看到图二的RSL10的广播报文为:</span></span></span></strong><span lang="EN-US" style="font-size:11.0pt"><span style="color:black">LE </span></span><span style="font-size:11.0pt"><span style="color:black">普通发现模式,不支持 BR/EDR。蓝牙名为ON EE lhj 。 蓝牙厂家为0x0362.</span></span></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><span style="font-size:11.0pt"><span style="color:black">下面介绍下RSL10中的代码:</span></span></span></span></p>

<pre>
<code>BDK_BLE_Initialize();//蓝牙初始化</code></pre>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:等线"><span style="font-size:10.0pt"><span style="background:#e8f2fe"><span style="color:#3f7f5f">进入函数</span></span></span></span></span></p>

<pre>
<code> BDK_BLE_SetLocalName(BDK_BLE_DEFAULT_LOCAL_NAME);   //蓝牙命名</code></pre>

<p style="text-align:justify">&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

Jacktang 发表于 2021-7-6 07:18

<p>从楼主给资料看后,对BLE广播就很清楚了</p>

lightxixi 发表于 2021-7-6 08:37

<p>期待楼主的后续分享~</p>

freebsder 发表于 2021-7-6 22:19

<p>乐乐,这就是你得作业?打屁股!</p>
页: [1]
查看完整版本: RSL10 BLE使用(一)BLE广播