这个课题为什么值得看
充电桩行业正在从简单的刷卡付费,向数据联网和远程管控演进。这意味着 Java 后端工程师有机会进入物联网与新能源交叉领域,而不是只停留在传统 Web 业务里。课程选了一个很具体的落地场景:设计并实现一套新能源车智慧充电桩的数据接入与服务端系统。它解决的问题是,如何让一台硬件设备稳定地把充电状态、告警信息传上来,后台如何可靠接收、解析并持久化,供前端或调度系统使用。这类需求在企业里并不罕见,但你往往找不到一个把协议、长连接、时序数据存储串起来的完整实战样本。
先搞清楚适合谁、不适合谁
课程面向希望转型到物联网或新能源方向的 Java 开发者,核心工具链是 SpringBoot 3.x、Netty 和 MQTT。如果你已经熟悉 Spring 基础开发,但不太清楚设备端怎么通信、服务端怎么高并发处理小包高频上报,这门课能补上这块短板。资料里的练习更偏向“能把东西跑通”,适合中级水平;完全没有网络编程基础、也不了解 MQTT 术语的人,直接上手会吃力,需要先补足 Socket、发布订阅、QoS、Topic 这些基本概念,否则后面调试协议和断线重连时很容易迷路。
建议先看哪几块
入门阶段,不要急着抄代码,先跟着把整体通信链路摸清楚:设备如何通过 MQTT 连入服务端,服务端怎么解析上报帧,哪些字段代表充电开始、结束、功率、异常。其次重点看 Netty 部分,理解为什么在物联网场景里要用长连接而不是每次请求都新建连接,以及粘包拆包、心跳保活在实际项目里怎么落地。再接着看数据存储,尤其是时序数据的使用方式——充电桩的核心价值不在一次性读取,而在一段时间内的曲线和统计,所以记录方式直接影响后续查询性能。最后再看服务层如何把这些数据暴露出来,给监控大屏或后台管理调用。
学完能独立做什么
按课程节奏推进,你应该能独立完成一个可运行的物联网后端原型:设备侧模拟接入、服务端收发消息、解析业务字段、将关键指标写入时序库,并通过接口对外提供查询。换句话说,你能把一个真实项目里最麻烦的“连得上、存得下、查得出”闭环跑通,这在面试或实际工作中都是加分项。
资料怎么配合练习
资料包的价值在于还原工程环境,而不是让你当观众。练习时建议分三步:先读通信协议和字段定义,再对照代码确认每条消息的解析位置,最后自己补一个小的上报场景,例如新增一条告警类型,走一遍接入到存储的全流程。不要只抄接口,要把 Netty handler 和消息路由的逻辑也改一遍,这样遇到真实设备掉线、乱序上报时,你才知道该从哪里排查。
课程目录
├── 第1章 万物互联是大趋势/ │ ├── [ 17M] 1-1Java&物联网&新能源,高薪跃迁从这里开始 │ ├── [ 22M] 1-2课程和项目的整体设计思路 │ ├── [ 11M] 1-3课程核心知识点 │ ├── [ 14M] 1-4准备工作:docker搭建时间序列数据库 │ ├── [ 11M] 1-5准备工具:ubuntu搭建EMQX+消息服务器 │ ├── [9.1M] 1-6准备工作:uniapp整合微信开发者工具 │ └── [8.2M] 1-7准备工作:EMQX图形化客户端 ├── 第2章 通信是Java切入物联网的最佳切入点/ │ ├── [ 13M] 2-1通信才是万物互联的核心 │ ├── [ 11M] 2-2Java凭借Socket优势接入物联网 │ └── [8.6M] 2-3占据物联网半壁江山的通信协议:MQTT ├── 第3章 MQTT 协议的世界秩序/ │ ├── [1.5K] 00_视频信息.txt │ ├── [ 14M] 3-1揭秘MQTT协议的本质 │ ├── [ 22M] 3-2SpringBoot3整合MQTT │ ├── [ 51M] 3-3SpringBoot实现MQTT客户端(上) │ ├── [ 49M] 3-4SpringBoot实现MQTT客户端(中) │ ├── [ 49M] 3-5SpringBoot实现MQTT客户端(下) │ ├── [ 30M] 3-6MQTT配置和SpringBoot代码解耦 │ ├── [ 33M] 3-7基于工厂模式实现MQTT客户端 │ ├── [ 54M] 3-8基于工厂模式的MQTT消息发送和接收(上) │ ├── [ 53M] 3-9基于工厂模式的MQTT消息发送和接收(下) │ ├── [8.8M] 3-10MQTT和TCP,HTTP之间的关系 │ ├── [ 18M] 3-11MQTT送达机制:消息不丢失的三重保障 │ ├── [8.2M] 3-12MQTT的离线小秘书:遗嘱消息 │ ├── [ 15M] 3-13MQTT保持联系的秘诀:心跳机制 │ ├── [ 18M] 3-14测试:基于工厂模式的MQTT消息发送和接收 │ ├── [ 28K] 3-15本章作业.pdf
│ ├── [ 71K] 3-16VS面试官,如何更受亲睐?.pdf
│ └── [423M] 第3章 MQTT 协议的世界秩序-merged ├── 第4章 充电桩的数据通信传递/ │ ├── [ 748] 00_视频信息.txt │ ├── [ 12M] 4-1数据在充电桩,电动车,服务器,客户端的传输路径 │ ├── [9.6M] 4-2报文是啥?就是信息的“快递包裹” │ ├── [9.7M] 4-3报文,+数据包,+数据帧是“邮递”的不同阶段 │ ├── [ 13M] 4-4CAN报文的”独特邮编“:帧ID │ ├── [ 14M] 4-5充电桩和电动汽车的普通话:国标GBT279
30 │ ├── [5.1M] 4-6充电桩的国际通行证:欧标OCPP │ ├── [ 26K] 4-7本章作业.pdf
│ ├── [ 79K] 4-8VS面试官,如何更受亲睐?.pdf
│ └── [ 63M] 第4章 充电桩的数据通信传递-merged ├── 第5章 微信小程序基于WebSocket协议持久通信/ │ ├── [ 679] 00_视频信息.txt │ ├── [5.2M] 5-1WebSocket对比MQTT的通信优势 │ ├── [ 12M] 5-2WebSocket建立连接的过程 │ ├── [ 11M] 5-3SpringBoot整合WebSocket的方式 │ ├── [ 40M] 5-4SpringBoot基于Tomcat注解实现WebSocket │ ├── [ 56M] 5-5SpringBoot基于Sping注解实现WebSocket │ ├── [ 33M] 5-6Uniapp搭建微信小程序连接WebSocket服务端 │ ├── [ 32K] 5-7本章作业.pdf
│ ├── [ 59K] 5-8VS面试官,如何更受亲睐?.pdf
│ └── [157M] 第5章 微信小程序基于WebSocket协议持久通信-merged ├── 第6章 金牌快递小哥:Netty高效处理数据传输/ │ ├── [1.6K] 00_视频信息.txt │ ├── [3.4M] 6-1选择Netty实现WebSocket的原因:高性能 │ ├── [8.3M] 6-2零拷贝:提升数据传输效率 │ ├── [ 19M] 6-3Netty的数据容器:ByteBuf │ ├── [ 11M] 6-4网络编程模型:Reactor模型 │ ├── @@www. │ ├── [ 18M] 6-5Netty的网络指挥官:NioEventLoop │ ├── [9.1M] 6-6Netty的快递小哥:Channel │ ├── [ 15M] 6-7Netty的工作流水线:ChannelPipeline(上) │ ├── [ 20M] 6-8Netty的工作流水线:ChannelPipeline(下) │ ├── [ 19M] 6-9Netty流水线上的员工:ChannelHandler │ ├── [ 57M] 6-10Netty服务端固定代码模板(上) │ ├── [ 29M] 6-11Netty服务端固定代码模板(下) │ ├── [ 36M] 6-12Netty客户端固定代码模板 │ ├── [ 47M] 6-13ChannelHandler类图 │ ├── [ 28M] 6-14处理器实现工具:SimpleChannelInboundHandler │ ├── [ 41M] 6-15处理器实现工具:ChannelInboundHandlerAdapter │ ├── [ 57M] 6-16SpringBoot如何启动Netty,防止主线程阻塞 │ ├── [ 45M] 6-17Netty交由Spring容器管理 │ ├── [ 33K] 6-18本章作业.pdf
│ ├── [ 73K] 6-19VS面试官,如何更受亲睐?.pdf
│ └── [463M] 第6章 金牌快递小哥:Netty高效处理数据传输-merged ├── 第7章 Netty玩得溜,跨界闯荡物联网/ │ ├── [1.4K] 00_视频信息.txt │ ├── [ 43M] 7-1Netty解析WebSocket通信协议(上) │ ├── [ 41M] 7-2Netty解析WebSocket通信协议(下) │ ├── [ 46M] 7-3ByteBuf引用计数对象的释放(上) │ ├── [ 53M] 7-4ByteBuf引用计数对象的释放(下) │ ├── [ 34M] 7-5微信小程序和NettyWebSocket通信交互 │ ├── [9.8M] 7-6粘包与拆包:网络传输中的包裹混乱 │ ├── [ 44M] 7-7粘包与半包场景重现 │ ├── [ 35M] 7-8Netty如何解决粘包与半包 │ ├── [ 42M] 7-9使用Protobuf定义消息格式 │ ├── [ 42M] 7-10Netty基于Protobuf的编解码器 │ ├── [ 41M] 7-11Protobuf处理粘包半包 │ ├── [ 34M] 7-12Netty客户端启动时重连机制 │ ├── [ 39M] 7-13Netty客户端运行时掉线重连 │ ├── [ 56M] 7-14Netty服务端监听读写超时 │ ├── [ 29K] 7-15本章作业.pdf
│ ├── [ 88K] 7-16VS面试官,如何更受亲睐?.pdf
│ └── [558M] 第7章 Netty玩得溜,跨界闯荡物联网-merged ├── 第8章 充电指令:私有协议+Protobuf+16进制/ │ ├── [ 11M] 8-1充电桩,云端,小程序之间的通信交互 │ ├── [ 16M] 8-2充电桩,云端,小程序之间交互时序图 │ ├── [4.1M] 8-3充电桩为什么要自定义私有通信协议 │ ├── [ 21M] 8-4为什么通讯协议是十六进制 │ ├── [ 21M] 8-5信件的信封:MQTT报文的固定报头 │ ├── [ 20M] 8-6MQTT报文长度计算 │ ├── [ 28M] 8-7实例演算MQTT报文长度计算 │ ├── [9.5M] 8-8信件的额外信息:MQTT报文的可变报头 │ ├── [7.0M] 8-9接头暗语:自定义充电桩私有协议 │ ├── [ 28M] 8-10以16进制组装MQTT报文 │ ├── [ 10M] 8-11充电桩项目模块规划 │ ├── [ 61M] 8-12导入Demo的MQTT客户端模块 │ ├── [ 16M] 8-13私有协议实体类 │ ├── [ 24M] 8-14NettyWebSocket模块增加心跳监测 │ ├── [ 32M] 8-15Netty消息类型转换:MessageToMessageDecoder(上) │ ├── [ 38M] 8-16Netty消息类型转换:MessageToMessageDecoder(下) │ ├── [ 41M] 8-17Netty解析小程序发送的Protobuf格式的充电指令(上) │ ├── [ 41M] 8-18Netty解析小程序发送的Protobuf格式的充电指令(下) │ ├── [ 35M] 8-19小程序发送Protobuf格式的充电指令 │ ├── [ 30K] 8-20本章作业.pdf
│ └── [ 86K] 8-21VS面试官,如何更受亲睐?.pdf
├── 第9章 实时充电状态:MQTT+时序数据库/ │ ├── [ 77M] 9-1MQTT客户端将Netty收到的充电指令发送给充电桩 │ ├── [ 64M] 9-2充电桩和MQTT客户端以16进制进行通信 │ ├── [ 38M] 9-3演示小程序发送protobuf+16进制指令给充电桩全流程 │ ├── [3.9M] 9-4物联网(IoT)场景的时间序列数据库+IoTDB │ ├── [ 14M] 9-5IoTDB的树形建模方式 │ ├── [ 16M] 9-6IoTDB数据查询 │ ├── [ 14M] 9-7充电桩,云端,时序数据库,小程序架构图 │ ├── [ 28M] 9-8EMQX将充电桩数据直接写入IoTDB(上) │ ├── [ 34M] 9-9EMQX将充电桩数据直接写入IoTDB(下) │ ├── [ 23M] 9-10SpringBoot整合IoTDB │ ├── [ 43M] 9-11封装IoTDB工具类 │ ├── [ 19M] 9-12IoTDB的存储组和时间序列 │ ├── [7.3M] 9-13多设备多用户场景下的充电桩充电状态表的设计 │ ├── [ 38M] 9-14充电桩发送充电状态数据到IoTDB │ ├── [ 26K] 9-15本章作业.pdf
│ └── [ 49K] 9-16VS面试官,如何更受亲睐?.pdf
├── 第10章 手搓充电桩硬件:ESP8266+ACS712/ │ ├── [ 13M] 10-1充电桩集成电路板模块 │ ├── [ 16M] 10-2充电桩通信技术选型:4G,NB-IOT,ZigBee │ ├── [ 26M] 10-7Arduino烧录代码到ESP8266开发板 │ ├── [ 12M] 10-8Arduino配置ESP8266开发板连接wifi │ ├── [ 43M] 10-9Arduino配置ESP8266开发板以MQTT协议通信 │ ├── [ 23M] 10-10Arduino搭配ACS712构建电流值监测 │ ├── [ 12M] 10-45块钱的USB-Micro数据线:烧录程序到开发板 │ ├── [5.5M] 10-55块钱的充电桩电流监测:ACS712传感器 │ ├── [ 16M] 10-66块钱的面板板,电源,杜邦线 │ └── [ 12M] 10-310块钱的充电桩电路板:ESP8266开发板 └── 第11章 课程总结/ ├── [ 23M] 11-1ESP8266连接本地EMQX的防火墙设置 ├── [ 12M] 11-2ESP8266开发板接收MQTT协议消息 ├── [ 12M] 11-3演示ESP8266接收小程序发送的充电指令 ├── [ 22M] 11-4Netty基于WebSocket给小程序推送消息 ├── [ 13M] 11-5总结通信协议知识点 └── [6.9M] 11-6总结Netty框架知识点 └── 资料代码/