开发板评测
Arduino与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显示蓝牙数据。
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)。
#温度
(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试用项目实物图
Nicla Sense ME源码截图
App显示数据
Nicla Sense ME开发板(含电池)
树莓派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】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !