DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)

2016-06-27 16:51:36 46点赞 240收藏 35评论

前言

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码) 看过我前几篇租房布置的文章就知道,这房间的污染源也不算小了,为了给自己安个心,DIY检测下空气那是必须的(DIY空气检测仪——攀藤G5ST+OpenWrt(附代码) 魂淡,不就是想玩DIY吗)

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)生活不是租来的——单身公寓初步布置简记追加修改(2016-06-0616:41:50):解释一下公租房的概念,并不需要使什么手段啊……新就业的异地务工人员申请公共租赁住房,应当具备下列条件:1、具有...125136542 NightCoffee

配件选购

其实一开始只是想检测下甲醛这玩意,某宝几块钱的显色检测方式感觉不是很靠谱,所以一开始的方案定的是Ardunio+甲醛传感器,Ardunio都知道很便宜啦,山寨板的话十几块就可以搞定,然而靠谱的甲醛传感器看来看去就英国Dart一家,大约要200+RMB。

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码) 此时!突然想起来之前有看过几眼国产攀藤出的激光PM2.5传感器广受好评(很多空气净化器使用这款),那么他们家有没有甲醛传感器卖呢,一看还真有,大约150+RMB,同样宣称出厂已经标定,看起来就比其他不知道谁生产几十块的靠谱嘛(DIY空气检测仪——攀藤G5ST+OpenWrt(附代码) 没错就是那么容易被广告忽悠)。

就在快剁手的时候,发现攀藤还同时销售一款PM2.5传感器还集成了甲醛传感器的产品……价格也差不多是两者相加,但是接线方便呐!虽然珠海的空气好到爆炸没啥测PM2.5的必要,不过手痒痒还是决定要来一个PM2.5的传感器。DIY空气检测仪——攀藤G5ST+OpenWrt(附代码) 又是在快剁手的时候……发现还有卖三合一传感器,就是PM2.5+甲醛+温湿度,只要再加10块!好好好,不就是加钱嘛!加!

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)PMS5003ST_淘宝搜索淘宝搜索是最智能的商品搜索引擎,通过大数据的运营,准确的理解商品与用户,提供精准的个性化搜索体验。s.taobao.com

传感器是搞定了,转头要选Arduino的时候……脑袋一转,我既然只接这一个传感器,这传感器输出还是串口TTL的,我为何不接在电脑上呢?对啊,为啥不接电脑呢?那就接电脑上吧……只需要一款USB TTL的东西就可以了,买的时候注意VCC要5V的,TX RX都要TTL电平的(3.3V)

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)FT232_淘宝搜索淘宝搜索是最智能的商品搜索引擎,通过大数据的运营,准确的理解商品与用户,提供精准的个性化搜索体验。s.taobao.com

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码) 于是剁手到此结束,就等着收货了。(喂喂喂,标题不是说OpenWrt吗!别急别急……)

**的开发

USB-TTL的模块很快就收到了,然而三合一传感器据说是需要定制,所以要等一周~

传感器就长这样,外面蓝色的是一层膜,我还没正式使用,所以也就不撕了吧。

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)

拿到手就马上**了……USB-TTL的针脚是2.54mm间距的4Pin,传感器是1.25mm间距的8Pin,手头只有传感器卖家送的两头都是母口的线。没办法只能破坏这根线啦,把必需的VCC GND TX RX都剪下来,剥开外面的绝缘层,插进USB TTL的口里(这里要注意传感器PIN的定义……比如按G5ST的定义蓝色这根才是VCC)

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)

接线就绪后把USB-TTL模块插到电脑USB,装一下FT232的驱动就算是第一步完成咯。

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码) 结果我的Win10系统死活都是拒绝访问COM口……借着偶尔成功一次的机会用C#写了个读取串口的程序。然而只用过一次后系统又拒绝访问COM口了……找了半天也不知道如何解决。(图中程序的关键代码:戳我

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码) 难道真的要再买一个Arduino来专门读取这个数据吗!并不需要DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)

扭头一看,就看到了我的裸路由器~Pandorabox M1(曾经写了晒单……但苦于不是正规厂商产品不允许发布)

简单介绍下就是一款MT7621的路由器,这款由于偏向于,所以连外壳……都没有,还引出了很多PIN可以自己接个屏幕啥的(虽然我懒的玩……)

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码) 路由器上很自然一般都会带有TTL口,但是如果我用TTL口就不是那么通用了……挪到别的路由器上岂不是还要拆机器了。所以还是以USB方式连接。

先把USB-TTL模块插上去,然后在OpenWrt上安装coreutils-stty, kmod-usb-serial-ftdi(这个根据USB-TTL模块芯片决定) 这两个软件包看了下大多数源都是提供的,直接opkg install这两货就好了。

安装完后要手动加载USB-TTL的内核模块,执行modprobe ftdi_sio,此时dmesg会如下提示

[45321.774000] usb 1-2: new full-speed USB device number 4 using xhci-hcd

[45321.866000] usb 1-2: New USB device found, idVendor=0403, idProduct=6001

[45321.947000] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[45322.044000] usb 1-2: Product: USB <-> Serial

