湿度一般多少正常
作者:LifeIsKillingMe
之前买了一块基于瑞芯RK3588的Rock 5b国产开发板,配置非常强大,我已经在上面跑了NAS->OpenMediaVault,软路由->OpenWRT,智能家居->Home Assistant等多个应用或者Docker容器,具体实现方法参看以下文章,主要步骤都罗列出来了。运行情况还是非常稳定的,一个月以来就死机了一次,看CPU利用率不到3%,内存(16GB)使用率不到20%,显然还大有潜力可挖。
于是我又翻出了尘封多年的树莓派各个传感器,基本上Rock 5b和树莓派的传感器还是兼容的,都是基于GPIO嘛,但是设置方法有一些差别。几年前我发过一篇文章,是讲树莓派和PowerBI集成温湿度监控平台的。
评论中有值友说除了用PowerBI的Streaming服务,也可以用InfluxDB+Grafana来实现,那么这次我就试验一下这一方案的可行性如何。
什么是Grafana
首先介绍一下Grafana,Grafana是一个监控仪表系统,是由Grafana Labs公司开源的的一个系统监测工具。它可以大大帮助简化监控的复杂度,只需要提供需要监控的数据,就可以帮你生成各种可视化仪表。同时它还有报警功能,可以在系统出现问题时通知你。
开源意味着这一工具完全免费,你也可以自己优化它的功能。同时,它支持多个数据源,如Prometheus,Graphite,OpenTSDB,InfluxDB,MySQL/PostgreSQL,Microsoft SQL Server等等。
构建你的第一个Grafana仪表盘
这里用Docker在Rock 5b上安装Grafana,首先确保5b已经启用了Docker环境,具体方法在前面的文章里有介绍。安装Grafana使用了一个范例,大家可以在后面括号的链接中找到相关代码的下载地址(教程来自这里)。
架构还是很清晰的,在这里我们启动了三个服务:
Prometheus普罗米修斯时序数据库,用来存储和查询你的监控数据
Promethues-exporter一个模拟数据源,用来监控你本机的状态,比如有几个 CPU,CPU 的负载之类
Grafana本尊
使用以下命令启动Docker。
docker-compose up
如果一切正常,三个docker容器将被启动,包括prometheus, service和grafana;其中prometheus是普罗米修斯时序数据库,service是普罗米修斯自带的数据生成器(监控本机 CPU 内存等信息),grafana就是Grafana 服务本身。然后,浏览器访问本地的3000端口,即可打开grafana网站。
初始的用户名是admin,密码也是 admin。输入之后,会要求改密码。
和PowerBI一样,第一步是配置数据源Add Data Source。Grafana 本身并不负责数据层,它只提供了通用的接口,让底层的数据库可以把数据给它。而我们起的另一个服务,叫 Prometheus则是负责存储和查询数据的。也就是说,Grafana 每次要展现一个仪表盘的时候,会向 Prometheus 发送一个查询请求。Prometheus-exporter 这个服务,会查询你的本地电脑的信息,比如内存还有多少、CPU 负载之类,然后将数据导出至普罗米修斯数据库。
可以看到Prometheus已经有了。
这里使用prometheus的域名9090端口来访问,这是之前的docker配置文件设置好的。
保存之后如果看到Data source is working的提示,就说明Grafana已经跟普罗米修斯成功建立了连接。
数据搞定了,下一步就是配置仪表盘了,选择Dashboards -> Import。
在这个网站下载仪表盘模板Json文件,在Grafana中上传。
选择刚才配置好的Prometheus数据源。
就可以生成非常酷炫的人生第一个Grafana仪表盘了,实时监控开发板的资源使用情况。因为我没有配置SWAP,所以有些数据是没有的。
安装InfluxDB 2.0
和prometheus一样,InfluxDB是一个专为时序数据设计的数据库,功能更加强大。docker安装方法如下(教程来自这里):注意InfluxDB已经升级到2.0版本,和之前的版本相比区别比较大,网上的不少教程都已经过期了。
首先启动docker
systemctl start docker
抓取influxdb的docker镜像
docker pull influxdb:2.0.7
写入influxDB配置文件并运行。
docker run --name influxdb -d
-p 8086:8086
--volume `pwd`/influxdb2:/var/lib/influxdb2
--volume `pwd`/config.yml:/etc/influxdb2/config.yml
influxdb:2.0.7
定义相关的账号密码。
docker exec influxdb influx setup
--bucket BUCKET_NAME
--org ORG_NAME
--password PASSWORD
--username USERNAME
--force
这里BUCKET_NAME可以认为是数据库的名字,而ORG_NAME是组织的名字,根据自己情况定义。
如果一切正常,就可以浏览器访问本地的8086端口打开InfluxDB。
如果打算使用InfluxDB 2.0的基本功能而不编写任何软件来写入或查询数据库中的数据,那么到这里就已经完成了。 但是,我这里要将传感器获取的数值传递到InfluxDB中的应用程序,并且要以编程方式获取访问令牌(Token)。
可以使用 influx CLI 使用以下命令检索令牌:
docker exec influxdb influx auth list
返回结果是如下格式:
但我关心的只有Token,用这个命令获取数组中的Token,并把它记录下来:
docker exec influxdb influx auth list | awk '/admin/ {print $4 " "}'
把这些内容整合起来就可以写一个完整的InfluxDB的安装脚本文件,执行后就可以生成完整的InfluxDB环境。
将BME280温湿度传感器连接至Rock 5b
可使用的温湿度传感器其实有不少,比如DT11,DT22,DS18B20等等,淘宝上的价格从几元到几十元不等。我这里是精度较高的BME280,这是一款集成温度、湿度、气压,三位一体的环境传感器。具有高精度,多功能,小尺寸等特点。DFRobot Gravity I2C BME280环境传感器采用Gravity-I2C接口设计,同时预留预留SPI接口,可以方便快捷的搭建产品原型,应用于环境监测,楼层高度检测,物联网控制等各种应用场景。Gravity I2C BME280环境传感器使用BOSCH最新MEMS微机电传感器,具备良好的稳定性。气压测量在整个温区非常稳定的,偏置温度系数1.5 pa/k,当温度变化时,1摄氏度的温度变化导致的误差仅在12.6厘米。这种稳定性,连同其多功能的特点,使得BME280可以适用于各种应用场景。
5b的连线和树莓派一样,因为引脚定义是一致的。
连好引脚是这个样子的。
传感器裸露在外面有点难看,于是我用微积木给它做了个塑料壳。
晚上不开灯甚至能用来做小夜灯。
这里要用到GPIO口的I2C,这里简单介绍一下I2C。
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向:如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,则主机器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机主要是负责产生定时时钟和终止数据传送。
开启5b的I2C的方法是修改config.txt启动文件,这和树莓派不同。
dtoverlay=rk3588-i2c0-m1
dtoverlay=rk3588-i2c1-m0
dtoverlay=rk3588-i2c3-m1
dtoverlay=rk3588-i2c7-m3
dtoverlay=rk3588-i2c8-m4
修改后续执行update_extlinux.sh命令生效。
一开始还是按照老方法查看
sudo apt-get install i2c-tools
sudo i2cdetect -y 1
奇怪的是返回结果是UU不是77。
网上查了很多资料才得知,代码里查询的是1通道的设备,但是同样的接线方式5b接线的是7通道,所以无论如何都无法运行。(来自文章)改成7果然就可以了。
sudo i2cdetect -y 7
使用的还是之前树莓派链接BME280的示例文件。
用文本编辑器打开,将默认地址改成0x77(原来是0x76)
尝试运行发现报错。
这里注意后面也要改成7通道,如smbus.SMBus(7),并用Python3来运行。
这下运行就成功了。
但是目前我只实现了在本地展示传感器实时数据,下面要做的是将数据上传至InfluxDB数据库。(参考了这篇文章)
访问InfluxDB的网站,可以查看到符合自己环境的influxdb客户端的安装配置脚本。通过pip install influxdb-client安装客户端。
张大妈这里输入过多代码会导致文章无法保存,所以这里只展示同步至InfluxDB的关键脚本截图。
在代码开头添加上图中导入InfluxDBClient等模块。
下面是客户端连接脚本。注意要修改用户名,密码和Token以符合你们的环境。
我希望客户端可以每隔五分钟将传感器的数值上传到InfluxDB上,可以通过修改crontab文件实现,命令如下:
自定义Grafana仪表盘
至此如果一切正常,传感器已经再源源不断地将数据传至数据库了。此时我们要做的是在Grafana服务器上连接InfluxDB数据库。
Add data source里选择InfluxDB的数据源。
配置时输入本地对应的Bucket,Organization,Token,和之前的脚本一样。
然后在下方写入Query脚本,使用的是FLUX语言,可以查看官方的介绍文档:
传感器总共检测三个值,温度、湿度和大气压,脚本里定义为temperature, humidity,pressure,可以编写简单的Query脚本如下:
语言很容易理解,读取的Bucket是“home”,时间范围是最近6小时,读取的参数为pressure。
执行后即可看到对应的的点状图,你也可以在右侧面板里对于展示效果做进一步调整。
同理,可以添加针对temperature, humidity的图表,放在同一个仪表盘上。默认视图下,右上角可以设置不同的时间筛选条件,设为自动刷新等等。
通过Garfana仪表盘我就能分析办公场所的环境特点了,办公室里湿度较低较干燥,而下午的温度呈升高趋势,难怪这么多同事喜欢用加湿器,看来我也得多用些保湿化妆品滋养我娇嫩的肌肤。
总结
这次总结了一下如何用Rock 5b开发板 + BME280传感器 + InfluxDB/Grafana打造动态温湿度监控平台的实现方法,不得不说作为一款开源产品Grafana的功能还是相当强大的,还有更多玩法有待我的发掘。
喜欢我的文章请点赞、收藏、评论,谢谢大家的支持!
步秒师4486房间湿度86%正常吗
扈定盾19316683050 ______ 不正常.房间湿度超迅80%是比较潮湿的,一般室内湿度最好维持在40%至60%之间.如果湿度达到86%,室内的温度就会达到30度以上.人如果待在舒适的温度范围内,那么湿度对人的影响就不会太大,但如果空气当中的湿度比较大,那么空气中的水汽量就会比较高,人也会觉得非常的不舒服.
步秒师4486室内湿度多少较好?
扈定盾19316683050 ______ 适宜的温度和湿度对居室环境起着重要的作用,它直接影响到人的健康状况,如果温度与湿度过高或者过低都会不利于人体的健康. 一般来说,人体在室内感觉最舒适的温...
步秒师4486室内干湿度多少正常 -
扈定盾19316683050 ______ 冬天温度为18至25℃,湿度为30%至80%;夏天温度为23至28℃,湿度为30%至60%. 温湿度不宜对人体的危害: 1、室内湿度也不宜过高或过低,室内湿度过高,人体散热就比较困难.室内湿度过低,空气干燥,人的呼吸道会干涩难受. ...
步秒师4486请问:室内的湿度何为正常?有什么标准衡量?谢谢 -
扈定盾19316683050 ______ 我们在湿度表上看到的都是相对湿度,也就是“根据环境温度和空气中含水量计算出来的湿度”,要实际测量空气中含水量是比较复杂的,所以只要看湿度表的指示就可以了.让人感到舒适的最佳湿度范围是40%-60%,放宽些可以是30%-70%,低于30%则感觉太干,高于70%则感觉太潮.
步秒师4486湿度多大合适 -
扈定盾19316683050 ______ 居室、办公室的湿度在45----75RH%为宜.
步秒师4486正常家里的湿度一般是多少 -
扈定盾19316683050 ______ 湿度45一60%最好,太干躁到处静电对身体器官影响很大,太潮湿人就易感昌,长冻疮
步秒师4486空气湿度多少为潮湿
扈定盾19316683050 ______ 空气湿度的上限值不应超过80%,下限值不应低于30%,而当空气湿度高于70%时就被认定为潮湿.空气湿度是表示空气中水汽含量和湿润程度的气象要素,在一定的温度下,一定体积空气里含有的水汽越少则空气越干燥,水汽越多则越潮湿,而在此意义下,湿度常用绝对湿度、相对湿度、比较湿度、混合比、饱和差以及露点等物理量来表示.
步秒师4486湿度在什么范围内算潮湿? -
扈定盾19316683050 ______ 温度12°c,相对湿度92%,南方假设标准大气压=>露点10.7°,绝对湿度9.837g/m3也就是说低于10.7°的物体表面会产生冷凝水,温度越低产生的冷凝水越多相对湿度指空气中水蒸气的溶解百分比,这个数据受到温度、大气压和绝对湿度等参数...
步秒师4486室内湿度一般多少
扈定盾19316683050 ______ 和季节有关系,春冬季节湿度低在百分之30到40.,夏秋季节湿度偏高在百分之50至80左右. 一般相对湿度为40~70%时人感到比较舒适,小于这个数值,人会感到干燥,大于这个数值,人会感到烦闷.
步秒师4486湿度95%是什么概念
扈定盾19316683050 ______ 湿度95%是干燥,相对湿度上限值不应超过80%,下限值不应低于30%.空气湿度在40%至60%是人们适宜的环境湿度,有益于人体的健康.而50%至60%的环境中最感舒...