安卓开发读取串口名称_LSD4BT-E66ALSP001 开发套件 使用教程

本文介绍LSD4BT-E66ALSP001低功耗蓝牙评估套件的使用方法,包括套件组成、连接方式和评估示例。用户可通过串口调试助手验证模组功能,例如设置设备名称、广播数据,以及进行透传数据测试。此外,提供了硬件和软件的准备建议,包括MCU与模组的连接以及应用示例代码。
摘要由CSDN通过智能技术生成

  1 套件清单

  为了方便客户使用低功耗蓝牙模组,Lierda BT产品线特别推出低功耗蓝牙评估套件,该套件清单如表1所示。

f6627a658339ccf6616968ef8ce84402.png
表1 套件清单

  1.1 模组

  产品简介:该低功耗蓝牙模组是基于 SIG 发布的 BLE 标准设计的低功耗蓝牙透传模组。模组的控制方式灵活,不仅可以通过串口和功能性引脚进行控制,而且支持移动端远程控制。使用该模组,用户无需关注复杂的蓝牙协议,就可在短期内开发出标准的 BLE 产品。更多详细信息请参考LSD4BT-E66ALSP001【资料汇总】。

  1.2 转接板

  产品简介:用于连接模组和底板,并为模组提供烧写接口和外置天线焊接口;
  连接方式:模组已焊接在转接板上,转接板需要正面朝上安插于底板上侧。

45d35512a55db70634a77d73df73b652.png
图 1 转接板正视图

  1.3 底板

  产品功能:
  ●提供转接板插座并引出模组的大部分引脚,可使用跳线帽将引出脚接高或接地;
  ●提供 USB 转串口功能,支持 2 路串口(串口 0、串口 1);
  ●支持多种供电方式:USB 供电、纽扣电池供电和 5 号干电池供电,可通过电源选择接口选择;
  ●提供 4 个 LED 指示灯(LED1——黄,LED2——蓝, LED3——绿,LED4——电源指示灯(红))、2 个普通按键(K1、 K2)以及 1 个复位按键(K3);
  ●提供电流测试接口:去除 R1,串联电流表在 P10 位置即可。

046cbfdd8423c43196d22feb01f7c892.png
图2底板正视图

  图2中处于同一侧的引出脚和转接板插座是对应的,且在同一水平线上的两个焊点之间是物理连接的,同时引出脚对应外围电路图如表 2 所示。无外围电路说明该引出脚仅使用排针引出,未连接任何外围设备。

5820df638ffc28e112f6d54e31831cce.png
表2 引出脚与外围电路对应表

  (4)Micro USB 转接线

  如果用户选择USB供电方式或使用串口指令功能,则需要自备一根Micro USB 转接线,如图 3 所示。

c8aacd8712e3ddaf66ba58c784e1f1d4.png
图3 Micro USB

  2 评估示例

  2.1 实验前准备

  客户在进行应用程序开发之前,可先通过串口调试助手和Lierda提供的开发套件验证蓝牙模组的功能,以评估蓝牙模组的可用性。

  串口调试助手可选用任意一款支持16进制发送和接收的串口调试工具。Lierda提供的开发套件需按照图4所示的方式连接,该套件使用Micro USB接口供电即可直接使用,使用过程中有以下几点需要注意。

  ●标注①处是转接板和底板的插口标准,要求转接板和底板最顶端的排针处于同一直线上;
  ●标注②处是3个控制引脚接口,默认全接地;
  ●标注③处是串口选择接口,默认选择串口0;
  ●标注④处是电源选择接口,默认选择USB供电。

cebf80d756de1cb49ea0fd0408637fd3.png
图4 开发套件

  2.2 简单例程

  用户拿到E66开发套件时,所有跳线帽均需按照图4所示位置插好,此时通过Micro USB接口为套件供电,即可通过手机端APP扫描到模组的广播,如图5所示。

  安卓手机APP推荐使用nRF Master Control Panel(BLE),苹果手机APP推荐使用LightBlue Explorer,以下示例均以安卓手机为准。

1fb396a2ac79274da458578c95863397.png
图 5 扫描结果

  电脑端打开串口调试助手,默认波特率9600,Hex发送,Hex接收。发送产品信息查询指令,查询产品型号,查询结果图 6 如所示。