[45322.095000] usb 1-2: Manufacturer: FTDI

[45322.144000] ftdi_sio 1-2:1.0: FTDI USB Serial Device converter detected

[45322.224000] usb 1-2: Detected FT232BM

[45322.268000] usb 1-2: Number of endpoints 2

[45322.317000] usb 1-2: Endpoint 1 MaxPacketSize 64

[45322.372000] usb 1-2: Endpoint 2 MaxPacketSize 64

[45322.428000] usb 1-2: Setting MaxPacketSize 64

[45322.481000] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0

然后要根据传感器手册设置一下串口波特率为9600bps,无校验,1bit停止位,这里就用到了stty

stty -F /dev/ttyUSB0 speed 9600 raw cs8 -parenb -cstopb

接着其实直接访问/dev/ttyUSB0这个设备就可以读取串口数据了。但是在OpenWrt上如何读取数据更方便简洁呢?用C语言写的话还要有编译环境,显然我懒得折腾,用Python还要装运行环境,显然我也懒DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)

而OpenWrt实际自带了lua,那么用lua来编写就是最方便的了(啥都不用装!)

作为之前从来没接触过lua的菜鸟来说……lua的二进制操作难度出乎了想象,不过最终还是折腾出了一个读取传感器数据并上传到物联网平台的脚本DIY空气检测仪——攀藤G5ST+OpenWrt(附代码) 只是写的很挫罢了(代码:戳我

接下来只要执行脚本,环境中有curl,就可以自动的读取传感器数据并上传啦!

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)

DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)

总结

  1. 三合一传感器比较节省空间,接线方便

  2. 攀藤G5ST的温度传感器准确度似乎不太好,比我室内其他温度计都低了3度左右,但湿度还是比较准确

  3. 甲醛传感器易受酒精等物质干扰,所以数字也不全代表是甲醛含量(Dart那款也是一样)

  4. 接到路由器上后不明原因的串口间歇性丢数据,所以必须完善数据校验功能(C#版的代码里我就没写校验)

  5. 总共花费300RMB左右,玩的开心就好~DIY空气检测仪——攀藤G5ST+OpenWrt(附代码)


展开 收起
35评论

  • 精彩
  • 最新
  • 攀藤的现在有三合一的了?还挺快的,需要时候我也买个去。

    校验提示文案

    提交
    可惜这个温度传感器似乎总是恒定低了几度……

    校验提示文案

    提交
    什么都能DIY啊 [饥饿] 惊呆的小小值路过

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • DIY很好,不过京东众筹最近连续放出来两个空气检测器的项目,都是199起,这个DIY成本略高

    校验提示文案

    提交
    PM2.5最低要100,甲醛电化学检测也要100……不清楚199是怎么做的咯

    校验提示文案

    提交
    可能让利吧,都是限量100,不过高一档也就239,然后299,都还没满,传感器批发会更低

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 您好我最近也想做个上机位请问您能给个第一个源程序吗……

    校验提示文案

    提交
    ***自己建个project贴进去画画界面吧,懒得传整个工程……

    校验提示文案

    提交
    收起所有回复
  • 像奥数一样看不懂啊

    校验提示文案

    提交
  • 赞一个,我也自己编程开发了一个,做了PC版的数据采集,安卓版的USB OTG连接并显示数据。
    回头也在张大妈上发个帖子。

    校验提示文案

    提交
  • 求靠谱甲醛测试方案

    校验提示文案

    提交
    想靠谱就花大价钱买传感器了…… 低端的一般都是测有机物。

    校验提示文案

    提交
    收起所有回复
  • 佩服您的DIY精神。

    校验提示文案

    提交
  • 很感兴趣,作者怎么联系,留个邮箱吧

    校验提示文案

    提交
  • 📣('ᴗ' )و好文章 等有空我也折腾下

    校验提示文案

    提交
  • 豹米2新出的时候撸了一台,传感器貌似不准 [阴脸]
    只想知道卤煮的床垫滚床单舒服吗 [龇牙]

    校验提示文案

    提交
  • 求联系方式 喜欢你这样的精神!

    校验提示文案

    提交
  • 一直在研究Arduino方案,无奈代码写好的不多,还得继续努力……

    校验提示文案

    提交
  • 珠海的
    是师兄吗

    校验提示文案

    提交
  • 最近买的微创的,测试还可以吧,适合懒人

    校验提示文案

    提交
  • 打赏技术男~~~

    校验提示文案

    提交
  • 不知道为啥第一个代码链接戳不开。po主能发邮箱嘛 [大囧] 挺想搞一个的,直接用arduino接一个1602屏 [惊喜] 843018791@qq.com

    校验提示文案

    提交
  • 看到一个和我专业相关的,打赏来了😁

    校验提示文案

    提交
  • 移动检测不方便啊

    校验提示文案

    提交
  • 楼主你的这个路由器在哪里买的 方便透露一下吗

    校验提示文案

    提交
  • 你好,我下载了楼主在github上的代码,txt文件,但我不懂怎么转成可执行文件。可否教我一下,谢谢。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
240
扫一下,分享更方便,购买更轻松