【经验】Thunderboard BG22开发板如何在simplicity studio V5中添加一个标准的服务项

2022-02-16 世强
温湿度传感器,开发板,BLE SOC,BG22 温湿度传感器,开发板,BLE SOC,BG22 温湿度传感器,开发板,BLE SOC,BG22 温湿度传感器,开发板,BLE SOC,BG22

SILICON LABS的EFR32BG22系列芯片是功能强大的BLE SOC,他们的开发板Thunderboard搭配开发环境simplicity studio V5则可以让开发者快速熟悉EFR32BG22的特点,并且快速实现开发特定功能。本文笔者以thunderboard SLTB010A上的温湿度传感器为例,介绍如何在simplicity studio V5中添加一个标准的服务项。


1、建立工程

(1)在simplicity studio V5的主页中点击lancher,在Example projects & Demo’s找到Bluetooth - SoC Empty,点击CREATE。注意:不要点到DEMO的RUN,不然会直接在板子上运行一个Empty的例程。

(2)把soc_empty改成add_service,并选择Copy contents,再点击Finish完成工程创建。

2、添加蓝牙服务

(1)打开Bluetooth GATT configurator,点击Open进行添加蓝牙服务。

(2)在Bluetooth GATT configurator界面中点击“+”即Toggle。Toggle是GATT配置器添加标准服务的按钮。

(3)在service中点击添加Environmental Sensing。

(4)添加完成后在点击Environmental Sensing对所用的温湿度传感器特性进行配置。点击Temperature,首先在Value settings把HEX改成USER,其次把properties下的Read打开。在Humidity中也是执行这两步操作。

(5)在完成对Temperature Characteristic和Humidity Characteristic的配置后,快捷键Ctrl+S保存,接着可在gatt_db.c和gatt_db.h中查看自动生成的代码。

 3、添加驱动

(1)因为thunderboard SLTB010A上的温湿度传感器与BG22 SOC以I2C的方式通信,所以我们要添加I2C驱动。点击add_service.slcp,进入SOFTWARE COMPONENTS,在搜索栏输入I2CSPM,点击Install安装。

 安装完成后出现以下界面,点击Done完成I2C驱动安装。

(2)安装好I2C驱动后,我们要安装温湿度传感器的驱动。类似的,在搜索栏输入Relative Humidity and Temperature sensor,再点击Install安装。

4、代码部分

(1)在app.c的头文件添加:

#include "sl_status.h";

#include "sl_sensor_rht.h"。

(2)在刚刚添加的#include "sl_sensor_rht.h"底下添加:

// default relative humidity: 50 %

static uint16_t rht_humidity = 5000;

// default temperature: 25 C

static int16_t rht_temperature = 2500;

 

static void rht_update(void);

static void rht_humidity_read_cb(sl_bt_evt_gatt_server_user_read_request_t *data);

static void rht_temperature_read_cb(sl_bt_evt_gatt_server_user_read_request_t *data);

// The advertising set handle allocated from Bluetooth stack.

static uint8_t advertising_set_handle = 0xff;

(2)找到SL_WEAK void app_init(void)函数,把:sl_sensor_rht_init(); 放到里面。

(3)在Add additional event handlers here as your application requires!注释下,添加:

case sl_bt_evt_gatt_server_user_read_request_id:

        if (gattdb_temperature == evt->data.evt_gatt_server_user_read_request.characteristic) {

          rht_temperature_read_cb(&evt->data.evt_gatt_server_user_read_request);

        } else if (gattdb_humidity == evt->data.evt_gatt_server_user_read_request.characteristic) {

        rht_humidity_read_cb(&evt->data.evt_gatt_server_user_read_request);

        }

      break;

(4)在void sl_bt_on_event(sl_bt_msg_t *evt)函数末尾的大括号}下面添加相应的温湿度测量、获取温湿度数据、回调等函数。

sl_status_t sl_gatt_service_rht_get(uint32_t *rh, int32_t *t)

{

  sl_status_t sc;

  sc = sl_sensor_rht_get(rh, t);

  return sc;

}

static void rht_update(void)

{

  uint32_t humidity;

  int32_t temperature;

  // keep previous data if measurement fails

  if (SL_STATUS_OK == sl_gatt_service_rht_get(&humidity, &temperature)) {

    rht_humidity = humidity / 10;       // 0.01 %

    rht_temperature = temperature / 10; // 0.01 C

  }

}

static void rht_humidity_read_cb(sl_bt_evt_gatt_server_user_read_request_t *data)

{

  sl_status_t sc;

 

  // update measurement data

  rht_update();

 

  sc = sl_bt_gatt_server_send_user_read_response(

    data->connection,

    data->characteristic,

    0,

    sizeof(rht_humidity),  //定义发送的数据长度

    (uint8_t*)&rht_humidity,

    NULL);

  app_assert_status(sc);

}

 

