# 【流光溢彩】物联网入门 - ESP8266 + WS2812B 制作流光溢彩灯带 ## 一、硬件准备 ![硬件准备](https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/master/resources/images/hardware/led/00.png) - ESP8266 模块 x1 - WS2812B 灯带(60/米,根据显示器四周长度买即可) x1 - 杜邦线 若干 - DC 电源 x1 ## 二、软件准备 ### 1. ESP8266 串口驱动 一般购买详情页都会有写,没有就找商家要一个。 > 一般是 CH340 或者 CP2102,我买的是 CP2102 ![esp8266商品介绍页](https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/master/resources/images/hardware/led/01.png) ### 2. WLED 固件 固件开源地址:https://github.com/Aircoookie/WLED/releases > 下载 ESP8266.bin 结尾的文件 我这里下载的是:WLED_0.14.0-b1_ESP8266.bin ### 3. ESP8266 烧录工具 https://github.com/nodemcu/nodemcu-flasher/tree/master/Win64/Release ### 4. Lightpack 软件 https://github.com/psieg/Lightpack/releases ## 三、烧录固件 - 安装串口驱动 首先安装 ESP8266 串口驱动,这样 ESP8266 连接电脑才能识别出来。 - ESP8266 连接电脑 把 ESP8266 模块用数据线连接到电脑。 - 开始烧录 打开烧录工具 ESP8266Flasher.exe ![烧录软件](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/02.png) 点击上方 Config 一栏,并点击第一行的小齿轮图标选择刚才下载的 WLED 固件:WLED_0.14.0-b1_ESP8266.bin ![选择固件](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/03.png) 然后点击上方 Advanced 一栏,选择波特率为 115200 ![选择波特率](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/04.png) 回到 Operation 一栏,选择 ESP8266 所在的端口 > 端口号可通过设备管理器 - 端口查看,如果找不到换成 USB2 接口 ![设备管理器端口号](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/05.png) 点击 Flash 按钮,然后按下 ESP8266 上的 Flash 按建,此时应该可以看到 ESP8266 的 MAC 地址 ![开始烧录](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/06.png) 等待进度条完成 ![烧录完成](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/07.png) 烧录完成后,关闭软件,并从电脑拔掉 ESP8266 然后插到准备的电源上 ## 四、测试灯带 把 WS2812B 灯带连接到 ESP8266 上 ![烧录完成](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/08.png) > 第一版 WS2812B 最终效果感觉不是很亮,后来又买了 WS2815 的灯带,这里把接线接口都列一下 | | ESP8266 | WS2812B | WS2815 | DC 电源 | | --------- | --------- | ------------ | -------------- | ----- | | 电源正极(红色线) | VIN(提供电压) | VCC(5V) | VCC(12V) | 正极 | | 电源负极(白色线) | GND(接地) | G(GND) | G(GND) | 负极 | | 数据(绿色线) | D4(数据传输) | Di/Din(数据接收) | Di/Din(数据接收) | | | 数据(蓝色线) | | | B0(备用数据接收,可不接) | | 此时灯带前 30 颗灯会亮,如果不会亮,则需要重新烧录。 ![配置 WiFi](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/09.png) ## 五、配置固件 打开手机 WiFi 搜索并连接到一个名叫 WLED-AP 的接入点 > 密码为:wled1234 连接成功后,如果手机没有自动打开配置页面,就用浏览器打开:http://4.3.2.1 ![配置固件](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/10.jpg) 点击页面上的 WIFI SETTINGS 进行配置 ![配置 WiFi](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/11.jpg) 在下面第一栏输入你家 WiFi 的名称,第二栏输入你家 WiFi 的密码,最后点击上方的 Save&Connect 保存配置。 ## 六、配置灯带 去路由管理页面查看 WLED 的地址,并在浏览器输入该地址 > 我这里灯带 ip 为:192.168.124.23 ![配置灯带](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/12.png) 在此页面随便点一个颜色看看灯带的颜色是否会跟着变化。 ![配置灯带](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/13.png) 点击页面右上角的 Config 来配置灯带。 ![配置灯带数量](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/14.png) 选择 LED Preferences 并在 LED count/length 里填入你的灯带的灯珠数量 > 我的是 114 点击 Save 保存,此时灯带的灯珠应该会全部点亮。 ## 七、配置 Lightpack 软件 安装并打开 Lightpack 软件。 ![选择设置](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/15.webp) ![配置灯带数量](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/16.webp) Address 填你 WLED 的 IP 地址,其他默认 ![填写灯带 IP](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/17.webp) 在此页面填入你的灯珠的数量,并把弹出的方框用鼠标拖动到对应的灯珠位置并调整大小,点第几个方框灯带上对应的第几颗灯珠就会亮,直到把所有方框全部拖到对应位置。 ![填写灯珠数量](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/18.webp) 调整完成后点击 Next 进入下一步 在这个页面是纠正灯珠偏色,把灯珠的颜色调整成跟你的显示器现在肉眼看到的白色相差不大的白色 ![调整白平衡](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/19.webp) 调整完成后点击 Finish,到此,你的流光溢彩就做完成了。 ![最终效果](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/20.jpg) ## 八、增加供电 如果灯珠超过 100 颗,供电不要直接通过 ESP8266 自带的 MicroUSB 供电,否则会烧坏模块的供电电路,尽量使用 5V/6A 电源,所以我这里买了一个 5V/6A 的 DC 电源。 - 电源计算 灯带电压:5V 灯珠功率:0.25W / 颗 总功率:0.25 x 114 = 28.5W 电源功率:5V x 6A = 30W ## 九、ESP8266 恢复出厂设置 如果烧录固件失败,重新烧录之前最好恢复出厂设置 ![ESP8266 恢复出厂设置](https://raw.githubusercontent.com/jeanboydev/android-readthefuckingsourcecode/master/resources/images/hardware/led/21.png) 先安装 python,装好之后使用 pip 安装 esptool > $ pip install esptool 进入 Scripts 目录,根据自己的 python 安装位置找下 > $ cd C:\Python27\Scripts 打开设备管理器,打开端口,连上你的 esp8266,记住新增的端口是 com 几,我的是 com3 执行下面命令恢复出厂设置 > $ ./esptool.py.exe --port COM3 erase_flash 注意 : esptool.py.exe 可能叫 esptool.exe 具体什么名字在 Scripts 目录下找一找 ## 十、参考资料 - 使用ESP8266+ws2812b制作无线流光溢彩:https://www.bilibili.com/read/cv9670872 - 如何让显示器的色彩溢出来:https://orxing.top/post/6d6f2714.html - 通过Prismatik灯控软件实现完美屏光互动:http://g.nga.cn/read.php?tid=35737812&page=1&forder_by=postdatedesc&rand=877 - esp8266 初始化 重置 恢复出厂设置:https://blog.csdn.net/thegirl0001/article/details/127484759 - 如何简单的让ESP8266恢复出厂设置:https://www.bilibili.com/read/cv2218783 - Digispark ATtiny85配合Prismatik软件DIY屏幕流光溢彩效果:https://blog.csdn.net/qq_36151485/article/details/106884611 - ESP8266 GPIO 的指南:引脚图:https://www.bilibili.com/read/cv14229875 - ESP8266引脚使用注意事项和推荐:https://zhuanlan.zhihu.com/p/433461900 - nodemcu+ws2815流光溢彩实现的补充:https://bbs.hassbian.com/forum.php?mod=viewthread&tid=16101&extra=page%3D1&page=1&mobile=no - 电脑显示器氛围灯说明书(详细版): https://www.bilibili.com/read/cv9492228/