Funpack第8期:Arduino Nano 33 BLE Sense 实现环境监测
基于 Arduino Nano 33 BLE Sense 开发板,实现环境数据实时监测,并通过低功耗蓝牙同步到桌面程序
标签
Arduino
Funpack
Bluetooth
luckydarcy
更新2021-05-21
861

项目仓库:https://github.com/luhuadong/Nano33Ble-EM

 

实现功能

完成 Funpack 第8期任务 —— 环境监测站

利用 Nano-33 BLE 的传感器,搭建一个小型环境监测站用于监测户外环境。待监测的参数包括:

  • 周边环境温度(精度:±0.1°C, ±0.1°F)
  • 周边环境湿度(精度:±1%)
  • 大气压强(精度:±0.1kPa, ±0.1psi)
  • 日照强度(用于判断白天/夜晚)
  • 周边平均噪声(精度:±1dB)

数据信息反馈方式可采用以下任意一种方式:

  • 通过对开发板外接显示屏显示
  • 通过蓝牙在电脑端口显示(本项目采用)
  • 通过手机 App

 

代码说明

本项目代码分为两部分

运行平台 软件名称 说明 Arduino nina-air.ino 使用 Arduino IDE 编译、上传 PC EnvironmentalMonitor.py Python 桌面程序,依赖 pygatt 和 wxPython

重点说明:

  • Arduino 通过板载传感器采集温度、湿度、气压、光强、噪声五组数据,其中温度、湿度、气压数据直接从传感器读取,光强、噪声数据通过计算转换;

  • Arduino 开启 Standard Environmental Sensing 服务(181A),温度、湿度、气压使用预设 UUID,光强、噪声则使用自定义 UUID;

  • Arduino 的 Standard Environmental Sensing 服务的特征值均使用 Read 和 Notify 方式,因此 BLE Client 可以通过主动读取和被动监听的方式接收数据;

  • 通过 BLE 传输的数据均为整型数据,需进行转换才能显示;

  • 运行 EnvironmentalMonitor.py 前请先安装依赖,并将 macaddr 修改为您所使用的 Nano 33 BLE 板的 MAC 地址。

 

演示效果

基于 wxPython 框架的 Environmental Monitor 桌面程序

Nano33Ble_EnvironmentalMonitor_Day.png

当亮度不足时,判定为夜晚,并切换图片

Nano33Ble_EnvironmentalMonitor_Night.png

 

心得体会

很高兴再次参加得捷电子和硬禾学堂联合推出的 Funpack 活动,最近工作比较忙,原本计划不参加的,可是被 Arduino Nano 33 BLE Sense 极高的可玩性和投篮运动手柄项目吸引了。不过最后没有很好完成投篮运动手柄,临时改成环境监测站项目,并且超出截止日期。

但不管怎样,每次参加 Funpack 都能学到东西,而且是快乐地学习,这种感觉跟工作是不一样的,有点像回到大学时期的感觉,很棒!嗯,后面还要抽时间继续完成投篮运动手柄项目。

 

附件下载
Funpack8-code-rudy.zip
演示代码
说明文档.pdf
项目说明
团队介绍
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号