信息搜集–> 处理分析–> 动作执行,这是IoT环境中最基本的组成要素,传感器搜集环境信息后,透过指定的通讯协议传送到至控制中枢,经过处理分析后再将命令送交各device端执行。要实现这样基本的系统,我们在这三个端点都需要部署一个执行单位(开发板)以及讯讯模块,以实现RF联机以及信息传送、接收、分析、执行等动作。

不过,现在我们只需要一片物美价廉的1对2无线传输模块,就能简化上面这样的系统,让您在设计及布建IoT项目更能得心应用。

如上图,MUART0 RF UART模块替我们完成了MCU及通讯模块两种工作,因此整体架构变得非常的简洁单纯。本文范例是以最实用的PM2.5感测加上空气清净机为例,不过您也可以更改为其它的模块,例如,PIR模块连动相机快门、门磁模块连动警报器、温湿度模块连动冷气机、一气化碳侦测模块连动门窗开合马达…等等,各种场景应用不胜枚举,您可以试看看。

感测、控制、执行三要素分离的PM2.5感测系统

平常市面所见的PM2.5空气清净机可以看成是all-in-one的信息搜集  –> 处理分析  –>  动作执行,现在我们把它分离成三个独立功能的装置,也就是三件式无线PM2.5感测装置:感测、显示、Relay三种功能分离。平常我们看到的都是all-in-one,PM2.5感测、显示以及启动电源都做在一台空气清净机上,现在我们把它分离成三个独立功能的装置,使用起来更方便。

要完成这样的三件式无线装置,您需要先考虑procotol用蓝牙还是RF或WIFI,接着为这三个装置分别准备好Arduino开发板以及网络模块,最后还要设计装置间讯号的收发传送动作并引用并撰写繁杂的程序代码。不过,如果您使用MUART0-P-1-2(凌阳创新1对2 RF UART传输模块),只需要一片Arduino,几行Serial传输指令,并套用原本的PM2.5 library,马上就能DIY出三件式PM2.5感测装置,跟直接使用攀藤PM2.5模块一样简单哦。

使用MUART0-P-1-2设计动作流程

使用MUART0-P-1-2的三个无线装置动作流程如下,由感测端的PM2.5数据接收开始,到触发relay打开电源,最后再显示于LCD上。

