
1、案例简介
HaaS100自带低功耗蓝牙功能,可以通过自带的蓝牙功能完成诸如与手机交互,蓝牙配网等功能。
本案例主要演示使用HaaS轻应用框架(JavaScript),在HaaS100上完成BLE的自定义GATT服务,并开启广播让手机可以扫描并连接,连接后将数据上报到手机。
2、物料清单
HaaS100开发板(需将蓝牙天线接好)。

安装NRF Connect软件的手机。

3、代码实现
编写app.js。
开启蓝牙功能
参考代码如下,调用bt_host模块中的open函数即可开启蓝牙功能。
bt_host.open的主要参数定义如下:
deviceName: 设备名
conn_num_max: 最大连接数
调用成功后,返回bt_host的实例。
import * as bt_host from 'bt_host'
var bt_host_instant = bt_host.open({
deviceName: 'ble_test',
conn_num_max: 2,
success: function() {
console.log('bt_host init success');
setTimeout(() => {
app_add_service()
app_start_adv();
}, 1000)
},
fail: function() {
console.log('bt_host init failed');
}
});
蓝牙服务注册功能
蓝牙服务是BLE蓝牙的基础,通过服务来发现设备功能并交互数据,如下参考代码定义了一个自定义的服务。
add_service的主要参数如下:
service: 结构体,服务定义,需要包含一个服务的uuid,s_uuid。以及一个从属于此服务的属性列表,每个属性要包含属性uuid,属性的读写权限,如果属性包含描述项,也需要定义。关于服务的定义可参考蓝牙标准文档。
function app_add_service() {
let add_service = {
service: "{\
\"s_uuid\":\"0x1A1A\",\
\"chars_list\":[\
{\
\"char_uuid\":\"0x1B1B\",\
&nbs
HaaS100轻应用实现BLE自定义GATT服务与数据上报

该案例详细介绍了如何使用HaaS100开发板的JavaScript轻应用框架,创建并广播自定义的BLE GATT服务,以及在手机端通过NRFConnect应用进行连接和接收数据。代码实现包括蓝牙功能开启、服务注册、广播设置、连接断开指示及数据上报等关键步骤。
最低0.47元/天 解锁文章
2124





