当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]ESPTimeCast是一个基于ESP8266/ESP32和MAX7219的wifi连接的LED矩阵时钟和气象站。它显示从OpenWeatherMap获取的当前时间、星期几和当地天气(温度/湿度/天气描述)。安装和配置完全通过内置的web界面进行管理。

ESPTimeCast是一个基于ESP8266/ESP32和MAX7219的wifi连接的LED矩阵时钟和气象站。它显示从OpenWeatherMap获取的当前时间、星期几和当地天气(温度/湿度/天气描述)。安装和配置完全通过内置的web界面进行管理。

3D打印盒

想给你的ESPTimeCast一个家吗?你可以3D打印一个定制的案例!一个时尚的版本(V2)的情况下刚刚发布!箱体前面板(3mm)可激光切割!

在这里买你的:

•打印

•Cults3D

媒体提到

ESPTimeCast已在

•Hackaday

•XDA开发者

特性

•LED矩阵显示器(8x32)由MAX7219供电,具有自定义字体支持

•简单的Web界面,所有配置(WiFi,天气,时区,显示持续时间,和更多)

•自动NTP同步与鲁棒状态反馈和重试

•从OpenWeatherMap获取天气(每5分钟,温度/湿度/描述)

•回退AP模式,便于首次设置或配置

•从IANA名称选择时区(后端集成DST)

•获取我的位置按钮,以获得您的大致纬度/长度。

•星期和天气描述以多种语言显示

•存储在LittleFS中的持久配置,带有备份/恢复系统

•状态动画WiFi连接,AP模式,时间同步。

高级设置面板:

•自定义主备NTP服务器输入

•显示星期几开关(默认为开启)

•显示闪烁冒号开关(默认为开启)

•显示日期开关(默认为关闭)

•24/12小时时钟模式切换(默认24小时)

•英制单位(°F)切换(默认为公制°C)

•显示湿度开关(显示温度之外的湿度)

•天气描述切换(显示:大雨、散云、雷暴等)

•翻转显示(180度)

•可调显示亮度

•调光时间安排

•倒计时功能(滚动/戏剧性)

•可选葡萄糖+趋势显示(nightscout兼容,通过ntpserver2设置)

•高级设置面板:自定义主/从NTP服务器输入显示星期切换(默认开启)显示闪烁冒号切换(默认开启)显示日期切换(默认关闭)24/12h时钟模式切换(24小时默认)英制单位(°F)切换(公制°C默认)显示湿度切换(显示湿度除了温度)天气描述切换(显示:大雨,散云,雷暴等)翻转显示(180度)可调显示亮度调光小时调度倒计时功能(滚动/戏剧性)可选葡萄糖+趋势显示(nightscout兼容,通过ntpserver2设置)

布线

电源转换从3.3V切换到5V显示

注:针在相同的位置,但要确保正确的声明在你的草图

•D1 Mini→MAX7219

•接地接地

•5V VCC

•D5 CLK

•D7 CS

•D8 DIN

提示:始终仔细检查VCC (5v), GND和DIN/CS/CLK是否与MAX7219模块的引脚顺序匹配-不同的模块有时会以不同的方式标记它们。有关其他Wemos板,请查看官方GitHub Repo

重要的硬件更新:所有Wemos板的引脚已更新为在同一位置焊接,检查您的板版本并相应地更新草图。在观察到过热问题和从Mini D1的3.3V引脚为MAX7219矩阵供电时的不稳定行为后,我们正式切换到通过5V USB导轨为显示器供电。

什么变化:

•之前:显示器VCC连接到ESP板的3.3V引脚上。

•现在:显示器VCC将连接到电路板的5V引脚(直接来自USB电源)。

为什么需要这种改变:

•MAX7219 LED矩阵设计用于5V工作。

•Mini D1上的板载3.3V稳压器(通常是AMS1117)在电流输出方面非常有限(最大~800mA,在实践中通常要少得多)。

高亮度矩阵模块-特别是绿色/黄色显示器-可以吸收足够的电流使稳压器过载,导致:

•过热

•电压降

•稳压器完全失效(一些用户报告损坏后只有2.4V输出)

•高亮度矩阵模块-特别是绿色/黄色显示-可以吸收足够的电流使稳压器过载,导致:过热电压下降完全稳压器故障(一些用户报告损坏后只有2.4V输出)

使用5V的好处:

•更高的亮度和更稳定的矩阵性能

•降低了ESP8266单板的热负荷

•避免对板载调节器造成长期损坏

•MAX7219与来自ESP的3.3V逻辑信号一起工作良好(不需要电平移位器)

Web UI与配置

内置的web界面提供完整的配置:

•WiFi设置(SSID和密码)

•天气设置(OpenWeatherMap API密钥,城市,国家,坐标)