static void rht_temperature_read_cb(sl_bt_evt_gatt_server_user_read_request_t *data)

{

  sl_status_t sc;

 

  // update measurement data

  rht_update();

 

  sc = sl_bt_gatt_server_send_user_read_response(

    data->connection,

    data->characteristic,

    0,

    sizeof(rht_temperature),

    (uint8_t*)&rht_temperature,

    NULL);

  app_assert_status(sc);

}


5、调试与程序下载

(1)在主页选择add_service工程进行Debug。调试成功后点击停止。

(2)add_service工程中GNU ARM v10.2.1 – Default找到HEX文件,Flash to device下载到thunderboard中。


6、上机验证

打开手机APP:EFR connect,找到名为Empty Example的设备,点击连接,找到温湿度的显示部分,点击Read,即可看到温湿度数据。

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由何家杰提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】连接SLWSTK6021A开发板后不能识别该如何解决?

日前有客户反馈连接上Silicon Labs SLWSTK6021A开发板后,电脑显示不能识别。建议检查电脑的J—Link驱动是否安装,打开电脑的“设备管理器”,显示“BULK interface”为感叹号则表示没有安装驱动。

设计经验    发布时间 : 2021-05-27

【经验】Matter入门指导6:用Simplicity Commander给Breakout开发板烧录固件的方法

我们在前面的Matter入门指导中已经编译好了Matter over Thread的Light、Switch和bootLoader固件。本文主要介绍使用Simplicity Commander工具给EFR32MG24 Breakout开发板烧录固件的方法。

设计经验    发布时间 : 2023-05-21

【经验】Si7021温湿度传感器ZigBee工程测试操作指南

Silicon Labs公司提供的EFR32xG系列Wireless SOC开发板的底板上有温湿度传感器Si7021,利用EmberZnet协议栈,可以直接配置出一个温湿度传感器的ZigBee工程。配合Z3GatewaySOC网关工程,可以实现温湿度定时上报数据,和网关主动读取温湿度数据。本文指导大家Si7021温湿度传感器ZigBee工程测试过程。

设计经验    发布时间 : 2019-12-20

EFR32MG的ZIGBEE测试,连接开发板无法看到开发板的IP地址,怎么解决?

DEMO 需要连接到带有DHCP服务器的局域网中,会自动分配IP地址给 DEMO板 ,再将装有simplicity studio软件的电脑和开发板接入同一个局域网内,就可以在simplicity studio中看到该DEMO板分配的IP地址,选择后就可以进行操作 。

技术问答    发布时间 : 2017-05-16

电路原理图  -  SILICON LABS  - Revision A03  - 4/11/2024 PDF 英文 下载

数字温湿度传感器Si7020-A20-YM1,其型号命名规则中A、20、YM1分别代表什么含义?

数字温湿度传感器Si7020-A20-YM1,其型号命名规则中A是产品版本为A版本;20是固件版本是20版;YM1代表是汽车级的产品,带保护膜,包装为剪切带式包装。

技术问答    发布时间 : 2017-05-05

电路原理图  -  SILICON LABS  - Revision A14  - 5/3/2024 PDF 英文 下载 查看更多版本

温湿度传感器芯片选型对比,HTU21D厂家有没有其它的温湿度传感器,温湿度精度可比拟的,与Si7021-A20-GM1R相比,哪些个性价比更高?

世强代理TE 温湿度传感器除了HTU21D外,还有HTU20D,HS1101LF。请参考https://www.sekorm.com/news/71351860.html。 HTU21D 与 Silicon Labs 温湿度传感器si7021比较,HTU21D睡眠功耗:0.02uA,温湿度测量工作电流:450uA。湿度精度: +/-3%RH max tolerance @55%RH;si7021睡眠功耗:0.06uA,温湿度测量工作电流:150uA。湿度精度: ± 3% RH (max), 0–80% RH;这两款温湿度传感器性能都很好,可根据产品自身的需求来选择。

技术问答    发布时间 : 2018-09-06

【技术大神】增加温湿度传感器,帮助烟雾探测器在实现高温高湿环境下可靠工作

在高温高湿的应用环境中,要想确保感烟探测器性能不显著降低,则应对烟雾传感器在温度和湿度参数方面进行补偿。笔者在带温度和湿度补偿的光电感烟探测器的项目设计中,选用了Silicon Labs的Si7020温湿度传感器。

新应用    发布时间 : 2019-07-30

我们公司需要设计一款主板,集成温湿度传感器、海拔高度传感器、雨量、土壤ph值、光线、pm2.5、二氧化碳、溶氧量、GPS经纬度、风速、风向,有没有合适的选型推荐?

温湿度传感器推荐TE的HTU20D:TE Connectivity(泰科TE)HTU20D(F)温湿度传感器数据手册环境光传感器推荐 Silicon Labs:Si1153:Si1153系列数据手册(简版)PM2.5检测推荐可天士:SPS-12CU激光颗粒物传感器数据手册二氧化碳检测推荐IDT的气体传感器:ZMOD4410:ZMOD4410 Gas Sensor Module for TVOC and Indoor Air Quality数据手册

