信息搜集–> 处理分析–> 动作执行,这是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. php函数substr_replace中文乱码的替代解决方法

    $str = "中华人民共和国"; $len = mb_strlen($str,'utf-8'); if($len>=6){ $str1 = mb_substr($str,0 ...

  2. ZT eoe android4.2 Bluetooth记录01-结构和代码分布

    android4.2 Bluetooth记录01-结构和代码分布 作者:cnhua5更新于 08月21日访问(697)评论(2) 在android4.2中,Google更换了android的蓝牙协议栈 ...

  3. U-Mail:多方面因素避免EDM邮件进垃圾箱

    有很多做邮件营销的企业客户给U-Mail来电或来函咨询一件困扰他们的事:群发邮件时,要怎么样才能降低被收件人列入垃圾邮件的概率呢?其实关于这个问题,U-Mail小编已经请资深营销专家解答过多次了,经常 ...

  4. 使用Linux进行缓冲区溢出实验的配置记录

    在基础的软件安全实验中,缓冲区溢出是一个基础而又经典的问题.最基本的缓冲区溢出即通过合理的构造输入数据,使得输入数据量超过原始缓冲区的大小,从而覆盖数据输入缓冲区之外的数据,达到诸如修改函数返回地址等 ...

  5. Windows 7防火墙阻止了远程桌面连接的解决方法

    在[系统属性]中已经设置了允许远程桌面连接了,但是还是不能远程桌面的话,很可能是你的windows防火墙处于“启用”状态,防火墙阻止了windows 7系统的远程桌面连接.你可以使用以下的方法检查解决 ...

  6. [SHOI2012]回家的路

    题目背景 SHOI2012 D2T1 题目描述 2046 年 OI 城的城市轨道交通建设终于全部竣工,由于前期规划周密,建成后的轨道交通网络由2n2n条地铁线路构成,组成了一个nn纵nn横的交通网.如 ...

  7. Python中numpy.random.randn()与rand(),numpy.zeros、ones、eye

    转自:https://blog.csdn.net/u010758410/article/details/71799142

  8. C++矩阵库 Eigen 简介

    最近需要用 C++ 做一些数值计算,之前一直采用Matlab 混合编程的方式处理矩阵运算,非常麻烦,直到发现了 Eigen 库,简直相见恨晚,好用哭了. Eigen 是一个基于C++模板的线性代数库, ...

  9. sqoop-1.4.7 搭建

    sqoop搭建环境:   jdk1.8    hadoop分布式集群(HDFS)     HIVE(看使用情况) 下载网址:http://sqoop.apache.org/ 建议: sqoop1.4. ...

  10. C语言程序设计I—第四周教学

    第四周教学安排 第四周是本课程的第三次课,依然是我来讲解,学生听讲,也依然继续在寻找大班授课(100人).条件有限(民办学校教学经费投入不够)的情况下如何更好的组织教学. 教学内容 第二章 用C语言编 ...