开源自制的空气质量检测仪AirWolf, 嗷 嗷 嗷
本帖最后由 风云天 于 2019-12-4 14:19 编辑题主从17年-19年开源了几个空气质量检测仪项目,17年的AirMini,18年的AirDog,今年的AirWolf。
AirWolf是在在AirDog基础上,硬件几经修改,终于定版的开源空气质量检测仪。
作品授权给朋友销售了,评论里回复给坛友了。
AirWolf 正面:
侧面靓照:
17年曾做了一版简单的空气质量检测仪,AirMini。
18年花了半年多的业余时间,做了一款非常精美的镀金版空气质量检测仪 AirDog。并且已将程序和原理图,PCB等设计资料开源。AirDog的帖子介绍在这里: 开源自制的土豪级镀金版空气质量检测仪,设计资料全开放
后续使用过程发现一些问题,又重新修改了四五次硬件,做成了AirWolf, 功能更完善,更易用。传感器大部分采用进口顶级的高精度传感器,总之就是只考虑精度&奢侈度,不考虑成本。
AirWolf 在 AirDog 基础上改善了充电功能;散热更加良好;增加自动开关机功能;电池低电量保护;温湿度传感器集成在主板上方便组装;甲醛传感器改用针座连接,解决接触不良问题;增加GPRS接口,电源接口,多个接口方便扩展等。
具体功能:
1 使用进口或国内高端传感器: 瑞典SenseAir S8 0053二氧化碳传感器,瑞士Sensirion 高精度SHT20温湿度传感器,ZM01 超低功耗VOC传感器,英国DART WZ-S 甲醛传感器,攀藤第7代PM2.7激光传感器等。
2 其他如振动,PCB温度检测等传感器。
3 彩色屏幕显示,触摸感应,夜晚智能调整屏幕亮度,自动休眠。
4 除5V USB供电外,配置大容量进口松下锂电池供电,可移动检测空气质量。
5 内置SD卡接口,支持高达32GB SD卡, 可存储5年传感器数据。
6 可接电脑查看传感器数据,虚拟U盘支持FAT,FAT32,exFAT文件系统。
7 配备WIFI模块,支持联网查看数据;另外可外接GPRS模块。
8 配置手机端APP, 包括IOS 和 Android版本。
9 支持关机充电;电池电量低自动关机,保护电池。
10多达7个扩展接口,可连接其他传感器,如氧气,一氧化碳等, GPRS模块等。
11磨砂亚克力外壳。
12黑色镀金版PCB,无铅焊锡。
显示界面(没有接甲醛传感器):
检测仪背面模组元件:
检测仪正面模组元件:
3D视图背面:
3D视图正面:
其中 PM2.5/PM10 采用攀藤第7代超薄型PM2.5传感器,厚度仅12mm,有效量程在0-500ug/m3, 分辨率 1ug/m3, 一致性为±10%@100~500 ug/m3或者±10 ug/m3@0-100ug/m3时, 可大致理解为误差。
甲醛传感器采用英国达特的燃料电池型传感器2FE-5白色款或者黑色款WZ-S。白色款输出信号为电流,还需将其转换成数字信号才行。黑色款已集成信号采集放大电路,输出数字信号,可直连单片机,且已出厂校正。WZ-S型号甲醛测量范围0.03 - 2ppm,解析度0.001 ppm。
二氧化碳采用瑞典进口的SenseAir 高精度CO2 SenseAir S8 0053 传感器,测量范围400 – 2000 ppm(±40ppm). 扩展范围 0 – 10000 ppm(误差±3%)。某宝价220 – 250元。
温湿度采用瑞士进口的Sensirion 高精度温湿度传感器SHT20, 温度测量范围: -40 ~ 125 ‘C, 解析度0.01 ‘C, 误差±0.3’C; 湿度测量范围: 0 – 100 % RH, 解析度0.04%RH, 误差±3% RH.
VOC传感器采用纬盛的MEMS 微传感器ZM-01, 体积超小,功耗超低(相对于电阻式加热VOC传感器),分辨率0.025 ppm。
本作品开源项目地址: https://github.com/SaberOnGo/AirDog
可以选择是否使用 uCOS II 系统,默认不开启, 在配置文件GlobalDef.h 文件可以配置各种功能模块。
项目源码里也有很多有用的组件,比如虚拟U盘,接上电脑,即可显示U盘。这里显示了2个U盘,一个是4MB左右的SPI FLASH 磁盘,带FATFS文件系统(支持FAT12,FAT16, FAT32, exFAT格式), 另外还有个4GB的磁盘(SD卡),最大可支持32GB.
另外可以把单片机内部剩余不用的ROM虚拟为U盘, 只要把GlobalDef.h头文件里宏使能即可。
相关的软件组件/模块(均可快速移植,通用):
1 软件定时模块: os_timer.c/h 文件
2 SFUD通用SPI FLASH驱动,可自动识别外接SPI FLASH模块,github的开源项目,贴主稍微优化了下,感谢作者。
3 UGUI 超少文件的嵌入式GUI图像界面组件,只需简单的2个文件接口,超好用。 相关文件: ugui.c/h
4 基于STM32 DMA 的2.8寸TFT屏幕ILI9341芯片驱动, 这个驱动只用到了4根SPI 总线,采用DMA方式传输。节省IO的同时,快速刷新2.8寸TFT界面没任何问题。 这个驱动好像是俄国人写的。我把它移植过来了。
5 STM32 的寄存器库
6SD卡的驱动,移植他人的。直接用寄存器驱动,比较快速,可支持高达32G SD卡,网上的很多代码都支持不了4G以上的SD卡。
7移植到STM32F103的uCOS-II, 没有用到,系统是直接裸奔的。需要开启操作系统的话,在GlobalDef.h头文件打开一个宏即可。可在裸奔和操作系统间快速切换,做了代码兼容。
8 还有缓冲队列,USB库,移植最新版的FatFs文件系统,实时时钟,TFT彩色屏各种驱动等。机智云引擎,自定义的串口协议等。挺多的。代码都写的比较易懂。
项目源代码:
项目所用到的芯片及传感器:
原理图:
编译环境: Keil MDK-ARM 5.21a
bootloader 地址: 0x8000000 ~ 0x8007FFF(boot 文件在目录: /AirDog/bin/Booloader bin file/)
应用程序地址: 0x8008000 ~ 0x803FFFF
空气狗配置文件在目录:/AirDog/doc/disk config file/
包括以下:
./font/22.bin
./sensor
./update
./config.txt
./default
./system
以上文件可能不是最新的, github是最完善的,会定时更新。
先占个二楼 用的都是好东西,做过才知道不容易,而且迭代了这么多次,赞 为楼主的毅力点赞 我也做了一版 基本上接近量产了 带外壳 带电池 可惜 没卖出去几个...... 很好,哪里有卖现成的呢? z123 发表于 2019-12-3 15:16
很好,哪里有卖现成的呢?
X 宝搜店铺: 今明电子,就行,不是我的,授权给朋友了。 东西真不错,价格也相当不错。 把辐射监测加上去和阿莫核辐射检测项目对接 都是不错的传感器啊 不错不错
这些传感器都不需要标定了吗? 我去看了一下,东西还没上架,先收藏店铺了 rclong 发表于 2019-12-3 16:13
不错不错
这些传感器都不需要标定了吗?
二氧化碳,需要自己校正。 甲醛传感器出厂已经校正了(用得是校正版的甲醛传感器WZ-S)。 PM2.5激光传感器也是出厂就校正了。 PM2.5传感器,只要不是在湿度较大的天,测量精度很接近美国大使馆公布的数据。 多谢楼主分享 本帖最后由 kinsno 于 2019-12-3 16:50 编辑
风云天 发表于 2019-12-3 16:29
二氧化碳,需要自己校正。 甲醛传感器出厂已经校正了(用得是校正版的甲醛传感器WZ-S)。 PM2.5激光传感 ...
甲醛是达特进口的,还是国内生产的版?一直找不到正版的购买渠道,某宝上价格千奇百怪,而JLC商城上面早已木有了,楼方方便的话,是否能提供一个采购渠道链接呢?
PS:楼主,是否分亨你的各模块的采购链接啊,哈哈,我的要求是不是有点过份了。。。不过我想做一个LINUX版的这个东西,也打算开源了。。,再配上4G模块。。
kinsno 发表于 2019-12-3 16:41
甲醛是达特进口的,还是国内生产的版?一直找不到正版的购买渠道,某宝上价格千奇百怪,而JLC商城上面早 ...
WZ-S 型号 是英国达特授权深圳的一家公司生产的,核心模组是达特供货,由达特定期抽检,品质由达特背书。谷歌 搜关键词: DART-SENSOR, 找到达特官网,上面有WZ-S型号,可以找到深圳公司。
我跟这家公司很早有过联系,所以知道。 谢谢楼主的无私奉献,其实亚克力弄成全透明的也很好看 本帖最后由 kinsno 于 2019-12-4 09:59 编辑
风云天 发表于 2019-12-3 17:12
WZ-S 型号 是英国达特授权深圳的一家公司生产的,核心模组是达特供货,由达特定期抽检,品质由达特背书。 ...
请问大侠,深圳这家公司,他们卖零售吗? 在某宝上面有店铺吗?我看到WZ-S这个在某宝上的价格高的有200多,300多,便宜的是95,甚至45,简直晕了。。
PS:通过对楼主在知乎上文章的搜索,找到官网,然后找中国代理,再扫描中国代理的微信,找到中国代理的淘宝店,终于找到了,千辛万苦,历尽曲折。。
楼主厉害,用的全是业界比较好的传感器,真是空气质量监测行业的劳斯莱斯。楼主能业余时间坚持把全部做下来,还迭代几次,真是毅力坚强啊。有时也想做些自己的东西玩玩,但是发现没那个时间,归根结底还是缺少楼主这样的毅力。 漂亮,真不错 谢谢分享,参考一下楼主的编程,最近在学习编程 漂亮,真不错 支持开源 下了几次下不了,能不能上传到这里。 支持开源,厉害! 很漂亮。楼主威武! juncheng88 发表于 2019-12-3 21:04
下了几次下不了,能不能上传到这里。
能下载,但是PCB是Dog版的,不是Wolf版的。 刚在数码之家看到了,原来大家都是在这三个坛子逛来逛去的,话说下载回来的程序编译有错误呢{:lol:} 利害,想整一个来玩玩 来学习一下传感器选型 zhutr99 发表于 2019-12-4 09:41
刚在数码之家看到了,原来大家都是在这三个坛子逛来逛去的,话说下载回来的程序编译有错误呢 ...
编译有错嘛,稍等啊,我今天把新的上传上去,可能有部分文件被加密了。 能上传到这里来吗 多谢楼主分享 顶一个,赞楼主的毅力 多谢分享。最近论坛里面好东西太多,消化不过来了~ 风云天 发表于 2019-12-4 10:27
编译有错嘛,稍等啊,我今天把新的上传上去,可能有部分文件被加密了。 ...
那就太感谢了,其实我也就想省点时间写PM2.5传感器的程序而已,不过你的系统太大了,等看懂了估计自己也写得了。 支持支持。 价格还可以,早2年600不到了买了空气大师的无co2版本的!{:lol:} tang0571 发表于 2019-12-4 13:48
价格还可以,早2年600不到了买了空气大师的无co2版本的!
我这个不带CO2, 有甲醛是760元。 带CO2, 带甲醛,带PM2.5是960元 zhutr99 发表于 2019-12-4 13:30
那就太感谢了,其实我也就想省点时间写PM2.5传感器的程序而已,不过你的系统太大了,等看懂了估计自己也 ...
我把github上拉下来编译没有问题,能否贴下编译提示? juncheng88 发表于 2019-12-3 21:04
下了几次下不了,能不能上传到这里。
已经上传了,不过后面还会更新到github, 所以这里的文件不是最新的。 ro321 发表于 2019-12-3 16:00
把辐射监测加上去和阿莫核辐射检测项目对接
我有在考虑的。 风云天 发表于 2019-12-4 13:57
我这个不带CO2, 有甲醛是760元。 带CO2, 带甲醛,带PM2.5是960元
595块钱的空气大师带甲醛的啦!!只是没co2! 下载太慢了,几乎下不动,最好能上传到这里来。 风云天 发表于 2019-12-4 13:58
我把github上拉下来编译没有问题,能否贴下编译提示?
当然可以,printf的警告是我的电脑的问题,有次改双串口print以后就这样了,主要是下面的ERROU,注释掉对应的语句就没错误了,当然对应的记录功能就没有了
compiling PM25_Sensor.c...
..\Component\Sensor\src\PM25_Sensor.c(202): error:#167: argument of type "__packed uint16_t *" is incompatible with parameter of type "void *"
SDRR_SaveSensorPoint(SENSOR_PM25, &PM25.pm2p5_air);
..\Component\Sensor\src\PM25_Sensor.c(203): error:#167: argument of type "__packed uint16_t *" is incompatible with parameter of type "void *"
SDRR_SaveSensorPoint(SENSOR_PM10, &PM25.pm10_air);
..\Component\Sensor\src\PM25_Sensor.c(204): error:#167: argument of type "__packed uint16_t *" is incompatible with parameter of type "void *"
SDRR_SaveSensorPoint(SENSOR_0P3_UM, &PM25.PtCnt_0p3um);
..\Component\Sensor\src\PM25_Sensor.c(205): error:#167: argument of type "__packed uint16_t *" is incompatible with parameter of type "void *"
SDRR_SaveSensorPoint(SENSOR_PM10_UM, &PM25.PtCnt_10p0um);
..\Component\Sensor\src\PM25_Sensor.c(27): warning:#177-D: variable "AqiLevelString" was declared but never referenced
uint8_t AqiLevelString = {
..\Component\Sensor\src\PM25_Sensor.c(38): warning:#177-D: variable "AqiStdString" was declared but never referenced
static const uint8_t AqiStdString[] = {
..\Component\Sensor\src\PM25_Sensor.c: 2 warnings, 4 errors
compiling sensor.c...
compiling SHT20.c...
compiling stm32f1_temp_sensor.c...
compiling TVOCSensor.c...
compiling co2.c...
compiling syscall.c...
compiling diskio.c...
compiling fatfs_demo.c...
..\Component\FatFs\src\fatfs_demo.c(101): warning:#223-D: function "printf" declared implicitly 我的软件版本
IDE-Version:
μVision V5.11.1.0
Copyright (C) 2014 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information:
zhutr AutoBVT
Microsoft
LIC=BL2SB-2CCFC-UJ06I-T3Y1K-Z6PJM-4LQ9N
Tool Version Numbers:
Toolchain: MDK-ARM ProfessionalVersion: 5.11.0.0
Toolchain Path: C:\Keil_v5\ARM\ARMCC\bin\
C Compiler: Armcc.Exe V5.04.0.49
Assembler: Armasm.Exe V5.04.0.49
Linker/Locator: ArmLink.Exe V5.04.0.49
Librarian: ArmAr.Exe V5.04.0.49
Hex Converter: FromElf.Exe V5.04.0.49
CPU DLL: SARMCM3.DLL V5.11.0.0
Dialog DLL: DCM.DLL V1.11.0.0
Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll
Dialog DLL: TCM.DLL V1.14.1.0
风云天 发表于 2019-12-3 15:20
X 宝搜店铺: 今明电子,就行,不是我的,授权给朋友了。
好像还没开卖? rclong 发表于 2019-12-3 16:16
我去看了一下,东西还没上架,先收藏店铺了
东西描述已经更新了 z123 发表于 2019-12-4 14:47
好像还没开卖?
刚改完,可以了。 风云天 发表于 2019-12-4 16:45
刚改完,可以了。
老哥准备加个辐射检测嘛?这样的话,就完美了啊 zhutr99 发表于 2019-12-4 14:40
当然可以,printf的警告是我的电脑的问题,有次改双串口print以后就这样了,主要是下面的ERROU,注释掉对 ...
在 ./Component/Sensor/src/PM25_Sensor.c,Line 202 开始 改成强制类型转换如下:
或者在 Sensor.h 头文件中去掉字节对齐: #pragma pack(1),#pragma pack()
tclg 发表于 2019-12-4 14:38
下载太慢了,几乎下不动,最好能上传到这里来。
附件已经补充 了哦 tang0571 发表于 2019-12-4 14:31
595块钱的空气大师带甲醛的啦!!只是没co2!
甲醛型号不是达特的,我买过。甲醛是英国达特的检测仪,当时还花了900多大洋 谢谢楼主分享,但成本不低吧? 大家是用什么下的,这个没有继点续传,下了不下十几次了。 风云天 发表于 2019-12-4 14:11
我有在考虑的。
或者考虑把各种传感器做成总线外挂的,这样可以将气象站等功能也加上去,气压+风+雨量+光照紫外,不过就要分室内室外两个模组了。 风云天 发表于 2019-12-4 16:59
在 ./Component/Sensor/src/PM25_Sensor.c,Line 202 开始 改成强制类型转换如下:
照你的加了强制转换,已经不报错了,再次感谢 juncheng88 发表于 2019-12-4 22:10
大家是用什么下的,这个没有继点续传,下了不下十几次了。
用谷歌浏览器下载的,速度很快 楼主手机端APP能开源分享一下吗 谢谢 风云天 发表于 2019-12-4 17:03
甲醛型号不是达特的,我买过。甲醛是英国达特的检测仪,当时还花了900多大洋 ...
确认一定是达特的,595只是他最低价的时候,后面也涨价了{:lol:}
作为资深电工,这个还是分的清楚的!!用山上的甲醛传感器还好意思卖500+? 谢谢分享,请问哪里有套件卖 支持DIY。
去年装修新房子的时候,买过另一个DIY玩家的,跟楼主的功能差不多,价钱也差不多。 顶,支持!~ 值得借鉴一下,谢谢分享 mlhorizon 发表于 2019-12-5 10:12
支持DIY。
去年装修新房子的时候,买过另一个DIY玩家的,跟楼主的功能差不多,价钱也差不多。 ...
关键是准吗? 老铁。。。特别是TVOC和 甲醛 。。
这价格难卖出去,现在市场追求的低价质好的产品 xml2028 发表于 2019-12-5 13:29
这价格难卖出去,现在市场追求的低价质好的产品
是的,一百多的产品我也能做出来,但不是砸了我的名声嘛,就没做。 kinsno 发表于 2019-12-5 11:40
关键是准吗? 老铁。。。特别是TVOC和 甲醛 。。
用其他仪器对比过,家用还可以,当然你别跟实验室的仪器比,实验室仪器价格摆在那。 talkingbeast 发表于 2019-12-5 10:06
谢谢分享,请问哪里有套件卖
有的,X宝 搜店铺: 今明电子。算是把研发弄回点来,陆陆续续成本两三年花了两万多也有了 oushii 发表于 2019-12-5 09:16
楼主手机端APP能开源分享一下吗 谢谢
有的,我找找,其实就是用机智云的模板APP改了改。没啥东东。稍后我更新在github 不错,支持分享,先收藏。 从17年-19年开源了几个空气质量检测仪项目 有才有时间期待继续贡献好作品{:loveliness:} 风云天 发表于 2019-12-5 15:15
有的,我找找,其实就是用机智云的模板APP改了改。没啥东东。稍后我更新在github ...
android& iOS 源码已上传到github: https://github.com/SaberOnGo/AIRDOG-APP
赞,支持一下 风云天 发表于 2019-12-5 15:53
android& iOS 源码已上传到github: https://github.com/SaberOnGo/AIRDOG-APP
谢谢分享~ 这种高质量的开源作品真是棒!感谢楼主 AirWolf 开源地址: https://github.com/SaberOnGo/AirWolf 风云天 发表于 2019-12-7 11:38
AirWolf 开源地址: https://github.com/SaberOnGo/AirWolf
能否分享下bootloader程序,谢谢 AirWolf坛友购买是否有优惠?
不错,支持分享,先收藏。 高手,大牛 很漂亮 谢谢分享 了不起,牛! 不错啊!!!! 空气质量检测 mark 好东西,学习一下{:smile:} 为楼主的毅力点赞 收藏了,谢谢分享 标记,谢谢分享! 收藏,谢谢 风云天 发表于 2019-12-3 16:29
二氧化碳,需要自己校正。 甲醛传感器出厂已经校正了(用得是校正版的甲醛传感器WZ-S)。 PM2.5激光传感 ...
校正版的甲醛传感器在哪里买的啊,能否给个链接啊?
好东西,学习一下 为楼主点赞! 不错好东西值得借鉴的地方很多 楼主,淘宝买的到货,这个传感器上有张贴纸,我要撕掉吗? 风云天 发表于 2019-12-3 16:29
二氧化碳,需要自己校正。 甲醛传感器出厂已经校正了(用得是校正版的甲醛传感器WZ-S)。 PM2.5激光传感 ...
请问二氧化碳要怎么校准? 好东西啊,报阿莫坛友,有没有优惠的啊。 作者用心了,开源学习了 居然用我用了多年的昵称,请交版权费。{:titter:} {:lol:}感谢楼主分享,学习一下
页:
[1]