技术问答    发布时间 : 2019-05-27

确认目标板C2接口电路正确,开发板设置为Debug out模式,开发板到目标板接线正确,但EFM8开发板Debug口仍不能识别EFM8SB10F8型号MCU,应如何解决?

在Simpilicity studio主界面,右击左边已经检测到的开发板,并选择Select Target part项目,在弹出的对话框中选择目标板的MCU型号,点击确认后即能正常识别。

技术问答    发布时间 : 2017-05-05

需要一颗温湿度传感器来测量电动汽车电池包内的温度及湿度。要求体积小于10x10mm,能否推荐一款合适的温湿度传感器?

根据产品的应用环境,最好选择汽车级的温湿度传感器产品,由于电池在充放电过程中可能会释放出腐蚀性的气体,因此推荐数字式温湿度传感器Si7020-A10-IM1,汽车级温度范围-40到125度,带有专利保护膜,放置对器件造成腐蚀。温度精度为0.4度,湿度4%RH,3x3mm DFN6脚封装。

技术问答    发布时间 : 2017-05-05

电路原理图  -  SILICON LABS  - Revision A01  - 5/29/2023 PDF 英文 下载

在使用Silicon Labs的SLWSTK6020的开发板时,开发板上的开源开关是否可以拔到USB上供电?

不可以,Silicon Labs的SLWSTK6020开发板上的电源开关有三个档位,分别是BAT、USB、AEM,BAT是由板上的Coin Cell Battery电池接口供电,USB是使用 扩展板的USB接口供电(需要扩展板有USB接口),AEM是由增强型能量监视部分供电,这个是由板内提供电源。所以电源开关拔到BAT时,需要有接入电池才能供电,拔到 USB时需要扩展板有USB接口才能供电(EFR32BG13的小板没有USB接口),所以接到USB时SOC是不工作的,正确的接法是接到AEM接口,即可以供电,也可 以监控SOC的耗电情况。

技术问答    发布时间 : 2018-08-27

【经验】如何进行EFM32系列MCU开发板Debug功能解锁

Silicon Labs EFM32系列的产品是基于Cortex-M0+/M3/M4内核的32位MCU, 我们在使用官方提供的EFM32开发板时有时候会遇到开发板的Debug功能被锁住的情况,当使用Simplicity studio V4进行程序下载的时候会遇到如下的无法刷写的对话框。这时候我们可以使用Simplicity Commander工具进行解锁。

设计经验    发布时间 : 2019-09-24

展开更多

电子商城

查看更多

只看有货

品牌:SILICON LABS

品类:开发工具

价格:¥331.7858

现货: 0

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥8.1764

现货: 111,379

品牌:SILICON LABS

品类:Digital temperature/ humidity sensor

价格:¥39.3896

现货: 11,250

品牌:SILICON LABS

品类:BLE SoC

价格:¥13.7505

现货: 5,000

品牌:SILICON LABS

品类:BLE SoC

价格:¥20.5338

现货: 2,516

品牌:SILICON LABS

品类:BLE SoC

价格:¥32.3334

现货: 2,500

品牌:SILICON LABS

品类:BLE SoC

价格:¥34.8420

现货: 2,500

品牌:SILICON LABS

品类:BLE SoC

价格:¥21.9269

现货: 2,500

品牌:SILICON LABS

品类:BLE SoC

价格:¥60.8570

现货: 2,295

品牌:SILICON LABS

品类:BLE SoC

价格:¥13.7505

现货: 520

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:中科银河芯

品类:温湿度传感器

价格:¥3.1000

现货:4,000

品牌:中科银河芯

品类:温湿度传感器

价格:¥4.5000

现货:4,000

品牌:TI

品类:IC

价格:¥1.7387

现货:2,592

品牌:奥松电子

品类:数字温湿度传感器

价格:¥7.2900

现货:385

品牌:迅为

品类:开发板

价格:¥378.2000

现货:15

品牌:华普微电子

品类:开发板

价格:¥200.0000

现货:5

品牌:威士丹利

品类:水浸传感器

价格:¥22.0000

现货:5

品牌:瑞芯微

品类:开发板

价格:¥10,396.0000

现货:3

品牌:SILICON LABS

品类:Switch Hall Effect Magnetic Position Sensor

价格:¥2.2924

现货:150,000

品牌:SILICON LABS

品类:Light Sensor

价格:¥20.3400

现货:28,003

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

度传感器定制

可定制温度范围-230℃~1150℃、精度可达±0.1°C;支持NTC传感器、PTC传感器、数字式温度传感器、热电堆温度传感器的额定量程和输出/外形尺寸/工作温度范围等参数定制。

提交需求>

压力传感器定制

可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。

提交需求>

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面