开源物联网平台thingsboard通过蓝牙基站获取蓝牙广播数据--芯片环境温度

这里要用到的设备:
一个终端设备,nrf52的芯片开发板,只要能烧录可以是任意板子。
一个金桔蓝牙网关,可以获取蓝牙广播并上传给thingsboard平台。

先我们需要一个设备可以把芯片的环境温度用蓝牙广播出来,这里我们选用的nordic的nrf52840开发板,因为nrf52840有内置的温度测量,所以不需要任何外设,当然如果手里有其他nrf52的芯片开发板应该也是可以,nordic给出的官方例子代码,我们直接拿出来用就行了:

NRF_TEMP->TASKS_START = 1; /** Start the temperature measurement. */

        /* Busy wait while temperature measurement is not finished, you can skip waiting if you enable interrupt for DATARDY event and read the result in the interrupt. */
        /*lint -e{845} // A zero has been given as right argument to operator '|'" */
        while (NRF_TEMP->EVENTS_DATARDY == 0)
        {
            // Do nothing.
        }
        NRF_TEMP->EVENTS_DATARDY = 0;

        /**@note Workaround for PAN_028 rev2.0A anomaly 29 - TEMP: Stop task clears the TEMP register. */
        chip_temp = (nrf_temp_read() / 4);

        /**@note Workaround for PAN_028 rev2.0A anomaly 30 - TEMP: Temp module analog front end does not power down when DATARDY event occurs. */
        NRF_TEMP->TASKS_STOP = 1; /** Stop the temperature measurement. */

后面有编译好的镜像文件,可以下载直接烧录即可。
把芯片温度放到广播数据里:

ble_advdata_manuf_data_t manuf_data;
     uint8_t data[9] = {myadv_type,myconfig.updateVersion.arr[0],adcValue&0xff,(adcValue>>8)&0xff,myloglen}; //Our data to advertise
     memcpy(data+5,&chip_temp,4);
      manuf_data.company_identifier = 0x2081;                                                              //Nordics company ID
      manuf_data.data.p_data = data;
      manuf_data.data.size = 9;

这里,广播了9个字节,温度从第6个字节开始,下标就是 data[5]开始,因为室温是20度左右所以这里应该就是data[5] 有数据。

有了广播的数据,就可以配置金桔蓝牙网关了,金桔蓝牙网关可以支持直接将广播数据推送给mqtt平台,也就是thingsboard上。

我们这样配置蓝牙网关:
在这里插入图片描述
在这里插入图片描述
另外我们需要配置温度字段
在这里插入图片描述
因为刚才介绍了,室温只有20度只有一位有效,而且从第5位开始,所以这里就这样填写,添加完是这样的:
在这里插入图片描述
这里我多添加了一个rssi信号强度的值,不用到的话可以不加。
这样修改后,点击基站的修改配置,让基站的配置生效。

这里要说明的是mqtt的用户名就是密钥是如何获取,在thingsboard里新建完网关设备后,在设备的详细内容里可以看到:
在这里插入图片描述
关于如果建立网关设备,可以参考另一篇建立网关设备的教程。

金桔蓝牙网关配置生效以后,就可以上thingsboard上看数据了,先看下手机上设备的数据:
在这里插入图片描述
在thingsboard上自动建立了这个蓝牙终端设备:
在这里插入图片描述
点开后我们能看到上传的数据:
在这里插入图片描述
当然,如果我们想给实时数据建立一个图,可以用thingsboard里的功能:
在这里插入图片描述
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值