在此流程中串起三个装置的灵魂要角是MUART0-P-1-2,它是1对2的无线Uart传输模块,能将传统1对1的UART端口直接升级为无线UART传输,而且还能连接两组UART接口。由于是1对2,因此其包装为三个一组,包含Device端(编号P1)两片及Root端(编号P0)一片,可由背面的标签来识别(P0为Root,P1/P2为Device #1/#2)。

P0(Root)端可透过CTS pin脚选择要与P1或P2连接,当CTS预设未接时,连接的是P1(Device #1),CTS接地时,则与P2(Device #2连接)。其实1对2的使用及功能与1对1完全相同,差别在于多了透过CTS脚位来选择Device的功能。(CTS脚位位置如下)

所需材料及组装

PM2.5感测端

材料

MUART0-P-1-2的P1 device

USB接头、攀藤的G5T(PMS5003T)。

攀藤的G5T除了PM2.5之外,还能一并侦测温度和湿度,相当方便。

组装及接线

这是三个装置中最重要、但也是最简单的一个,因为只要把攀藤的PM2.5传感器如下图般与MUART0-P-1-2的P1相连接就OK了(注意TX与RX要对接),所有数据传输工作都已经由MUART0-P-1-2替你代劳。

LCD显示端

材料

Arduino UNO、MUART0-P-1-2的P1 device、3色LED x1、

16×2 LCD(1602 IIC)x1、PIR、按钮x2

组装及接线

显示端主要在于显示及控制,因此加了两颗按钮、三色LED以及一个PIR模块,使用的零件较多也显得接线麻烦一些,但只要按图索骥并不太难。注意按钮部份您应该要加个10K的上拉或下拉电阻,下图中此部份并没有秀出来。

PIR的用途为侦测是否有人接近,有的话则启动LDE模块的背光功能一段时间后再关闭,以节省电源。

三色LED用于显示设备的状态,例如PM2.5正常时显示绿灯,偏高时显示蓝灯,过高时显示红灯。

两颗按钮用于调整PM2.5的threshold值,控制relay何时需要开启。另外,同时按下时可开启/关闭PIR的功能。

Relay继电器控制端

材料

继电器relay x1、MUART0-P-1-2的P2 device、110V电源接头、USB接头

组装及接线

Relay端也不难,但要注意的是,Outputport #0除了接到继电器外,也要一并回接到Input port #0,让我们在显示端的Arduino也能同时收到开启继电器的动作讯息。

刻录程序

把硬件部份都安装妥当后,接下来就要把程序刻录到Arduino了。请在Github上下载

https://github.com/ch-tseng/pm25_MUART0-P-1-2-Bear/blob/master/Arduino/bear/bear.ino

并刻录进去,如果你的接法与前述的方法相同,理论上不需要作任何修改就可以正常的动作了。

如果你的LCD没有正常的显示,请确认一下其I2C代码预设为0x27或0x3f,一般在露天拍卖购买的大部份是0x27,但最近向IC Shop贩卖的是0x3f,此两者适用的library也不太相同哦,建议您到Google上搜寻下载并试用看看。Github上放置的NewliquidCrystal.rar是0x3f版本。

外壳制作

有了3D打印机,就可以丢掉那些外观死板还要额外钻洞切割的塑料盒或木板了,外形、大小、内置空间可在屏幕上天马行空的设计,唯一缺点就是打印速度太慢了。

本例的3D模型也放置在Github上,

https://github.com/ch-tseng/pm25_MUART0-P-1-2-Bear/tree/master/3D%20models

您可以下载stl档来打印。

感测端的外壳:

内置空间刚好放置一个G5T sensor,其吸风孔要朝下刚好与肚子切平。

显示端的外壳

使用16×2的I2C LED,屏幕可刚好平整的卡在熊的侧身,不过还是需要加上热熔胶及螺丝辅助。

三色LCD请插入脖子内直达眼睛的孔洞中。

使用2个正方形5mm x 5mm的小按钮。

蓝色方形为放置Arduino nano的底板。

Relay端的外壳

空间刚好放置一个继电器、一个110转5V变压器以及一片MUART0。前后两端的圆孔分别为110V的输入及输出。

完成

请把小熊放置于想要侦测PM2.5的地点,然后将空气清净机接到Relay继电器上,最后再把母熊放置于客听或书桌前。当有人接近时母熊时。LCD背光便会自动开启显示目前的PM2.5及温湿度数值。您也可以从背后调整PM2.5的上限值,当小熊侦测到PM2.5超过此上限时,便会触发Relay继电器将空气清净机的电源开启.

原文参考

https://mp.weixin.qq.com/s?__biz=MzU0MTg0ODIzNA==&mid=2247484597&idx=2&sn=077594fcfb31760fe618ec359724c270&chksm=fb22e370cc556a66882a9f52a54411b68e3f75ffda09cada1d2fad79c169e7912ff078c4dc77#rd

使用MUART0-P-1-2设置无线PM2.5感测环境的更多相关文章

  1. deepin系统下如何设置wifi热点(亲测有效)

    deepin系统下如何设置wifi热点(亲测有效) deepin wifi ap linux 热点 首先必须吐槽一下linux下设置wifi太累了....来来回回折腾了我好久的说.心累... 好了废话 ...

  2. TP-LINK | TL-WR842N设置无线转有线

    首先点击右上角的"高级设置". 点击左侧的"无线设置"栏,点击"WDS无线桥接",然后一步步设置可以使路由器连接到当前的一个无线网络. 然后 ...

  3. mint 设置无线 AP

    所需软件: sudo apt-get install hostapd 1. 创建 hostapd 的 configure 文件 新建 hostapd.conf 文件,存放位置任意,与后面修改的路径一致 ...

  4. Tplink路由器怎么设置无线桥接(转载)

    原始文章路径:http://www.pc6.com/video/8548.html .以下为转载内容(少量修改) 第1步 进入副路由器后台,选择网络参数,LAN口设置,把IP地址改成目标网络同一段的I ...

  5. 如何用fiddler + 手机设置无线代理 下载只有 手机才能访问的资源。

    我主要用来获取,一些特定的API,研究学习. 责任声明: 如果你用来违法犯罪,与我无关. 1.使电脑成为代理服务器 架代理服务器的软件有很多,自己百度一下.也可以用现成的代理软件.(其实Fiddler ...

  6. archlinux设置无线网络连接

    Check the driver $ lspci -k Open the network card $ ip link set <设备名> up Check device status $ ...

  7. 在树莓派上设置无线静态IP

    修改文件: /etc/network/interfaces,命令如下 sudo nano /etc/network/interfaces 将最后一句iface default inet dhcp,替换 ...

  8. Jmeter 日志设置---如何设置java协议中被测jar的日志?

    先转载一下Jmeter的日志设置: Jmeter运行出现问题可以通过调整jmeter的日志级别定位问题,但运行测试时建议关闭jmeter日志,jmeter打印日志耗费系统性能. Jmeter日志默认存 ...

  9. ubuntu-18.04 设置开机启动脚本-亲测有效

    ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发挥作用. 2.将下列内容复制进rc-local.servi ...

随机推荐

  1. right here waiting的歌词

    right here waiting的歌词 2006-12-30 17:36 匿名 | 分类:音乐 | 该问题已经合并到>> right here waiting的歌词有吗?   扫描二维 ...

  2. wrap装饰器包

    import wrapt # without argument in decorator @wrapt.decorator def logging(wrapped, instance, args, k ...

  3. 解决win7远程桌面连接时发生身份验证错误的方法

    远程桌面连接,是我们比较常用的一个功能了,但有时突然不能用了,以下是我遇到该问题,并解决该问题的方法.连接时报的是“发生身份验证错误,要求的函数不受支持”,解决之后细想一下,该问题好像是在我在电脑上安 ...

  4. Java进阶 -- 文章汇总

    文章汇总 Java集合源码 -- Collection框架概述 Java集合源码 -- Map映射和Set集合 Java集合源码 -- List列表 String和StringBuffer 内部类 j ...

  5. Zookeeper学习之路 (二)集群搭建

    ZooKeeper 软件安装须知 鉴于 ZooKeeper 本身的特点,服务器集群的节点数推荐设置为奇数台.我这里我规划为三台, 为别为 hadoop1,hadoop2,hadoop3 ZooKeep ...

  6. Docker实战(七)之为镜像添加SSH服务

    1.基于commit命令创建 Docker提供了docker commit命令,支持用户提交自己对制定容器的修改,并生成新的镜像.命令格式为docker commit CONTAINER [REPOS ...

  7. SQLite加密方式 [转]

    关于SQLite SQLite是一个轻量的.跨平台的.开源的数据库引擎,它的在读写效率.消耗总量.延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS.Android). ...

  8. fio是如何运行的?

    本文主要介绍fio是如何运行的,并且以单线程.单job为例 fio的入口在fio.c中的main函数,下面列出了main函数,此处只出示了一些调用的关键函数 int main(int argc, ch ...

  9. where语句中不能直接使用聚合函数

    1.问题描述 select deptno ,avg(sal) from emp where count(*)>3 group by deptno; 在where 句中使用聚合函数count(*) ...

  10. json_decode($str,true)的结果为null

    //$result为传进来的json值 $result = $this->params['auth_result']; //html_entity_decode进行HTML 实体转换为字符 // ...