这门课解决什么场景,又劝退谁

充电桩后端开发是物联网落地中极其典型的场景:既要处理嵌入式设备上报的高频遥测数据,又要维持与用户小程序的低延迟交互。市面上多数 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&amp;物联网&amp;新能源,高薪跃迁从这里开始.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]