# 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/15V7FfWHhwIFyYaKDJv0Rig) 提取码: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 |