站内搜索
发作品签到
标准版

USB WiFi开关 基于ESP8266

工程标签

5.0k
0
0
26

简介

WiFi控制的USB开关,主控ESP-01S模组(ESP8266芯片),含配套安卓上位机,可遥控、定时或周期开关

简介:WiFi控制的USB开关,主控ESP-01S模组(ESP8266芯片),含配套安卓上位机,可遥控、定时或周期开关

开源协议

GPL 3.0

创建时间:2023-08-14 15:59:05更新时间:2023-10-07 13:47:04

描述

基本信息

本项目是基于ESP-01S模组的WiFi开关,使用手机端进行控制操作。

考虑到市面上有许多成熟的WiFi开关,因此本项目主要起方案展示和技术分享之用,可作为ESP8266的学习项目,

如果只是需要稳定好用的WiFi开关,还是选择各种上市产品会更加适合。

本项目的基本功能我个人使用近两个月未出现问题,但还是不能保证它绝对可靠,若要用于重要设备的控制请慎重,本人不对此负责

硬件

该无线开关主要由USB公口、USB母口、2×4pin母座、电源电路、控制电路组成。

USB公口为输入端,USB母口为输出端,2×4pin母座用来连接ESP-01S模组(务必注意模组方向应朝着USB母口一侧 )。

电源使用662K.芯片,将输入5V转为3.3V。

使用PMOS控制USB母口的电源引脚是否与5V接通,PMOS栅极连接至模组的IO2,并由10k电阻上拉到5V,IO2采用开漏输出

USB公口与USB母口的DP、DM线是保持直通的。

由于ESP8266刚上电时IO2会在极短时间内为低电平,因此刚上电时PMOS会有一个瞬间导通,比如假如用来控制灯的话就表现为上电闪一下,

若在意此问题,则需要先让该WiFi开关上电,然后再接入后级设备。

将控制5V线的PMOS换为控制GND线的NMOS能避开这一问题,但这会导致地阻抗增大,可能引起其他问题,因此权衡之下还是选择了PMOS。

ESP8266程序

使用Arduino环境开发。烧录目前也直接使用Arduino进行,没有导出hex或bin固件,目前只提供代码(主要我自己也都是直接用Arduino编译下载)。

烧录需要配合ESP-01S的串口下载器(卖ESP-01S模组的有时同时也卖下载器),或者自己搭建下载电路。

可通过串口指令配置其要连接的WiFi名称和密码。

在局域网通过UDP协议接收上位机的指令,进行开关控制或修改设置等。

通过HTTP访问苏宁的授时网站,获取网络时间,上电后开始获取,之后每十分钟获取一次,两次获取之间则结合自身定时器计算当前时间。

除了通过控制IO2来控制开关外,该程序还可以读取一个IO的电平并回传回来(默认还是IO2,即可以读取当前开关状态)。

事实上,ESP8266程序与该WiFi开关的硬件并非绑定,可通过修改程序参数的方式很容易地将该程序应用于其他基于ESP8266的硬件上,

比如通过修改参数来改变 输入引脚  和 控制引脚,改变 输入模式  和 输出模式,改变 控制输出的极性 等。

此外,虽然程序默认只操作IO2,但由于将相关的代码以结构体封装起来,故可以很容易在一个ESP8266上定义多个设备,对多个引脚进行控制。

安卓上位机软件

使用Qt For Android开发。如果想二次开发,需要配置Qt For Android环境,该过程较为繁琐,可自行在网上搜索教程。

界面大小是按1080×2340的手机屏幕做的(软件界面大小1080*2110),对其他分辨率的屏幕做了一些缩放适应,但是否能完全正常显示不保证。

当手机与WiFi开关处于同一局域网内时,可通过UDP协议对开关进行控制或修改设置,

包括命令开/关、设置/读取定时开关时间、设置/读取开关的ID和描述字符串等,支持最多10个定时时间,

因此除了 手动开关,它还可以支持 定时开关(如一点钟开两点钟关)或 周期开关(如开1分钟关2分钟,如此循环)。

默认使用局域网的UDP广播,最多支持99个设备(可设置ID为1~99,0为所有设备都会响应的通用ID)。

由于本项目主要是个人学习和使用,因此未考虑加密编码等,而是直接使用ASCII形式的明文通信,因此也可以直接用一般的UDP上位机操作。

未来计划支持MQTT通信,但由于目前在Qt For Android环境的MQTT库编译遇到问题,因此暂未实现,欢迎做过的朋友分享经验。

其他

B站展示视频链接:https://www.bilibili.com/video/BV18w411r7gk

更加详细的信息,包括操作方法、通信协议等,请参考 “WiFiCtrl-说明_V1.0.pdf”。

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
PCB_V1.0.zip
76
2
QT_V1.0.zip
338
3
Arduino_V1.0.zip
208
4
WiFiCtrl-说明_V1.0.pdf
170
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航