HaaS轻应用(JavaScript)低功耗蓝牙案例

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值