基于物联网的人孔监控系统
扫描二维码
随时随地手机看文章
人孔监测是市政基础设施的一个重要方面,由于人孔盖破损和丢失而导致的事故非常频繁。沙井的管理和监测不善也会导致城市洪水,这在拥挤的城市中最常见。这个问题可以通过使用基于物联网和传感器技术的人孔管理设备来解决。
在本文中,我们将构建一个基于物联网的人孔监控设备。该装置包括一个气体传感器,用于监测人孔中存在的气体,以便监测毒性,一个超声波传感器,用于检测水位,以及一个倾斜传感器,用于指示人孔盖是否倾斜。如果这些值中的任何一个超出了预定义的值,那么我们将使用SIM800l GSM模块向权威号码发送SMS。这个完整的设置将使用18650电池供电。
组件的要求
•SIM800L GSM模块
•XL6009升压模块
•MQ气体传感器
•key -017水银倾斜开关模块
•JSN SR-04T防水超声波传感器
•18650电池和电池支架
人孔监控系统电路图
基于物联网的井口监控系统的完整原理图如下:
这个电路并不难。在这里,我们使用了三个传感器,即气体传感器,超声波传感器和倾斜传感器,一个XL6009升压模块,SIM800L GSM模块和18650单元。XL6009升压模块用于将电压从18650升压到5V,气体传感器用于检测气体的存在。超声波传感器用于检测水位,倾斜传感器用于检测人孔盖是否倾斜。最后,使用SIM800L GSM模块发送有关这些事件的SMS通知。
人孔监控系统代码
现在,在连接组件之后,是时候对NodeMCU进行编程,以读取传感器数据并发送有关传感器读数变化的消息更新。完整的代码在文档的末尾给出。这里我们将解释代码的一些重要部分。
代码首先包含SoftwareSerial库并定义连接到传感器和GSM模块的NodeMCU引脚。
然后在setup()函数中定义触发引脚作为输出,超声波传感器的回波引脚和倾斜传感器的信号引脚作为输入,并在9600处启动串行通信,以便在串行监视器上显示结果。
在环路中,首先,我们使用digitalRead()和analogRead()函数读取倾斜传感器和气体传感器读数,然后使用超声波传感器测量距离,首先将触发引脚设置为LOW状态2µs,以确保触发引脚清晰。然后把触发引脚调高15秒,发出超声波。我们将使用pulseIn()函数读取旅行时间,并将该值存储到变量“duration”中。最后,我们将在串行监视器上打印距离的值。
然后在最后,我们比较这些读数,如果读数超过预定义的值,那么我们将使用GSM模块发送短信通知。发送消息的AT命令解释如下:
AT+CMGF=1 -用于选择消息格式为文本。缺省情况下,格式为PDU (Protocol Data Unit)。
AT+CMGS=+ZZxxxxxxxxxx -该命令发送短信给GSM类型的手机。
在性能板上构建电路
在面包板上测试电路并确保一切正常后,我继续在perf板上构建电路,使其更适合应用程序。焊接板看起来像下面:
井口监控系统测试
现在一切都准备好了,让我们测试一下设置。为了进行测试,我在桶里装满了水,并用太阳板作为桶的盖子。然后我将硬件安装在盖子上,如下图所示:
最初,桶是空的,盖子完全平衡,但当我们倾斜盖子时,倾斜传感器检测到运动并发送消息。同样,我们测试了气体传感器和水位,它工作如预期。
本文编译自iotdesignpro