金牌会员
- 积分
- 1726
- 金钱
- 1726
- 注册时间
- 2016-2-14
- 在线时间
- 257 小时
|
本帖最后由 nnhong_qi 于 2023-11-12 17:07 编辑
失业在家中,无聊搞了点东西,家里有三台电动车,在2楼每天充电上下跑,就想搞个控制板控制充电器,远程就用家里的WIFI,不要安装烦人的APP直接网页远程,电脑手机都可以用了。淘宝看看安信可有ESP8266,ESP-32可用,也便宜十几块钱。
功能:
- 能实时监测3路电流。
- 能设置充电时间。
- 能设置电流小于设定值,就关闭。
- 能随时启动、关闭3路充电继电器。
- 支持多用户同时控制。
ESP8266最便宜有WIFI功能,但只有1路ADC,PASS掉!
ESP-32贵一点,但有多路ADC,WIFI,蓝牙功能,就用它了。
但是摸摸兜里几个钱,还是舍不得,找了找看看搞项目剩下的剩下的intoRobot flg板,也是ESP32核心板,不错不错。
开始:
第一天,网上下载了ARDUINO IDE版本18,在开发板管理-》搜索esp32下载开发板支持代码,里面有NODEMCU-32S和intoRobot flg支持。
用示例代码AdvancedWebServer,开始代码如下:
- 设定WIFI账户、密码。
- 创建ESP32的WEB服务器,给用户浏览器提交HTML
- 创建ESP32的SOCKET服务器,使用长连接,接收和发送数据、命令。
- 三路充电电流采样、滤波发送到浏览器,考虑充电电流变化慢,间隔3秒发送一次。
- 三路继电器状态发送到浏览器。
- 三路充电时间发送到浏览器,间隔1秒发送。
- 接收浏览器发送的控制命令。
- 发送的数据使用JSON格式,方便浏览器使用。
编译成功,只占了小小57%空间,后期可以增加摄像头功能,都没问题。
第二天,用韩国佬EditPlus3编写html文件,不好用啊不好用,EditPlus没提示,没自动完成,硬着头皮用,应该可以设置懒了。功能如下:
- 用webSocket长连接ESP32的SOCKET服务器,支持双向实时数据发送。.
- 使用HTML5的canvas画布标签,实时刷新三路电流波形模拟示波器,使用canvas可以实时刷新电流波形,不用刷新整个页面,保证页面的实时性。
- HTML页面多个DIV,CSS布局优化,JAVAscript解析JSON,处理接收ESP32数据和发送页面命令。
- 适配手机和电脑。
增加日记功能,记录时间和动作类型。
不断和ESP32板联调,实现所有功能,爽歪歪。运行一个晚上,一切正常。
第三天,打开AD6画了个电路图。
题外话:星期天早上起来,儿子在手机和电脑浏览器测试ESP32板各种功能,各种疯狂测试,后面使用flood ping数据洪水淹没了我这个小小的WEB服务器,WEB服务器当场嗝屁了。
结束:
完结散花[
eps32-web.zip
(3.98 MB, 下载次数: 1)
|
-
|