•时区(如果找到TZ将自动填充)

•星期和天气描述语言

•显示时钟和天气的持续时间(毫秒)

•高级设置(见下文)

•首次设置/ AP模式

设备上电。如果WiFi失败,它会在AP模式下自动启动:

•名称:ESPTimeCast

•密码:12345678

•如果在浏览器中没有打开http://192.168.4.1或http://setup.esp,强制门户应该自动打开。

设备上电。当WiFi故障时,AP模式下自动启动:SSID:ESPTimeCast

•密码:12345678

如果在浏览器中没有打开http://192.168.4.1或http://setup.esp,强制门户应该自动打开。

设置你的WiFi和所有其他选项。

单击“保存设置”,设备保存配置,重新启动并连接。

设备在启动后显示其本地IP地址,以便您可以再次登录以进行设置更改

*外部链接和“获取我的位置”按钮需要互联网接入。当设备处于AP模式时,它们将无法工作-首先连接到Wi-Fi。

UI的例子:

高级设置

单击web UI中“高级设置”旁边的齿轮图标以显示额外的配置选项。

可用的高级设置:

•主NTP服务器:覆盖默认NTP服务器(例如pool.ntp.org)。

•备用NTP服务器:备用NTP服务器(例如time.nist.gov)

•星期几:以所需语言显示星期几

•闪烁冒号开关(默认为开启)

•显示日期(默认为关闭,持续时间与天气持续时间相同)

•24/12h时钟:在24小时和12小时时间格式之间切换(默认为24小时)

•英制单位(°F)切换(默认为公制°C)

•湿度:显示温度以外的湿度

•天气描述切换(显示天气描述在选定的语言* 3秒或滚动一次,如果描述太长)

•翻转显示:垂直/水平翻转显示

•亮度:Off - 0(暗)至15(亮)

•调光功能:开始时间,结束时间和所需的亮度选择

•倒计时功能,设置倒计时到您的收藏/下一个事件,2种模式:滚动/戏剧性!

*非英语字符转换为最接近的英语字母。*对于世界语、爱尔兰语和斯瓦希里语,不提供天气描述翻译。存在日语翻译,但由于设备不能显示所有的日语字符,因此在所有这些情况下都将使用英语。

提示:不要忘记按保存按钮来保留您的设置

配置笔记

•OpenWeatherMap API密钥:

•在这里开个帐

•在这里检查您的API密钥

•城市名称:如东京、伦敦等。

•国家代码:2字母代码(如JP、GB)

•邮政编码:在城市字段中输入邮政编码,在国家字段中输入美国(仅限美国)

•纬度和经度可以在城市字段(纬度)和国家字段(经度)中输入坐标。

•时区:从IANA区域中选择(例如,美国/纽约,自动处理DST)

开始

本指南将引导您设置环境并将ESPTimeCast项目上传到ESP8266或ESP32板。请仔细按照您的具体板类型的说明。

ESP8266设置

按照以下步骤准备用于ESP8266开发的Arduino IDE:

•安装ESP8266单板包:

•打开文件>偏好在Arduino IDE。

•将http://arduino.esp8266.com/stable/package_esp8266com_index.json添加到“附加董事会管理器url”。

•进入Tools > Board > Boards Manager....通过“esp8266社区”搜索“esp8266”,点击“安装”。

安装ESP8266单板包:在Arduino IDE中打开文件> Preferences。将http://arduino.esp8266.com/stable/package_esp8266com_index.json添加到“附加董事会管理器url”。进入Tools > Board > Boards Manager....通过“esp8266社区”搜索“esp8266”,点击“安装”。

选择您的开发板:

•转到Tools > Board并选择您的特定板,例如,Wemos D1 Mini(或您的ESP8266变体)。

•选择您的板:转到Tools > Board并选择您的特定板,例如,Wemos D1 Mini(或您的ESP8266变体)。

配置Flash大小:

•在Tools下,选择Flash大小为4MB FS:2MB OTA:~1019KB。这确保了草图和LittleFS数据有足够的空间。

•配置Flash大小:在“Tools”下选择“Flash Size”为“4MB FS:2MB OTA:~1019KB”。这确保了草图和LittleFS数据有足够的空间。

安装库:

•去素描>包括图书馆>管理图书馆…并安装以下内容:

•ArduinoJson由Benoit Blanchon编写

•MD_Parola由majicDesigns(这通常也会安装它的依赖:MD_MAX72xx)

•ESPAsyncTCP由ESP32Async实现

•ESPAsyncWebServer由ESP32Async

•安装库:转到Sketch >包括库>管理库…ArduinoJson由Benoit BlanchonMD_Parola由majicDesigns(这通常也会安装它的依赖:MD_MAX72xx)ESPAsyncTCP由ESP32AsyncESPAsyncWebServer由ESP32Async

