信息搜集–> 处理分析–> 动作执行,这是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. win7 64 &vs2010 与 opengl配置

    http://blog.csdn.net/lixam/article/details/7618015 http://blog.sina.com.cn/s/blog_7745fc8601017m36.h ...

  2. layer的alert图

    layer.alert("xxx",1); 1 2 3 4 5 6 7 8 9 10 11   12 13 14 15 16 17 及以后

  3. C++ Boost在Windows和Linux下的编译安装

    再debian下直接apt-get install gcc g++就可以了.按照类似的逻辑,再Fedora下yum install gcc g++ 报告无法找到g++包. 差了一下,原来这个包的名字叫 ...

  4. SQL Sever——妙用种子列

    /****** Script for SelectTopNRows command from SSMS ******/ SELECT TOP 1000 [OFFRCD_STATUS_ID] ,[OFF ...

  5. Mina使用总结(三)MinaClient

    简单的Mina客户端代码MinaSimpleClient.java: package com.bypay.mina.client; import java.net.InetSocketAddress; ...

  6. taskset

    常常感觉系统资源不够用,一台机子上跑了不下3个比较重要的服务,但是每天我们还要在上面进行个备份压缩等处理,网络长时间传输,这在就很影响本就不够用的系统资源: 这个时候我们就可以把一些不太重要的比如co ...

  7. python第五课——流程控制语句

    流程控制语句: 分类: 1).顺序结构 2).判断结构解析:如果...否则... 3).循环结构 1.判断结构: 格式分类:三种格式 格式一: ① if 条件表达式: 语句块 ② 执行流程: 计算机会 ...

  8. 禁止 "启动时恢复任何注册的应用程序"

    在关闭计算机时 有些程序会进行注册 并在下次启动时恢复关闭前的状态(Restart Manager) 比如Chrome浏览器 应用程序实现这一功能可以调用RegisterApplicationRest ...

  9. C#调试含有源代码的动态链接库遇见there is no source code available for the current location提示时的解决方案

    C#调试含有源代码的动态链接库遇见there is no source code available for the current location提示时的解决方案: 1.首先试最常规的方法:Cle ...

  10. 980. Unique Paths III

    题目来源: https://leetcode.com/problems/unique-paths-iii/ 自我感觉难度/真实难度: 题意: 分析: 回溯法,直接DFS就可以了 自己的代码: clas ...