如何用Nicla Sense ME开发板实现智能家居项目

描述

开发板评测

Arduino与Bosch Sensortec联合开发板评测活动圆满结束,我们收到了不少优秀评测报告,好东西不私藏,我们将陆续分享给大家,今天分享的是网名为“简单”的开发者的评测报告,他利用开发板实现了一个智能家居项目,一起来看下他的创意。

先来看下这款开发板的实物图。

Bosch Sensortec

开发板实物图全家福

如何用Nicla Sense ME开发板实现智能家居项目,来看开发者亲自介绍项目↓

01Arduino与Bosch Sensortec联合开发板简介

这款名叫Nicla Sense ME的开发板于去年9月发布,是Arduino Pro旗下迄今为止尺寸最小同时采用最新一代博世传感器技术的最新产品。Nicla Sense ME配备了Bosch Sensortec的BHI260AP人工智能传感器系统、BMM150磁力计、BMP390气压传感器,以及独特的BME688四合一气体传感器。

Nicla Sense ME 在许多方面都达到了两个领域的顶级水准,它将低功耗传感器节点与可在边缘实现人工智能和机器学习的高性能“大脑”相结合。它既具备Arduino部署快速、配置简便的特点,也拥有Bosch Sensortec最先进的传感器组合。详情请看Nicla Sense ME 开发板完整版介绍。

02试用过程 Bluetooth2MQTT

即蓝牙转MQTT,项目是将蓝牙数据转换为MQTT的方式,进行蓝牙数据在网络传输,并在手机APP显示。实例是将Nicla Sense ME开发板数据通过蓝牙协议发送到树莓派,树莓派运行python脚本将数据通过MQTT协议发送到阿里云,阿里云平台的IOT studio开发的手机APP显示蓝牙数据。

Bosch Sensortec

Nicla Sense ME代码开发

Nicla Sense ME开发板

Nicla Sense ME是博世推出的⼀款集成了多种传感器的开发板,使用nordic的nRF52832 SOC,具体见数据手册

nRF52832System-on-chip

BoschBHI260AP motion sensor

BoschBMM150 magnetometer

BoschBPM390 pressure sensor

BoschBME688 gas sensor

Arduino固件

Nicla Sense ME固件使用Arduino IDE开发,在软件中安装Nicla Sense ME开发板库和BHY2库,获取温度、气压、湿度、气体四个环境类传感器数据,通过串口打印出数据,通过数据还将通过蓝牙notify的方式发送到主机,可以通过NRF connect 手机APP查看notify数据,蓝牙名称为“NICLA”

Bluetooth通信协议

根据BHY2库可知,温度的ID为128(0x80),气压为129(0x81),湿度为130(0x82),气体为131(0x83)。

Bosch Sensortec

#温度

(0x)80-05-5A-09-00-00-FB-00-80-00-00-00

第0位:标识那个传感器,0x80即标识为温度

第2-3位:大端存放,即为0x095A=2394,然后缩小100倍,实际温度数据为23.94摄氏度

#气压

(0x)81-04-9B-01-02-FD-01-00-81-00-00-00

第0位:标识那个传感器,0x81即标识为气压

第2-4位:大端存放,即为0x02019B=131483,然后缩小128倍,实际气压数据为1027hpa

#湿度

(0x)82-02-28-FD-7D-0A-01-00-82-00-00-00

第0位:标识那个传感器,0x82即标识为湿度

第2位:大端存放,即为0x28=40%

#气体

(0x)83-05-7B-29-00-00-00-00-80-00-00-00

第0位:标识那个传感器,0x83即标识为气体

第2-3位:大端存放,即为0x297B=10619

✦ 树莓派代码开发

Bluepy蓝牙库

Python上使用Bluepy蓝牙库将树莓派与Nicla Sense ME建立gatt连接

sudoapt-get install python-pip libglib2.0-dev

sudopip install bluepy

Paho MQTT 库

Python使用Paho MQTT 库,将树莓派作为MQTT客户端连接阿⾥云物联网平台

pip3 install paho-mqtt

Python蓝⽛转MQTT

将通过gatt获取的蓝牙Notify数据转化为MQTT mgs发送到阿里云物联网平台,配置可以通过config.yaml文件修改

Python脚本自启动

实现python脚本上电即运行的效果,添加服务进行上电自启

#新建test服务

sudo vi/etc/systemd/system/test.service

#修改完test.service⽂件,执行生效

systemctl daemon-reload

#开启服务

sudo systemctl start test.service

#查看服务状态

sudo systemctl status test.service

#停止服务

sudo systemctl stop test.service

#服务输出

journalctl-u test –e

#使能开机启动

sudo systemctl enable test.service

#失能开机启动

sudo systemctl disable test service

#重启树莓派

sudo reboot

#查看python后台运行程序

ps-ef |grep python

阿里云配置

阿里云物联网平台

在python脚本中连接阿⾥云物联⽹平台,然会在IOT studio中开发手机app和web应⽤

IOT studio开发

参考如下链接:https://help.aliyun.com/document_detail/156175.html

接下来再分享一些项目实物图让大家一饱眼福。

03试用项目实物图

Bosch Sensortec

Nicla Sense ME源码截图

Bosch Sensortec

App显示数据

Nicla Sense ME开发板(含电池)

Bosch Sensortec

树莓派python脚本

04开发者总结

这款开发板整体给我的感受很友好,类似于大多数Arduino平台的开发板,开发起来很便捷,让使用者有更多的精力是在实现自己的创意上,而不是在外设驱动等的开发中。

开发板的优点:

板子很小巧、精致

低功耗,实测120mAh锂电池能够在蓝牙连接情况下连续获取数据⼤约⼀周

开发效率高,得益于BHY2库,集成了全部传感器数据

资料开源,能够轻易的通过网络获取Nicla Sense ME的资料

集成度高,硬币⼤的开发板集成多种运动传感器和环境传感器

传感器精度高,博世的传感器相比同类传感器精度要高

Bosch Sensortec

Bosch Sensortec GmbH是罗伯特·博世有限责任公司(Robert Bosch GmbH)的全资子公司,为智能手机、平板电脑、可穿戴设备及物联网产品开发并提供定制MEMS传感器与解决方案。产品组合包括3轴加速度计、陀螺仪和地磁传感器、集成6轴和9轴传感器、环境传感器,以及全面的软件组合。自2005年成立起,Bosch Sensortec已成为上述市场的MEMS技术领先企业。

博世公司自1995年至今一直是MEMS传感器领域的先锋与全球市场的领导者,至今所销售的MEMS传感器数量已超过100亿

原文标题:评测报告丨基于Arduino与Bosch Sensortec联合开发板的智能家居项目

文章出处:【微信公众号:Bosch Sensortec】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
jf_70971093 2022-11-29
0 回复 举报
你好,你能把你用过的代码传给我们吗? 收起回复
jf_70971093 2022-11-29
0 回复 举报
Hola, ¿puedes pasarnos el código que usaste? 收起回复
全部评论

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分