这门课解决什么场景,又劝退谁
充电桩后端开发是物联网落地中极其典型的场景:既要处理嵌入式设备上报的高频遥测数据,又要维持与用户小程序的低延迟交互。市面上多数 Java 课程止步于 CRUD 业务,而本课试图打通“端-云-人”的通信闭环。你将从零搭建一个具备实际业务逻辑的智能充电桩系统,核心在于理解 MQTT 协议在弱网环境下的可靠性保障,以及 WebSocket 在前端实时控制中的连接维持。
然而,初学者需警惕:课程涉及 Ubuntu 环境配置、CH340 驱动安装、Docker 容器化部署以及 EMQX 消息服务器搭建。如果你尚未掌握 Linux 基础命令或容器概念,前期准备阶段会消耗大量时间。此外,CAN 报文和 GB/T 27930 国标协议部分偏向硬件通信底层,对于仅想学习应用层业务开发的学员来说,这部分内容略显晦涩且非必选。本课程更适合有一定后端基础,希望向物联网垂直领域转型,或需要实现设备接入、数据上报、远程控桩等完整链路开发的工程师。
学习路径建议与资料配合方法
建议不要按顺序平铺直叙地观看,而是采用“核心协议先行,业务场景跟进”的策略。
首选第 3 章,这是 Java 切入物联网的基石。重点攻克 MQTT 的 QoS 等级、遗嘱消息(LWT)机制以及心跳保活原理,这是确保充电桩状态不丢包的关键。同时,结合 Spring Boot 3.x 整合 MQTT 的代码章节,理解如何将协议配置与业务代码解耦,掌握基于工厂模式的客户端封装思路。
其次跳转至第 4 章,厘清数据流向。通过报文、数据包、数据帧的层级讲解,建立对充电桩通信协议(如 OCPP、国标 GBT 27930)的整体认知,明白设备上报的数据结构是如何被解析并存储的。
最后处理第 5 章,聚焦用户体验。对比 WebSocket 与 MQTT 的适用边界,学习如何在 Spring Boot 中实现注解驱动的 WebSocket 服务端,并利用 Uniapp 打通微信小程序的实时连接。这一部分直接关联到用户端的“扫码充电”、“实时监控”功能。
学习资料配合方面,前置环境准备(第 1 章)务必动手实操。EMQX 图形化客户端、Docker 搭建的时间序列数据库以及 Arduino IDE,都是验证代码效果的必要工具。建议在阅读完 MQTT 核心章节后,立即启动本地 EMQX 服务,通过图形化工具订阅主题,观察 Spring Boot 客户端发送的心跳和遗嘱报文,通过可视化的数据流验证代码逻辑,而非仅仅停留在视频讲解层面。
学完能独立做什么
完成本课程后,你将具备独立设计并实现中小型物联网设备接入平台的能力。具体而言,你可以基于 Spring Boot 3.x 和 Netty/MQTT 搭建高并发的设备接入网关,解决充电桩、传感器等终端的网络断开重连、数据持久化问题;能够设计符合国标或行业标准的数据通信协议,解析复杂的上报报文;并能通过 WebSocket 为前端提供实时的设备状态推送和远程控制接口。这套技术栈不仅适用于充电桩,亦可复用于智能家居、工业监控等任何需要“设备 <-> 服务器 <-> 用户”三方实时通信的场景。
课程目录
📁 第1章 万物互联是大趋势 1-9 准备工作:安装CH340USB转串口驱动.mp4
[20.3 MB] 1-6 准备工作:uniapp整合微信开发者工具.mp4
[36.0 MB] 1-8 准备工作:嵌入式低代码IDE:Arduino【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[48.1 MB] 1-7 准备工作:EMQX 图形化客户端【精心整理‖更多资源关注 CunWorkNotes】.mp4
[27.0 MB] 1-5 准备工具:ubuntu搭建EMQX+消息服务器【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[25.1 MB] 1-3 课程核心知识点.mp4
[38.6 MB] 1-1 Java&物联网&新能源,高薪跃迁从这里开始.mp4
[70.1 MB] 1-4 准备工作:docker搭建时间序列数据库.mp4
[58.0 MB] 1-2 课程和项目的整体设计思路.mp4
[80.3 MB] 📁 第2章 通信是Java切入物联网的最佳切入点 2-3 占据物联网半壁江山的通信协议:MQTT【资源整理‖公众号 CunWorkNotes】.mp4
[42.4 MB] 2-2 Java凭借Socket优势接入物联网.mp4
[50.1 MB] 2-1 通信才是万物互联的核心【免费分享‖获取更多关注公众号 CunWorkNotes】.mp4
[66.7 MB] 📁 第3章 MQTT 协议的世界秩序 3-14 测试:基于工厂模式的MQTT消息发送和接收.mp4
[39.1 MB] 3-13 MQTT保持联系的秘诀:心跳机制【整理分享‖关注公众号 CunWorkNotes】.mp4
[45.9 MB] 3-12 MQTT的离线小秘书:遗嘱消息.mp4
[46.2 MB] 3-11 MQTT送达机制:消息不丢失的三重保障【免费分享‖获取更多关注公众号 CunWorkNotes】.mp4
[77.8 MB] 3-1 揭秘MQTT协议的本质【整理分享‖关注公众号 CunWorkNotes】.mp4
[61.8 MB] 3-10 MQTT和TCP,HTTP之间的关系【精心整理‖更多资源关注 CunWorkNotes】.mp4
[35.4 MB] 3-9 基于工厂模式的MQTT消息发送和接收(下)【整理分享‖关注公众号 CunWorkNotes】.mp4
[105.1 MB] 3-8 基于工厂模式的MQTT消息发送和接收(上).mp4
[108.1 MB] 3-7 基于工厂模式实现MQTT客户端.mp4
[71.4 MB] 3-6 MQTT配置和SpringBoot代码解耦.mp4
[67.7 MB] 3-4 SpringBoot实现MQTT客户端(中)【精心整理‖更多资源关注 CunWorkNotes】.mp4
[95.1 MB] 3-3 SpringBoot实现MQTT客户端(上)【免费分享‖获取更多关注公众号 CunWorkNotes】.mp4
[118.0 MB] 3-2 SpringBoot 3 整合 MQTT.mp4
[81.9 MB] 3-5 SpringBoot实现MQTT客户端(下).mp4
[96.0 MB] 📁 第4章 充电桩的数据通信传递 4-3 报文,+数据包,+数据帧是“邮递”的不同阶段【免费分享‖获取更多关注公众号 CunWorkNotes】.mp4
[32.6 MB] 4-6 充电桩的国际通行证:欧标OCPP【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[28.7 MB] 4-5 充电桩和电动汽车的普通话:国标GBT 27930【免费分享‖获取更多关注公众号 CunWorkNotes】.mp4
[52.4 MB] 4-4 CAN报文的”独特邮编“:帧ID.mp4
[47.3 MB] 4-2 报文是啥?就是信息的“快递包裹”.mp4
[40.7 MB] 4-1 数据在充电桩,电动车,服务器,客户端的传输路径【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[40.6 MB] 📁 第5章 微信小程序基于WebSocket协议持久通信 5-1 WebSocket对比MQTT的通信优势【精心整理‖更多资源关注 CunWorkNotes】.mp4
[21.3 MB] 5-6 Uniapp搭建微信小程序连接WebSocket服务端.mp4
[68.7 MB] 5-5 SpringBoot基于Sping注解实现WebSocket.mp4
[109.1 MB] 5-4 SpringBoot基于Tomcat注解实现WebSocket【资源整理‖公众号 CunWorkNotes】.mp4
[85.3 MB] 5-3 SpringBoot整合WebSocket的方式.mp4
[24.9 MB] 5-2 WebSocket建立连接的过程.mp4
[55.3 MB] 📁 第6章 金牌快递小哥:Netty高效处理数据传输 6-15 处理器实现工具:ChannelInboundHandlerAdapter.mp4
[83.1 MB] 6-14 处理器实现工具:SimpleChannelInboundHandler【免费分享‖获取更多关注公众号 CunWorkNotes】.mp4
[55.4 MB] 6-
10 Netty 服务端固定代码模板(上).mp4
[119.5 MB] 6-17 Netty交由Spring容器管理【资源整理‖公众号 CunWorkNotes】.mp4
[86.1 MB] 6-
16 SpringBoot 如何启动Netty , 防止主线程阻塞.mp4
[114.7 MB] 6-13 ChannelHandler类图.mp4
[93.0 MB] 6-
12 Netty 客户端固定代码模板.mp4
[69.3 MB] 6-
11 Netty 服务端固定代码模板(下)【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[57.1 MB] 6-9 Netty流水线上的员工: ChannelHandler.mp4
[94.7 MB] 6-8 Netty的工作流水线: ChannelPipeline(下)【资源整理‖公众号 CunWorkNotes】.mp4
[90.8 MB] 6-7 Netty的工作流水线: ChannelPipeline(上).mp4
[65.6 MB] 6-6 Netty的快递小哥:Channel.mp4
[28.5 MB] 6-5 Netty的网络指挥官:NioEventLoop【精心整理‖更多资源关注 CunWorkNotes】.mp4
[70.3 MB] 6-4 网络编程模型:Reactor 模型.mp4
[44.7 MB] 6-3 Netty 的数据容器:ByteBuf【资源整理‖公众号 CunWorkNotes】.mp4
[77.4 MB] 6-2 零拷贝:提升数据传输效率【整理分享‖关注公众号 CunWorkNotes】.mp4
[32.7 MB] 6-1 选择Netty 实现 WebSocket 的原因:高性能.mp4
[15.0 MB] 📁 第7章 Netty玩得溜,跨界闯荡物联网 7-7 粘包与半包场景重现【精心整理‖更多资源关注 CunWorkNotes】.mp4
[87.1 MB] 7-6 粘包与拆包:网络传输中的包裹混乱【整理分享‖关注公众号 CunWorkNotes】.mp4
[48.6 MB] 7-4 ByteBuf引用计数对象的释放(下).mp4
[101.6 MB] 7-2 Netty解析WebSocket通信协议(下).mp4
[78.5 MB] 7-1 Netty解析WebSocket通信协议(上)【精心整理‖更多资源关注 CunWorkNotes】.mp4
[82.3 MB] 7-14 Netty服务端监听读写超时【整理分享‖关注公众号 CunWorkNotes】.mp4
[108.2 MB] 7-13 Netty客户端运行时掉线重连.mp4
[74.5 MB] 7-12 Netty客户端启动时重连机制.mp4
[64.7 MB] 7-11 Protobuf处理粘包半包.mp4
[81.5 MB] 7-10 Netty基于Protobuf的编解码器【资源整理‖公众号 CunWorkNotes】.mp4
[86.9 MB] 7-9 使用Protobuf定义消息格式.mp4
[178.1 MB] 7-8 Netty如何解决粘包与半包.mp4
[68.9 MB] 7-5 微信小程序和Netty WebSocket通信交互.mp4
[70.7 MB] 7-3 ByteBuf引用计数对象的释放(上)【资源整理‖公众号 CunWorkNotes】.mp4
[92.3 MB] 📁 第8章 充电指令:私有协议+Protobuf+16进制 8-19 小程序发送Protobuf格式的充电指令.mp4
[77.2 MB] 8-11 充电桩项目模块规划.mp4
[28.7 MB] 8-3 充电桩为什么要自定义私有通信协议.mp4
[18.4 MB] 8-1 充电桩,云端,小程序之间的通信交互.mp4
[53.1 MB] 8-18 Netty解析小程序发送的Protobuf格式的充电指令(下).mp4
[78.5 MB] 8-16 Netty消息类型转换:MessageToMessageDecoder(下).mp4
[73.5 MB] 8-15 Netty消息类型转换:MessageToMessageDecoder(上).mp4
[75.1 MB] 8-
14 Netty WebSocket模块增加心跳监测.mp4
[46.3 MB] 8-13 私有协议实体类.mp4
[35.1 MB] 8-12 导入Demo的MQTT客户端模块.mp4
[118.2 MB] 8-10 以16进制组装MQTT报文.mp4
[84.5 MB] 8-8 信件的额外信息:MQTT报文的可变报头【整理分享‖关注公众号 CunWorkNotes】.mp4
[40.3 MB] 8-7 实例演算MQTT报文长度计算.mp4
[91.2 MB] 8-6 MQTT报文长度计算.mp4
[83.6 MB] 8-4 为什么通讯协议是十六进制.mp4
[85.6 MB] 8-2 充电桩,云端,小程序之间交互时序图【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[37.2 MB] 8-17 Netty解析小程序发送的Protobuf格式的充电指令(上).mp4
[80.6 MB] 8-9 接头暗语:自定义充电桩私有协议.mp4
[33.5 MB] 8-5 信件的信封:MQTT报文的固定报头.mp4
[99.4 MB] 📁 第9章 实时充电状态:MQTT+时序数据库 9-13 多设备多用户场景下的充电桩充电状态表的设计【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[28.6 MB] 9-8 EMQX将充电桩数据直接写入IoTDB(上)【资源整理‖公众号 CunWorkNotes】.mp4
[75.4 MB] 9-7 充电桩,云端,时序数据库, 小程序架构图.mp4
[41.7 MB] 9-6 IoTDB数据查询.mp4
[59.1 MB] 9-5 IoTDB的树形建模方式【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[61.2 MB] 9-3 演示小程序发送protobuf+16进制指令给充电桩全流程.mp4
[74.1 MB] 9-14 充电桩发送充电状态数据到IoTDB【整理分享‖关注公众号 CunWorkNotes】.mp4
[107.9 MB] 9-12 IoTDB的存储组和时间序列【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[67.5 MB] 9-11 封装IoTDB工具类.mp4
[82.9 MB] 9-10 SpringBoot整合IoTDB.mp4
[57.2 MB] 9-9 EMQX将充电桩数据直接写入IoTDB(下).mp4
[97.4 MB] 9-4 物联网(IoT)场景的时间序列数据库+IoTDB.mp4
[16.4 MB] 9-2 充电桩和MQTT客户端以16进制进行通信【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[134.3 MB] 9-1 MQTT客户端将Netty收到的充电指令发送给充电桩【免费分享‖获取更多关注公众号 CunWorkNotes】.mp4
[146.4 MB] 📁 第10章 手搓充电桩硬件:ESP8266+ACS712 10-3 10块钱的充电桩电路板:ESP8266开发板.mp4
[26.8 MB] 10-1 充电桩集成电路板模块【精心整理‖更多资源关注 CunWorkNotes】.mp4
[27.1 MB] 10-9 Arduino配置ESP8266开发板以MQTT协议通信.mp4
[95.8 MB] 10-8 Arduino配置ESP8266开发板连接wifi.mp4
[29.5 MB] 10-7 Arduino烧录代码到ESP8266开发板【资源整理‖公众号 CunWorkNotes】.mp4
[69.0 MB] 10-6 6块钱的面板板, 电源, 杜邦线.mp4
[33.2 MB] 10-4 5块钱的USB-Micro数据线:烧录程序到开发板【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[33.4 MB] 10-2 充电桩通信技术选型:4G, NB-IOT, ZigBee.mp4
[56.9 MB] 10-5 5块钱的充电桩电流监测:ACS712传感器.mp4
[12.5 MB] 10-10 Arduino搭配ACS712构建电流值监测.mp4
[54.4 MB] 📁 第11章 课程总结 11-6 总结Netty框架知识点【精心整理‖更多资源关注 CunWorkNotes】.mp4
[25.4 MB] 11-5 总结通信协议知识点【精心整理‖更多资源关注 CunWorkNotes】.mp4
[45.6 MB] 11-4 Netty基于WebSocket给小程序推送消息.mp4
[47.4 MB] 11-3 演示ESP8266接收小程序发送的充电指令【整理不易‖关注公众号 CunWorkNotes 获取更多】.mp4
[29.2 MB] 11-2 ESP8266开发板接收MQTT协议消息【资源整理‖公众号 CunWorkNotes】.mp4
[34.1 MB] 11-1 ESP8266连接本地EMQX的防火墙设置【精心整理‖更多资源关注 CunWorkNotes】.mp4
[58.9 MB]