ESP32设置

按照以下步骤为ESP32开发准备Arduino IDE:

安装ESP32单板包:

•进入Tools > Board > Boards Manager....用expressif Systems搜索esp32,然后点击“安装”。

•安装ESP32单板包:进入Tools > Board > Boards Manager....用expressif Systems搜索esp32,然后点击“安装”。

选择您的开发板:

•转到Tools > Board并选择您的特定板,例如,LOLIN S2 Mini(或您的ESP32变体)。

•选择您的板:转到Tools > Board并选择您的特定板,例如,LOLIN S2 Mini(或您的ESP32变体)。

配置分区方案:

•在Tools下,选择Partition Scheme“Default 4MB with spiffs”。这确保了草图和LittleFS数据有足够的空间。

•配置分区方案:在Tools下,选择分区方案“Default 4MB with spiffs”。这确保了草图和LittleFS数据有足够的空间。

上传代码和数据

一旦你的Arduino IDE设置为你的板(如上所述):

打开项目文件夹:

对于ESP8266:导航到并打开ESPTimceCast_ESP8266项目文件夹。在其中,您将找到主草图文件,通常名为ESPTimceCast_ESP8266.ino。打开这个。在Arduino IDE中。

对于ESP32:导航到并打开ESPTimceCast_ESP32项目文件夹。在其中,您将找到主草图文件,通常名为ESPTimceCast_ESP32.ino。打开这个。在Arduino IDE中。

打开项目文件夹:对于ESP8266:导航到并打开ESPTimceCast_ESP8266项目文件夹。在其中,您将找到主草图文件,通常名为ESPTimceCast_ESP8266.ino。打开这个。在Arduino IDE中。对于ESP32:导航到并打开ESPTimceCast_ESP32项目文件夹。在其中,您将找到主草图文件,通常名为ESPTimceCast_ESP32.ino。打开这个。在Arduino IDE中。

上传草图:

打开主草图文件后,点击Arduino IDE工具栏中的“上传”按钮(右箭头图标)。这将编译整个项目并将其上传到您的板。

上传草图:打开主草图文件后,点击Arduino IDE工具栏中的“上传”按钮(右箭头图标)。这将编译整个项目并将其上传到您的板。

上传/数据文件夹(LittleFS):

这个项目使用LittleFS来存储web界面文件和其他资产。你需要LittleFS Uploader插件。

安装LittleFS Uploader Plugin

上传前,请确保Serial Monitor已关闭。

打开命令面板(Windows上是Ctrl+Shift+P, macOS上是Cmd+Shift+P)。

搜索并运行:Upload Little FS to Pico/ESP8266/ESP32(确切的命令名称可能会有所不同)。

对于ESP32很重要:如果上传失败,您可能需要手动将ESP32置于“下载模式”。按住Boot键(通常标记为‘ Boot ’或‘IO0’或‘IO9’),短暂按下并释放RST键,然后释放Boot键。

上传/数据文件夹(LittleFS):该项目使用LittleFS存储web界面文件和其他资产。你需要LittleFS Uploader插件。安装LittleFS Uploader插件上传之前,请确保Serial Monitor已关闭。打开命令面板(Windows上是Ctrl+Shift+P, macOS上是Cmd+Shift+P)。搜索并运行:Upload Little FS to Pico/ESP8266/ESP32(确切的命令名称可能会有所不同)。对于ESP32很重要:如果上传失败,您可能需要手动将ESP32置于“下载模式”。按住Boot键(通常标记为‘ Boot ’或‘IO0’或‘IO9’),短暂按下并释放RST键,然后释放Boot键。

显示的行为

ESPTimeCast自动切换两种显示模式:时钟和天气。如果“显示天气描述”启用了第三种模式(描述),将显示持续时间为3秒,如果描述太长而无法显示,则描述将从右向左滚动一次。

你在LED矩阵上看到的内容取决于设备是否成功获取了当前时间(通过NTP)和天气(通过OpenWeatherMap)。下表总结了每种场景下显示的内容:

它是如何工作的:

•显示自动在时钟和天气模式之间交替(每种模式的持续时间是可配置的)。

•如果“显示天气描述”被启用,第三模式描述将在天气显示后显示,持续时间为3秒。

•在时钟模式下,如果NTP时间可用,您将看到当前时间加上一个独特的星期图标。如果NTP不可用,您将看到!国家结核控制规划。

•在天气模式下,如果天气可用,你会看到温度(如23ºC)。如果没有天气,但有时间,它就会回到显示时钟。如果两者都不可用,您将看到!TEMP。

•所有状态/错误消息(!国家结核控制规划,!TEMP)是显示在显示器上的大图标。

本文编译自hackster.io

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

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 隧道灯 驱动电源
关闭