站内搜索
发作品签到
专业版

联网智能点阵像素屏

工程标签

473
0
0
0

简介

ESP32驱动的WS2812点阵屏,支持无限度级联,支持网络控制,支持网页传图

简介:ESP32驱动的WS2812点阵屏,支持无限度级联,支持网络控制,支持网页传图
智能硬件挑战赛
复刻成本:130

开源协议

CC BY-NC-SA 3.0

创建时间:2025-11-24 08:12:51更新时间:2025-11-27 13:43:38

描述

基于ESP32的WS2812点阵屏级联控制系统

本项目是一个基于ESP32微控制器的智能LED点阵显示系统。它核心驱动WS2812B(或同类)可寻址LED灯珠构成点阵屏,并支持多块屏幕的硬件与软件级联,以构建更大尺寸的显示墙。

系统具备高度的网络集成能力,我们既可以通过MQTT协议向屏幕发送指令和显示内容,实现与其他智能家居设备或服务器的联动;也可以通过一个直观的Web网页,以“所见即所得”的方式绘制图像并实时推送至点阵屏显示。

本项目是开源硬件与软件技术的完美结合,适用于信息展示、艺术装置、智能家居状态反馈等多种场景。

第一章:项目简介与核心功能

 

  1. 核心控制器:ESP32

    • 强大的处理能力:双核处理器轻松处理网络通信、图形数据解压与LED时序控制等并发任务。

    • 丰富的网络连接:内置Wi-Fi,是实现MQTT通信和Web服务器的基础。

    • 充足的存储空间:足够的Flash和SRAM,用于存储网页资源、显示动画和缓存图像数据。

  2. 显示单元:WS2812B LED点阵

    • 高集成度与灵活性:每个LED都是一个独立的像素点,可显示1600万色,通过单线信号级联,硬件连接简单。

    • 点阵屏规格:单块点阵屏由 20*20 个WS2812B LED组成,采用Z字形排布方式,在固件中可以配置不同的灯珠排列方式以确保编程时坐标映射的正确性。

  3. 关键特性:多屏级联

    • 无缝扩展:根据WS2812的特性,在电源充足的前提下,可以无限度的进行级联以扩充显示区域。

    • 软件配置化:在固件中可灵活配置级联的行数和列数,系统会自动计算总像素数并正确映射图像坐标。

  4. 双重控制模式

    • MQTT远程控制:ESP32作为MQTT客户端,订阅特定主题(Topic)。任何能发布MQTT消息的设备(如Home Assistant、Node-RED、手机App)均可通过发送JSON格式的指令,控制显示文字、图案或切换动画模式。

    • Web网页绘图控制:附件中提供一个响应式操作界面。可在网页上的虚拟点阵网格中直接点击或拖拽绘制,点击发送后,图形数据会以json格式发送,并通过mqtt的方式传输并及时显示在屏幕上。

第二章:系统架构与硬件设计

  1. 硬件组件清单

    • 主控:ESP32-D0WD-V3芯片(也可以是其他芯片或者模组或者开发板)

    • 显示核心:WS2812B LED点阵板 x 2(取决于你想要的效果)

    • 电源:(重要提示:必须根据LED总数计算总功耗,并预留余量,供电不足会导致显示异常甚至损坏!

第三章:软件设计与实现

  1. 固件开发环境与库

    • 平台: PlatformIO

    • 核心库

      • NeoPixel:用于高效驱动WS2812系列LED,提供丰富的颜色控制和图形函数。

      • WiFi / WiFiManager:用于连接网络,WiFiManager可实现网页配网功能。

      • PubSubClient:用于实现MQTT客户端功能。

      • HTTPClient:用于提供网络访问功能。

      • BM8536:板载时钟芯片,显示时间。
  2. 软件模块分解

    • 初始化模块

      • 连接Wi-Fi :使用WiFiManager进行配网。

      • 连接MQTT服务器 :在WiFiManager配网页面填写MQTT服务器信息。

      • 初始化LED点阵(配置LED类型、颜色顺序GRB/RGB、亮度等)。

    • 网络服务模块

      • Web服务器:提供HTML、PHP文件。

      • MQTT客户端:订阅主题,在回调函数中解析收到的JSON消息。消息格式示例:{"width":8,"height":8,"pixelOrder":"column-major","timestamp":"2025-11-27T03:45:22.207Z","colors":["#000000"]}

    • 图形渲染引擎

      • 根据从Web或MQTT接收到的指令,调用NeoPixel库函数将图形数据写入对应的LED像素。

      • 处理多屏级联时的坐标映射,将全局坐标转换为每块屏的局部坐标。

  3. 网页绘图界面设计

    • 技术栈:HTML5, CSS3, JavaScript。

    • 核心功能

      • 一个可以调节布局虚拟画布。

      • 颜色选择器。

      • 绘制(画笔)、擦除、清空画布功能。

      • 导入图片功能。
      • 输出为BMP文件。
      • 生成JSON数据
      • 调整数据排布方向
      • 配置MQTT服务器与发布主题
      • “发送/上传”按钮,通过Mqtt将画布数据发送至ESP32。

      • JSON数据预览区

第四章:应用场景与扩展方向

  1. 典型应用场景

    • 智能家居信息屏:通过MQTT与Home Assistant集成,显示天气、时间、室内温湿度、下一个日历事件等。

    • 实时状态监控:显示服务器状态、CI/CD构建状态、股票价格等。

    • 个性化装饰与艺术:作为动态壁画、节日装饰,或显示自定义的图案和动画。

    • 信息发布系统:在小型办公室或工作坊内,用于发布简短通知。

  2. 未来扩展方向

    • 显示模式多样化:增加更多内置动画模式(如频谱可视化、时钟、游戏等)。

    • 内容调度系统:开发一个简单的日程表,让不同内容在指定时间自动播放。

    • 离线存储:将常用图片或动画存储在SPIFFS文件系统中,以便快速调用。

    • 亮度自动调节:添加光敏传感器,实现根据环境光线自动调整屏幕亮度。


第五章:总结

本项目成功地将ESP32的强大功能与WS2812B的可编程特性相结合,构建了一个灵活、可扩展且易于控制的点阵显示系统。通过MQTT和Web网页的双重控制方式,它极大地提升了交互的便捷性和集成能力。无论是对于物联网爱好者、创客还是开发者,本项目都提供了一个绝佳的学习和实践平台,并具备丰富的个性化定制和功能扩展潜力。

设计图

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

BOM

暂无BOM

3D模型

序号文件名称下载次数
1
栅格.stl
3

附件

序号文件名称下载次数
1
index.html
14
2
send-mqtt.php
10
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

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

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

评论

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

底部导航