|
|
|
# WiFiLightController
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
基于NodeMcu开发的ESP8266物联网LED灯控制设备,接入SSD1306作为配网以及服务显示功能,后续会增加更多功能
|
|
|
|
|
|
|
|
# 1.准备工作🧐
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## 1.1设备清单
|
|
|
|
|
|
|
|
`数据线等烧录用不在此列`
|
|
|
|
|
|
|
|
| 设备名称 | 数量 | 设备型号 |
|
|
|
|
| ----------- | ------ | --------------------- |
|
|
|
|
| ESP8266 | 1 | ESP-12F,其他ESP8266可用型号 |
|
|
|
|
| led灯珠 | 4-5个 | 3v3最低耐压 |
|
|
|
|
| 电线 | 12-16条 | 常用杜邦线或者其他相似参数 |
|
|
|
|
| I2C协议OLED屏幕 | 1 | SSD1306_12864_noname |
|
|
|
|
| USB供电(可选) | 1 | 3.3v引脚供电&5VUSB供电 |
|
|
|
|
|
|
|
|
## 1.2固件烧录
|
|
|
|
|
|
|
|
先从该连接,下载 Flash下载工具(flash_download_tool_3.9.5_0.zip),如果有新版本可能名称会有所不同。
|
|
|
|
|
|
|
|
[工具 | 乐鑫科技 ](https://www.espressif.com.cn/zh-hans/support/download/other-tools)
|
|
|
|
|
|
|
|
下载完之后,将工程下的flash_download_tool_3.9.5.exe打开
|
|
|
|
![](DocRes\1_1.jpg)
|
|
|
|
|
|
|
|
选择ESP8266
|
|
|
|
|
|
|
|
![](DocRes\1_2.jpg)
|
|
|
|
|
|
|
|
进入如下界面,点击第一项,选择工程下 Firmware里对应的固件文件,由于程序使用的固件版本为float,但未曾写过使用float类型的程序。int没有测试过,保险起见可以选择float版本,右边填0。选择如下所示,串口检测到后点击对应的串口进行烧录即可。
|
|
|
|
|
|
|
|
![](DocRes/1_0.jpg)
|
|
|
|
|
|
|
|
烧录的波特率默认为115200,运行以及开发用的波特率同理。
|
|
|
|
|
|
|
|
## 1.3程序烧录
|
|
|
|
|
|
|
|
首先去github上下载ESPlorer,右侧release可以下载最新的发布版本,可能需要翻墙。
|
|
|
|
|
|
|
|
[ESPlorer](https://github.com/4refr0nt/ESPlorer)
|
|
|
|
|
|
|
|
下载完成后运行ESPlorer.bat,即可打开该开发工具,然后打开工程的所有lua文件并保存到ESP8266中。目前还处于手动配置网络的阶段,后续会继续优化该配网功能。
|
|
|
|
|
|
|
|
拷贝 **Src** 文件夹下的所有脚本文件到ESP8266中。
|
|
|
|
|
|
|
|
![](DocRes/InstallSoft.png)
|
|
|
|
|
|
|
|
# 2.接线说明🔌
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
NodeMCU开发板引脚图
|
|
|
|
|
|
|
|
![](DocRes/NodeMcu_Pinout.webp)
|
|
|
|
|
|
|
|
## 2.1 GPIO-LED接线说明
|
|
|
|
|
|
|
|
GPIO控制D0-D4,一共五路GPIO供电开关。
|
|
|
|
|
|
|
|
| 接线方式 | LED引脚 | ESP8266引脚 |
|
|
|
|
| ---- | ----- | --------- |
|
|
|
|
| 直连 | 负极 | GND |
|
|
|
|
| 直连 | 正极 | D0 |
|
|
|
|
| 直连 | 正极 | D1 |
|
|
|
|
| 直连 | 正极 | D2 |
|
|
|
|
| 直连 | 正极 | D3 |
|
|
|
|
| 直连 | 正极 | D4 |
|
|
|
|
|
|
|
|
## 2.2 SSD1306-12864-I2C接线说明
|
|
|
|
|
|
|
|
oled显示屏用于显示配网参数以及连接状态,指示灯状态等信息,方便更快找到设备故障原因。
|
|
|
|
|
|
|
|
| 接线方式 | SSD1306-12864-I2C引脚 | ESP8266引脚 |
|
|
|
|
| ---- | ------------------- | --------- |
|
|
|
|
| 直连 | GND | GND |
|
|
|
|
| 直连 | VCC | 3v3 |
|
|
|
|
| 直连 | SCL | D6 |
|
|
|
|
| 直连 | SDA | D5 |
|
|
|
|
|
|
|
|
`如有其他设备需要接线后续补充`
|
|
|
|
|
|
|
|
# 3.串口软件网络设置⚙
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
串口软件下载地址[点击下载](https://pan.baidu.com/s/1Q0d577wfCtlbU5S4Hu6qlQ)
|
|
|
|
提取码:NODE
|
|
|
|
|
|
|
|
打开串口软件,NodeMCUSerialTools文件夹下面的NetTools.exe。
|
|
|
|
|
|
|
|
以下操作开始之前,请先按照第一步烧录完固件与软件。
|
|
|
|
|
|
|
|
ESP8266+数据线与PC进行链接。
|
|
|
|
|
|
|
|
或者使用ESP8266+CH340等串口连接设备与PC进行链接
|
|
|
|
|
|
|
|
(TX-RX,RX-TX)
|
|
|
|
|
|
|
|
![](DocRes/1_3.jpg)
|
|
|
|
|
|
|
|
## 3.1选择串口
|
|
|
|
|
|
|
|
如果是连接之前打开,可以先检查右下角COM串口列表,连接设备后点击刷新,可以看到新的串口设备在列表中新增。
|
|
|
|
|
|
|
|
点击右下角以刷新或者是切换串口设备。
|
|
|
|
|
|
|
|
## 3.2设置WiFi连接信息
|
|
|
|
|
|
|
|
选项说明
|
|
|
|
|
|
|
|
| 名称 | 含义 |
|
|
|
|
| ------ | --------------- |
|
|
|
|
| SSID名称 | 手机扫描热点显示的WiFi名称 |
|
|
|
|
| 密码 | 该热点的WiFi密码 |
|
|
|
|
|
|
|
|
写入配网信息
|
|
|
|
|
|
|
|
等待2-3秒后,软件会通过串口写入WiFi连接的信息。
|
|
|
|
|
|
|
|
如果是首次配网,会自动连接网络。
|
|
|
|
|
|
|
|
如果是第二次配网,需要重启并验证网络。
|
|
|
|
|
|
|
|
## 3.3设置设备的IP地址
|
|
|
|
|
|
|
|
![](DocRes/1_4.png)
|
|
|
|
|
|
|
|
选项说明
|
|
|
|
|
|
|
|
| 名称 | 含义 |
|
|
|
|
| ---- | --------------------------------------------------------------------------------------- |
|
|
|
|
| IP地址 | 跟据平板的网段ip地址,配置好对应网段的地址(如:平板IP地址:192.168.6.15,则该地址只能配置为192.168.6.x,x为2-255之间除了15的任意一个数字) |
|
|
|
|
| 子网掩码 | 255.255.255.0(默认值,一般不需要修改) |
|
|
|
|
| 默认网关 | 如果平板网段地址为192.168.6.15,一般情况下网关为192.168.6.1,可以用电脑的cmd->ipconfig来查看相应的网关地址。 |
|
|
|
|
|
|
|
|
# 4.通讯协议📡
|
|
|
|
|
|
|
|
该设备使用UDP作为通讯协议,UDP地址为上面配置的ip地址,端口号默认为5000。
|
|
|
|
|
|
|
|
## 4.1 打开灯光(GPIO高电平)
|
|
|
|
|
|
|
|
单独开启
|
|
|
|
|
|
|
|
| | 协议内容 |
|
|
|
|
| ----- | ---------- |
|
|
|
|
| 打开1号灯 | Light-1-On |
|
|
|
|
| 打开2号灯 | Light-2-On |
|
|
|
|
| 打开3号灯 | Light-3-On |
|
|
|
|
| 打开4号灯 | Light-4-On |
|
|
|
|
| 打开0号灯 | Light-0-On |
|
|
|
|
|
|
|
|
一键开启
|
|
|
|
|
|
|
|
| | 协议内容 |
|
|
|
|
| ------ | ----------- |
|
|
|
|
| 打开所有灯光 | Light-99-On |
|
|
|
|
|
|
|
|
## 4.2 关闭灯光(GPIO低电平)
|
|
|
|
|
|
|
|
单独关闭
|
|
|
|
|
|
|
|
| | 协议内容 |
|
|
|
|
| ----- | ----------- |
|
|
|
|
| 关闭1号灯 | Light-1-Off |
|
|
|
|
| 关闭2号灯 | Light-2-Off |
|
|
|
|
| 关闭3号灯 | Light-3-Off |
|
|
|
|
| 关闭4号灯 | Light-4-Off |
|
|
|
|
| 关闭0号灯 | Light-0-Off |
|
|
|
|
|
|
|
|
一键关闭
|
|
|
|
|
|
|
|
| | 协议内容 |
|
|
|
|
| ------ | ------------ |
|
|
|
|
| 关闭所有灯光 | Light-99-Off |
|
|
|
|
|
|
|
|
## 4.3 自动模式&手动模式
|
|
|
|
|
|
|
|
程序开灯后,经过1s后会自动关灯,这个模式称为自动模式,默认为自动模式,通过指令可以修改设备使之成为手动模式。
|
|
|
|
|
|
|
|
手动模式下,开启灯光不会自动关闭。
|
|
|
|
|
|
|
|
| | 协议内容 |
|
|
|
|
| ---- | ------------ |
|
|
|
|
| 自动模式 | Light-10-On |
|
|
|
|
| 手动模式 | Light-10-Off |
|