信息搜集–> 处理分析–> 动作执行,这是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