当前位置:首页 > 物联网 > IoT设计分享
[导读]闹钟已经使用了几十年,但自从手机进入市场后,人们更喜欢在手机上设置闹钟。这个闹钟项目一直很受电子爱好者的欢迎。今天,我们还使用NodeMCU构建物联网闹钟,您可以在没有任何互联网连接的情况下使用网页设置闹钟时间。

闹钟已经使用了几十年,但自从手机进入市场后,人们更喜欢在手机上设置闹钟。这个闹钟项目一直很受电子爱好者的欢迎。今天,我们还使用NodeMCU构建物联网闹钟,您可以在没有任何互联网连接的情况下使用网页设置闹钟时间。

这可以使用俘虏门户来完成。强制门户是向新连接Wi-Fi网络的用户显示的网页。我们可以使用NodeMCU创建一个强制门户。NodeMCU有一个内置的ESP8266 Wi-Fi屏蔽,这个Wi-Fi屏蔽可以用作Wi-Fi接入点(AP),并提供免费的Wi-Fi网络,但它没有互联网接入。当你连接到这个WiFI时它会重定向到你的闹钟网页。

在这个基于NodeMCU的物联网闹钟项目中,使用了四个主要组件- DS3231 RTC模块,NodeMCU ESP8266, 16x2 LCD模块和LCD I2C模块。这里,NodeMCU用于从DS3231 RTC读取时间,并将其显示在16x2 LCD显示屏上。蜂鸣器用于告警指示,当告警激活时蜂鸣器发出蜂鸣声。

组件的要求

•NodeMCU ESP8266

•DS3231 RTC模块

•16×2液晶

•LCD I2C模块

•蜂鸣器

物联网闹钟电路图

物联网闹钟的完整电路图如下所示。这很简单,因为我们只需要将一个RTC模块和一个LCD与我们的ESP NodeMCU板连接起来。

DS3231 RTC模块和LCD I2C模块的Vcc和GND引脚与NodeMCU的Vin和GND引脚相连。而DS3231和I2C模块的SCL和SDA引脚分别与NodeMCU的D1和D2引脚相连。蜂鸣器连接在NodeMCU的D8引脚上,用于告警。

DS3231 RTC模块

DS3231 RTC (Real Time Clock)模块,顾名思义,是一个时钟模块。DS3231是一个六脚模块,使用I2C接口。该模块有电池连接,使模块在没有外部电源的情况下运行,以跟踪时间和日期。

RTC模块提供秒、分、小时、日、月、年等数据。DS3231工作在24小时和12小时格式。它有两个闹钟和温度传感器。在六个引脚中,该模块的两个引脚不是强制使用的。要使用此模块,您需要做的就是将模块的SDA和SCL引脚连接到控制器的SDA和SCL引脚。

代码的解释

这个物联网闹钟的完整代码在页面底部,代码也可以从这里下载。为了更好地理解,我在这里解释代码。

此代码需要DNSServer.h, RtcDS3231.h, Wire.h和LiquidCrystal_I2C.h库。你可从下列连结下载这些资料库:

•RtcDS3231.h

•Wire.h

•LiquidCrystal_I2C.h

下载这些库后,将它们添加到Arduino IDE中,并将所有库包含在代码中。

我们还需要为网页界面设计一个HTML页面。这里所有的HTML代码都是在一个名为“style_details”的字符串中分配的。这部分代码用于设置页面的背景颜色、按钮样式、文本样式等。

‘ home_screen ’字符串用于显示网页标题和输入闹钟时间的选项。当提交报警时间时,它会将用户重定向到下一个屏幕,即confirmation_screen。

在void setup()中,我们将以05:45的格式从用户获取报警数据,其中05为小时,45为分钟。此数据将保存在名为‘ new_time ’的字符串中。获得数据后,我们必须将其分成小时和分钟的形式,以便与当前时间进行比较。为了分割数据,我们使用了‘ mystring ’。substring(from, to) ‘函数,其中’ mystring '是一个String类型的变量,包含要分割的字符串。将字符串拆分为分钟和小时字符串之后,现在是时候将字符串转换为整数了。对于“mystring. toint()”函数,其中‘ mystring ’是您想要转换为整数的字符串。

在void alarm()循环中,我们将从RTC模块获取时间数据并将其打印在LCD上。然后,将当前时间与警报时间进行比较,如果当前时间与警报时间匹配,则启动蜂鸣器。

编程NodeMCU

现在是时候将代码上传到NodeMCU,将NodeMCU与笔记本电脑连接并正确选择板和端口,然后单击upload按钮。如果您不知道如何使用Arduino IDE对NodeMCU进行编程。您可以遵循我们之前的教程。

上传代码后,点击笔记本电脑wifi图标,连接“ESP8266 DNS Server”。

当它连接到WiFi后,会打开一个网页,或者你可以通过搜索“alarmclock.com”手动打开网页。现在您可以通过网页输入闹钟时间,并点击提交按钮。

进入闹钟后,它会带你到下一个屏幕,你的闹钟时间将被打印在LCD显示屏上。现在,当当前时间与输入的报警时间匹配时,蜂鸣器将开始鸣叫一分钟。

这就是不使用Wi-Fi路由器就可以轻松制作物联网闹钟的方法。

本文编译自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 隧道灯 驱动电源
关闭