T:01 FC 18 01 00
R:04 FC 18 13 00 00 4C 53 44 34 42 54 2D 45 36 36 41 4C 53 50 30 30 31
图6查询产品型号

  发送设备名称设置指令,设置结果如图7所示。此时手机端的扫面结果如图8所示。

T:01 FC 07 0E 4C 53 44 20 42 4C 45 20 44 45 56 49 43 45 //设备名称设置
R:04 FC 07 01 00
T:01 FC 08 00 //设备名称查询
R:04 FC 08 0F 00 4C 53 44 20 42 4C 45 20 44 45 56 49 43 45
图7设备名称设置与查询

b3805b8f18c54ee415301f37a0532783.png
图8 修改名称后的扫描结果

  2.3 修改广播数据

  模组默认广播数据为0x020106030260FE,扫描响应数据为设备当前名称,如图9所示。

3c4ce782164336a2019bce646def18de.png
图9 广播数据和扫描响应数据

  发送广播数据设置指令,设置结果如图10所示。此时手机端的扫面结果如图11所示。

T:01 FC 0D 0A 00 08 FF 60 FE 11 22 33 44 55 //广播数据设置
R:04 FC 0D 01 00
T:01 FC 0E 00 //广播数据查询
R:04 FC 0E 0A 00 08 FF 60 FE 11 22 33 44 55
图10广播数据设置与查询

3c20bb1beba55b3168ea8e14121bdf72.png
图11 修改后的广播数据

  2.4 发送透传数据

  手机端点击CONNECT按钮连接上述设备,连接完成后如图12所示。

90279940999bfa3b7684f6d660802855.png
图12 连接完成时手机端状态

  然后打开Unknown Service服务,使能Notifications功能,准备接收模组发来的数据,如图13所示。

4af36b43e4d714110b8e179822b5736a.png
图13 手机端使能Notifications功能

  将模组的MODE_CTL引脚接高电平,切换到透传模式,此时可通过串口助手控制模组发送数据,如图14所示。

T:01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
图14发送透传数据

  此时手机端可以看到接收到的数据,如图15所示。

e033828de81ba6af731be8e4b5a33941.png
图15 接收到透传数据

  此时也可以通过手机端向模组发送数据,点击发送通道的发送按钮,如图16所示,输入要发送的数据,如图17所示,点击SEND按钮发送数据,此时,在串口助手接收区域可以看到手机端发来的数据,如图18所示。

091189b1a7b140f2edd13f76ea1b94e2.png
图16 数据发送通道的发送按钮

891df4996805b6a452a57d9562e27e03.png
图17 需要发送的数据

R:11 22 33 44 55
图18串口助手接收到的数据

  3 应用示例

  3.1 硬件准备

  MCU和模组按照图 19 所示连接,如果模组由其他方式(USB、纽扣电池或5号干电池)供电,可不接VCC。如果需要指示功能,可选择性连接休眠指示引脚、串口数据指示引脚、连接状态指示引脚或数据拥塞指示引脚。

c56b834ab80637c5e2dc0610e5805ab1.png
图19 全功能电气连接(左)和最简功能电气连接(右)

  最简功能设计原则:
  ●如果用户不需要快速的数据传输,BUSY_IND可不接;
  ●如果用户不需要通过引脚获取蓝牙的连接状态,CONN_IND可不接,如果用户不需要通过引脚关闭蓝牙的广播功能,BT_CTL可直接接地,使模组保持广播状态,此时也可通过指令控制模组的蓝牙功能;
  ●如果用户不需要通过引脚获取模组的功耗模式,PWR_IND可不接,如果用户不关心模组的功耗,PWR_CTL可直接接地,使模组保持唤醒状态,此时可通过指令控制模组的功耗模式(RX唤醒模式);
  ●如果用户的MCU不需要休眠或者在休眠状态下也能接收UART数据,DOUT_IND可不接;
  ●如果用户不需要通过引脚控制模组的指令/透传模式切换,MODE_CTL可直接接地,使模组保持指令模式,此时可通过指令控制模组的指令/透传模式切换(RX唤醒模式)。

  3.2 软件准备

  应用示例由Lierda提供示例源码文件,用户只需要根据特定的嵌入式平台实现平台相关的驱动代码即可。源码文件如图 20 所示。

