亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于ESP8266的Tobers时间开关

发布时间:2021-05-09
分享到:

基于ESP8266的Tobers时间开关

发布时间:2021-05-09
分享到:

Tobers时间开关是一款多功能的时间开关软件,适用于ESP8266设备,基于fiposk.de除了“经典”的时间开关功能,它还提供了许多不同的日出/日落和黄昏模式。倒计时定时器也可用。使用内置的主/客户端功能,可以“一键”控制多个设备。如果有多个设备在运行,并且都使用相同的切换时间方案,这将非常有用。

Tobers 时间开关可以通过一个舒适的网络界面轻松地进行广泛配置。

所需零件:

ESP8266(可选:继电器模块、开关按钮、led、电阻),或者是基于ESP8266 / ESP8285的设备(至少有1 MB的闪存)。

所需软件:

开发环境:在Win 10上用ARDUINO V 1.8.13编译

原理图(用EasyEDA制成):

步骤:

  • 安装所需的主板和库
  • 访问Github知识库,并从发布网站下载压缩文件-时间开关。
  • 将文件解压缩到Arduino Sketch Directory中。
  • 分别打开timeswitch_ .x_EN.ino文件。

注:

1、在编译前,需在Arduino中选择合适的板,并在“ Flash Size”设置中将FS的大小设置为至少192k

2、必须在代码中进行一些设置。所有自定义变量都放在代码开头的//// USER SETTINGS ////部分中。

  • 可选:#define DEBUG,用于通过串行监视器调试消息(57600)
  • 根据您的设置/设备设置PIN定义和“活动状态”

所有其他设置将在以后的首次设置中进行,或者可以通过Web界面进行设置。

3、编译代码并将其上传到ESP。完成这些步骤后,使用ESP8266 Little FS Data Upload上传“ data”文件夹中的文件。

启动:

设备第一次启动时,不会连接WiFi,这是因为没有在代码中定义任何WiFi凭据。取而代之的是,设备启动一个接入点(“ Tobers_Timeswitch”或“ Tobers_Zeitschaltuhr”)。连接到该AP,然后在配置门户中输入您的WiFi凭据。成功连接到WiFi后,ESP会将WiFi凭据永久写入其闪存中。

建议使用静态IP-该地址(对于主/客户端模式是必需的),可不必查询路由器具有哪个IP地址,更容易找到您的设备并进行连接(必须根据路由器的设置选择静态IP!)

[注意:可以通过“退出”跳过配置门户。在这种情况下,配置门户关闭,ESP仅用作AP。但是这种没有Internet连接和时间服务器调用的操作模式没有任何意义。]

用户指南:

使用浏览器调用设备的IP地址,系统将要求输入凭据,即用户“ time ”和密码“ switch ”。进入站点“ index.html”,这是时间切换功能的主要站点:

  • 设置切换时间和有效日期 ->设置在点击“保存时间”按钮后生效
  • 单击“打开/关闭”一次启用/禁用 ->设置立即生效
  • 单击按钮“停用/激活自动”激活/停用所有切换时间 ->设置立即生效
  • 手动打开/关闭 ->设置立即生效

请注意,只有单击“保存时间”,所有设置才会保存到闪存中的文件中,并且可以在设备重启后恢复。

进阶功能(advanced.html):

  • 为某些切换时间指定黄昏或日出/日落时间
  • 选择日出/日落或黄昏作为切换时间的参考(可通过配置站点更改黄昏类型)

将暮光模式分配给特定的切换时间后,该时间将变为棕色,并在主时间切换站点上的太阳符号下方,也就是说只要取消分配暮光模式,就无法手动更改此时间。

  • 启用/禁用倒数计时器(当倒数计时器处于活动状态时,所有切换时间均被禁用)

配置(config.html):

  • 设置时间开关的名称
  • 设定切换次数
  • 设置NTP服务器
  • 设置NTP服务器调用的间隔
  • 启用/禁用html网站的身份验证并设置凭据
  • 设置您所在位置的经度/纬度并配置暮光类型(有关不同类型的暮光的信息,建议您查看https://www.timeanddate.com/sun/ )
  • 重启设备
  • 清除WiFi凭证
  • 访问控制多个时间开关的主功能
  • 通过Web界面访问无线更新(OTA)
  • 访问文件管理
  • 访问Log-Site记录最近的十个NTP服务器调用

主功能:

1、客户端管理(master-client-admin.html):

  • 添加或删除客户端的IP地址(必须添加主设备的IP地址)
  • 客户端列表将发送给所有客户端-> 主函数也可以在客户端设备上调用
  • 设置主设备和所有客户端设备的切换次数

2、飞行员座舱(master-cascade . html):

  • 检查连接和状态的所有客户端概述
  • 打开/关闭某些设备
  • 激活/停用某些设备的所有开关时间
  • 通过点击IP地址访问某些设备

3、主主开关(master-main-switch.html):

  • 开关时间的配置所有设备

4、掌握高级功能(master-advanced.html)

  • 所有设备的高级设置->通过主设备设置切换次数也是根据主开关设置切换次数的!
  • 虽然在javascript中实现了一个检查,但建议验证客户端是否正确接受了设置。

5、硬件功能

  • 开关按钮:短按->开关继电器手动打开/关闭;长按->重启设备(按住直到状态指示灯亮起)
  • 状态指示灯:启动时亮起,当网络连接和时间服务器呼叫成功时熄灭。

更新(OTA):

可以通过Web界面更新软件。

如果ESP仅具有1 MB闪存,则无法直接完成OTA(程序的大小、LittleFS文件系统上的数据,没有足够的空间用于OTA)。

须采取中间步骤,并刷新程序随附的minimum_ota(该草图较小,只可用于建立网络联机并启用更新)。请执行以下步骤:

1.在Arduino IDE中打开文件“ minmal_ota.ino”。

2.确保已选择正确的电路板设置,并根据时间开关草图设置进行了引脚定义。

3.通过“Sketch>Export Compile Binary”编译minmal_ota via。

4.通过Web界面-> ota.html上载result.bin文件(注意:这个最小的草图只能用已知的凭据连接到Wifi并启用更新的“ timeswitch.bin”的OTA)。

5.设备重新启动并连接到Wifi(状态已关闭)后,只需刷新ota.html并使用新的“ timeswitch.bin”文件开始更新。

如果您在电路板管理器中选择了正确的设置,请务必在任何OTA之前仔细检查!下载不正确的文件可能会使设备不准确,这种情况下,只能通过通过串行接口重新上传程序来解除对文件的限制。

说明:

该代码已为ESP8266编写。该芯片上有大量的智能设备-其中一些可通过自定义固件轻松刷新。可以在网上解释中找到许多提示和教程,以了解如何进行此刷新过程。这些设备中的大多数都在电源电压下工作,因此,如果您不具备电气方面的专业知识,则对这些设备进行改装可能会危及生命。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论