当前位置:首页 > 物联网 > IoT设计分享
[导读]新冠肺炎疫情爆发后,非接触式测温设备越来越受欢迎,大多数采用红外温度传感器。这个装置在没有任何身体接触的情况下测量人的体温。今天我们还将使用NodeMCU和Arduino IDE来接口MLX90614红外温度传感器。

新冠肺炎疫情爆发后,非接触式测温设备越来越受欢迎,大多数采用红外温度传感器。这个装置在没有任何身体接触的情况下测量人的体温。今天我们还将使用NodeMCU和Arduino IDE来接口MLX90614红外温度传感器。

因此,在本教程中,我们将使用NodeMCU, MLX90614红外温度计,EM18 RFID读取器和超声波传感器构建基于物联网的智能员工温度筛选系统。它可以用非接触式红外温度传感器测量员工的体温,并将员工的姓名和体温发送到一个网页上,该网页可以通过互联网从任何地方监控。网页将时间、人名和温度存储在一个表中。超声波传感器用于测量传感器与人之间的距离,因此MLX90614传感器可以在传感器与人之间的距离小于20cm时测量温度,以获得更好的精度。

组件的要求

•NodeMCU ESP8266

•EM18 RFID模块

•MLX90614红外温度计

•超声波传感器

•电路试验板

•跳线

EM18 RFID阅读器模块

EM18 RFID读写器模块是一种低成本,低功耗,小尺寸和易于使用的设备,是开发RFID系统的理想选择。该模块用于读取125 kHz标签,并通过UART和RS232转换器直接连接到任何微控制器或PC。它可以通过UART/Wiegand26提供输出。

阅读器模块带有片上天线,可以通过5V电源供电。当您扫描读取模块上的RFID卡时,卡内的应答器将所有信息(例如以RF信号形式的特定ID)传输到RFID模块。该读卡器模块还有一个BUZ引脚,可用于连接蜂鸣器以检测有效的RFID卡。

我们以前使用相同的EM18 RFID模块来构建智能购物车。

MLX90614红外温度传感器

在这里,我们与NodeMCU连接了一个名为MLX90614的非接触式温度传感器。它是一种用于非接触式温度传感的红外温度计。它出厂校准了一个数字SM总线输出,可以完全访问在最高温度范围内测量的温度,分辨率为0.02°C,它可以用来测量特定物体的温度,范围从-70°C到382.2°C,在室温下精度约为0.5C。

它内嵌两个器件,一个是红外热电堆探测器(传感单元),另一个是信号调理应用处理器。它的工作原理基于斯蒂芬-玻尔兹曼定律,该定律指出,任何不低于绝对零度(0°K)的物体都会在红外光谱中发出与其温度成正比的光。传感器的传感单元利用发射的光来测量物体的温度。

线路图

使用ESP8266 NodeMCU的红外测温仪电路图如下:

如电路图所示,连接非常简单,因为我们已经将它们用作模块,我们可以直接在面包板上构建它们。当有人扫描标签时,连接到EM18阅读器模块的BUZ引脚的LED会变高。RFID模块以串行方式向控制器发送数据;因此RFID模块的发送端引脚连接到NodeMCU的接收端引脚。连接进一步分类如下表所示:

编程NodeMCU

这个红外温度筛选项目的完整代码可以在页面的末尾找到。这里将以小片段的形式解释相同的程序。

NodeMCU代码

这部分代码将读取超声波传感器、MLX90614和RFID模块,并将这些数据发送到web服务器。在编写NodeMCU之前,从给定的链接中安装所需的库:

Wire.h

Adafruit_MLX90614.h

通过包含所有必需的库来启动代码。这里Wire库用于使用I2C协议进行通信,Adafruit_MLX90614.h库用于读取MLX90614传感器数据。

然后,输入你的Wi-Fi名称和密码。

然后在接下来的几行中,我们定义了连接超声波传感器的引脚。我们已经将三角引脚连接到D5,回声引脚连接到D6

之后,定义变量来存储RFID模块、超声波传感器和MLX90614传感器数据和卡ID。

handleRoot()函数在我们使用NodeMCU IP地址在浏览器中打开网页时执行。

在void setup()函数内部,使用begin()函数初始化波特率和MLX90614传感器,并使用server.begin()函数初始化网页。然后使用Wi-Fi名称和密码将模块与Wi-Fi连接。另外,将三角和回声引脚设置为输出和输入引脚。

要了解有关超声波传感器及其三角和回声引脚的更多信息,请遵循我们之前基于超声波传感器的项目。

在void loop()函数内部,计算人与传感器之间的距离,如果距离小于或等于20cm,则调用reader()函数扫描标签。

当距离小于20 CM时,将调用void reader()函数,在此函数中,我们将扫描的卡数据与预定义的标签ID进行比较。如果标签ID与扫描的卡匹配,则读取该人的体温,并将该人的体温和姓名发送给WebServer。

在temp_read()函数中,以摄氏度为单位读取MLX90614传感器数据,并将其存储在‘ TempReading ’变量中。

网页的HTML代码

标签用于告诉web浏览器我们正在使用哪个版本的html来编写html代码。

在标签之间编写的代码将被浏览器读取。标签用于定义网页的标题、标题行和样式。中写入的数据是浏览器中选项卡的名称。标签用于给表格和标题行设置样式。

标签用于包含jQuery。jQuery是JavaScript库。标记中的getData函数用于从NodeMCU获取数据并更新数据表。

XMLHttpRequestobject用于从web服务器请求数据。所有浏览器都有一个内置的XMLHttpRequest对象,用于从服务器请求数据。使用XMLHttpRequest,我们可以在不重新加载页面的情况下更新网页,从服务器请求数据,从服务器接收数据,并可以向服务器发送数据。在这里,我们使用这个对象从NodeMCU获取该人的温度和姓名,并在不刷新网页的情况下更新数据表。

XMLHttpRequest对象的open和send方法用于向服务器发送请求。xhttp的语法。开放如下:

测试红外线温度计

准备好硬件和程序后,将程序上传到NodeMCU。现在打开波特率为9600的串行监视器,获得NodeMCU的IP地址。超声波传感器不断计算距离。当您与传感器之间的计算距离小于20厘米时,扫描您的卡,如果您的卡被授权,MLX传感器将读取您的温度。要检查网页上的数据,在web浏览器中输入您的IP地址,您的网页将如下所示:

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