ba93e14c1a79fc43315f2a0fe1e5234a.png
图20 源码文件

  3.2.1 Lsd_ble_uart_driver.x

  串口驱动源文件/头文件,提供处理串口指令和控制/指示IO的驱动函数,一般情况下用户无需做任何修改,驱动函数调用方法详见Lsd_ble_uart_driver.h中对每个驱动函数的注释,驱动函数调用示例参考My_ble_interface.c中的多个初始化和应用示例。

  其中Ble_RcvChar()是串口接收函数,用户应该在收到串口数据时调用该函数。

  3.2.2 Lsd_ble_uart_impl.x

  底层驱动源文件/头文件,用户需要根据平台和函数说明自主实现各函数。其中IO_SetHighLevel()函数的具体实现如示例 1 所示(STM32平台代码,仅供用户参考,用户需根据自己的平台修改),IO_SetLowLevel()和IO_GetCurrentLevel()接口的实现方式类似,要注意IO_XXX_CTL和XX_CTL_PIN类型宏的使用。

fd7096a896e964303c55a55cd7f09048.png
示例1 IO_SetHighLevel()函数

  3.2.3 My_ble_interface.x

  应用示例用到的接口源文件/头文件,用户既可作为入门演示代码使用,也可作为实际项目开发过程中的参考代码使用。如果用户要实现示例代码的功能,在My_ble_interface.h中有以下几项需要用户处理:
  ●MAX_RCVTIME——串口接收超时时间,用户自定义
  ●AIM_BAUDRATE——用户选择的目标波特率,用户自定义
  ●Control Pin——用户使用平台的引脚号,用户自定义
  ●PIN_INIT宏定义接口,用户自主实现
  ●UART_INIT宏定义接口,用户自主实现

  以下两个跟串口接收超时相关的函数需要在合适的地方调用:
  ●App_RunTimer(),建议放到定时器超时中断中,定时器超时时间会影响串口接收的超时时间,详细信息参考MAX_RCVTIME宏的注释。
  ●App_TimerTick(),建议放到主任务中,不断轮询检查串口接收超时的状态,如果超时,及时处理收到的数据,示例用法参考下文。

  3.2.4 main.c

  应用示例的一个具体实现,仅供用户参考,用户可将该文件移植到已有工程中。初始化时序参考main.c的实现即可,主循环中的应用示例代码可分别演示,应用示例分析参考下文。

1b5120d9716f50dff7900598bd4cf3ed.png
示例2 main.c参考代码

  3.3 应用示例分析

  3.3.1 示例3:透传模式数据回传

  为了最大限度降低模组功耗,只有在模组收到数据时才会唤醒模组回传数据,回传结束即刻进入休眠模式。为了防止串口数据粘连,每两次串口发送之间间隔至少5毫秒。

  示例 3 的现象:手机连接模组,发送数据给模组,手机端会收到模组原样返回的数据。

3eaee875d270633eabe6bc5f6142969e.png
示例3 App_EchoData()函数

  3.3.2 示例4:发送大量数据

  大量数据发送需要使用数据拥塞指示引脚,当引脚指示拥塞时应暂停发送,等待发送完成,指示空闲时应继续发送不超过200字节的数据。为了防止串口数据粘连,每两次串口发送之间间隔至少5毫秒。

  示例4的现象:手机连接模组,使能接收通道Notify功能,手机端会收到大量数据。

6971c2ed965dcae6c9b4e765f61488d8.png
示例4 App_SendMassData()函数

  3.3.3 示例5:指令模式数据回传

  指令模式数据回传和透传模式数据回传类似,为了最大限度降低模组功耗,只有在模组收到数据时才会唤醒模组回传数据,回传结束即刻进入休眠模式。为了防止串口数据粘连,每两次串口发送之间间隔至少5毫秒。

  示例5的现象:手机连接模组,手机端使用远程数据发送指令发送数据给模组,手机端会依次返回指令响应帧和已发送的数据。

d07df700bfa4e7ac6140568d083b0ccd.png
示例5 App_EchoWithCmd()函数

  4、资料列表

  @LSD4BT-E66ALSP001_EVK应用说明_V01.01_181101.pdf
  配套驱动源码@LsdBleDrv.rar

  现在就登录“物联网开发者社区”手机版

4e04b946af9dfd470eb86073767ec514.png

  觉得内容不错的话请多关注利尔达物联网开发者社区,请点击链接了解详情

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值