这是第二次在爱板网申请开发板试用,万万没想到成功了,很意外。其实更希望能申请到DA14580DEVKT-B评估板来玩一玩,因为DA14580的开发难度要大一点,开发过程中遇到各种问题,正好用用官方的板子,避免一些硬件问题。
言归正传,说说这次的主角----LinkSprite Mbed BLE Sensors tag开发板。先来两张实物图:
图1 开发板正面
图2 开发板背面
到手就一块板子,其它什么也没有。电池座也没有,本来还打算把圆形PCB部分取下来,使用纽扣电池供电,搞个防丢器玩一玩。
一、开发板介绍
首先简单介绍一下该开发板。Mbed BLE Sensors tag是LinkSprite推出的一款低功耗耗蓝牙开发板,供研发人员、创客、爱好者评估及学习之用。从名字可以看出,这是一款MBED支持的开发板,主控使用的是Nordic NRF51822,开发板上集成了LIS3DH,BMP180,BUZZER,LED灯等外设,除此之外,开发板上还集成了一个MBED兼容的编程器。将开发板通过USB连接电脑,在“我的电脑”中会显示一个名为“JLINK”的可移动存储设备。使用MBED云端开发时,直接将编译后的文件拖进这个盘符,即可运行程序。不过接下来我们还是以传统的开发方式来演示功能。
二、功能演示
接下来通过具体的实验,来介绍一下此开发板。先大致说一下本次实验需要完成的操作:
- 下载BLE协议栈程序
- 下载用户应用程序
- PC通过串口发送数据给开发板,开发板通过BLE转发给手机。
- 手机通过BLE发送数据给开发板,开发板通过串口将数据发送给PC。
在网上找了一下,没找到开发板的原理图,最后只找到了下面这样一张图,不过够用了。
图3 引脚分布
之后通过USB转串口设备将开发板与PC连接起来。如下图所示:
图4 硬件连接
1.这里使用的是S110-6.0.0的softdevice。Nordic的协议栈和应用程序是分开的,因此协议栈程序需要单独下载,使用官方名为nRFgo Studio的工具,如下图。具体操作请参考官方文档。
图 5
2.打开官方的“ble_app_uart”例程,根据引脚定义修改按键和LED的IO口。注意:板子上面,LED引脚输出低电平时,LED点亮,这与Nordic官方板子的逻辑相反。
之后编译并下载,如下图所示:
图 6
需要说明的是,对于不同版本的softdevice,options设置中的memory设置有差别。对于SD-6.0.0,设置如下图:
图 7
3.手机端使用一款名为LightBlue的APP进行蓝牙连接操作。
1.程序下载到开发板上运行,红色LED点亮,表示BLE此时处于广播状态。打开手机中的LightBlue,扫描到名为“Nordic_UART”的设备,即为开发板,如下图所示:
图 8
图 9
2.点击名称即可连接到开发板,与此同时,开发板上的红色LED熄灭,蓝色LED点亮,表示设备处于连接状态,如下图所示:
图 10
图 11
从APP中可以看到,该例程的BLE服务中有两个特性,一个是Notify,用于接收开发板发给手机的数据。另一个为Write,用于手机发送数据给开发板。
3.点击Notify特性,再点击Listen for notifications,然后在PC的串口助手输入想发送的数据,这里输入字符串“123456”,点击发送,APP立即收到了开发板发送来的数据。如下图:
图 12
注:在程序中,串口接收中断处理数据时,串口收到回车符或者接收的数据大于20个字节才会将数据通过蓝牙发送出去。这里为什么是20呢?因为BLE协议规定了,每一次发送的最大数据长度不能超过20个字节,这也是BLE与经典蓝牙的区别。如果你需要发送的数据大于20字节,就要对数据进行分包。
4.接下来点击Write特性,再点击Wtire new value,输入需要发送的数据,这里是以十六进制发送,如下图所示:
图 13
在PC的串口助手中,可以看到接收到的数据,如下图所示:
图 14
三、总结
本人收到的这个板子过于简陋,除了板子,其它配件都没有,并且还有点脏,看样子应该是被很多人试用过了。不过总体来说,LinkSprite Mbed BLE Sensors tag算是一块不错的开发板,板子做工不错,外设丰富,并板载调试器,适合学习入门使用。 |