工程背景与核心痛点 物联网应用开发与传统 Web 开发存在显著差异,核心在于设备的高并发接入、长连接维持以及海量时序数据的高效处理。本项目以“新能源车智慧充电桩”为落地场景,聚焦于 Java 后端如何与硬件端稳定交互。充电桩具备数量多、分布广、网络环境复杂等特点,传统轮询方式无法支撑实时状态同步,必须依赖长连接协议。本课程围绕 SpringBoot 3.x…
物联网应用开发与传统 Web 开发存在显著差异,核心在于设备的高并发接入、长连接维持以及海量时序数据的高效处理。本项目以“新能源车智慧充电桩”为落地场景,聚焦于 Java 后端如何与硬件端稳定交互。充电桩具备数量多、分布广、网络环境复杂等特点,传统轮询方式无法支撑实时状态同步,必须依赖长连接协议。本课程围绕 SpringBoot 3.x、Netty 和 MQTT 构建一套完整的后端解决方案,解决设备断线重连、消息有序性、心跳保活以及充电数据实时上传等实际工程问题。通过该课程,开发者能够理解物联网场景下的特殊约束,例如弱网环境下的可靠性保障机制,以及如何将硬件协议映射为标准化业务对象。这不仅是技术栈的升级,更是思维模式从 CRUD 向事件驱动和流式处理的转变,帮助开发者打通从硬件通信到业务落地的技术闭环,显著提升在 IoT 领域的工程落地能力。
整体架构采用分层设计,底层通信层基于 Netty 实现高性能 TCP/UDP 连接管理,利用其零拷贝特性和 Reactor 模型处理高吞吐连接。中间协议层通过 MQTT 实现轻量级发布订阅模式,解耦设备与平台。上层业务层由 SpringBoot 3.x 驱动,整合 MyBatis Plus、Redis 和 InfluxDB 等组件。项目重点涵盖设备注册鉴权、指令下发与响应解析、充电订单生命周期管理、实时功率曲线存储等核心功能。通过 Netty 的 Channel 处理器链,精确控制二进制数据流;利用 MQTT 的 QoS 机制保障关键指令不丢失;引入时序数据库优化高频写入性能,避免关系型数据库在大规模 IoT 场景下的瓶颈。所有模块均经过解耦设计,便于后续扩展其他物联网设备类型,如智能家居或工业传感器网关。
适合具备 Java 基础、熟悉 Spring 框架原理并了解基本网络编程概念的开发者。建议按以下顺序切入:首先梳理 MQTT 协议核心概念,理解 Broker 架构及 Topic 设计原则;其次掌握 Netty 核心组件,如 Bootstrap、ChannelHandler、Codec 编解码器的作用与配置;然后结合充电桩业务需求,实现设备接入、状态上报、远程控制等功能接口;最后关注数据存储层优化,特别是时序数据库的选型与查询调优。配套源码包含完整注释,建议对照代码逐行调试,重点修改协议解析部分和测试并发连接性能。学完本课后,读者能够独立搭建小型物联网平台,完成设备接入、命令下发和数据持久化全流程,具备承接实际 IoT 项目后端开发的能力。资料配合练习时,应尝试改动配置参数观察连接变化,模拟网络抖动场景验证重连逻辑,从而深化对底层原理的理解。
本课程专为想更低成本、更高效率入行/转行物联网-新能源领域的Java开发者量身打造。课程以SpringBoot 3.* + MQTT + Netty 为核心技术,手把手带你实现《新能源车智慧充电桩》项目,让你循序渐进,系统掌握数据传输与解析、持久连接通信、高效数据处理、时序数据库应用等物联网开发核心技能;强化物联网开发设计思维;倍增物与物、物与云端平台通信交互落地实战力,助你更高效实现高薪能力跃迁。
QQ_1758810006136.png (58.13 KB, 下载次数: 0) 2025-9-25 22:21 上传 课程介绍: 本课程专为想更低成本、更高效率入行/转行物联网-新能源领域的Java开发者量身打造。课程以SpringBoot 3.* + MQTT + Netty 为核心技术,手把手带你实现《新能源车智慧充电桩》项目,让你循序渐进,系统掌握数据传输与解析、持久连接通信、高效数据处理、时序数据库应用等物联网开发核心技能;强化物联网开发设计思维;倍增物与物、物与云端平台通信交互落地实战力,助你更高效实现高薪能力跃迁。 课程目录: ├─ 第1章 万物互联是大趋势 │ 1-1 Java&物联网&新能源,高薪跃迁从这里开始.mp4 │ 1-2 课程和项目的整体设计思路.mp4 │ 1-3 课程核心知识点.mp4 │ 1-4 准备工作:docker搭建时间序列数据库.mp4 │ 1-5 准备工具:ubuntu搭建EMQX+消息服务器.mp4 │ 1-6 准备工作:uniapp整合微信开发者工具.mp4 │ 1-7 准备工作:EMQX 图形化客户端.mp4 │ 1-8 准备工作:嵌入式低代码IDE:Arduino.mp4 │ 1-9 准备工作:安装CH340USB转串口驱动.mp4 │ 1-10 本章作业.txt │ ├─ 第2章 通信是Java切入物联网的最佳切入点 │ 2-1 通信才是万物互联的核心.mp4 │ 2-2 Java凭借Socket优势接入物联网.mp4 │ 2-3 占据物联网半壁江山的通信协议:MQTT.mp4 │ 2-4 本章作业.txt │ 2-5 VS 面试官,如何更受亲睐?.txt │ ├─ 第3章 MQTT 协议的世界秩序 │ 3-1 揭秘MQTT协议的本质.mp4 │ 3-2 SpringBoot 3 整合 MQTT.mp4 │ 3-3 SpringBoot实现MQTT客户端(上).mp4 │ 3-4 SpringBoot实现MQTT客户端(中).mp4 │ 3-5 SpringBoot实现MQTT客户端(下).mp4 │ 3-6 MQTT配置和SpringBoot代码解耦.mp4 │ 3-7 基于工厂模式实现MQTT客户端.mp4 │ 3-8 基于工厂模式的MQTT消息发送和接收(上).mp4 │ 3-9 基于工厂模式的MQTT消息发送和接收(下).mp4 │ 3-10 MQTT和TCP,HTTP之间的关系.mp4 │ 3-11 MQTT送达机制:消息不丢失的三重保障.mp4 │ 3-12 MQTT的离线小秘书:遗嘱消息.mp4 │ 3-13 MQTT保持联系的秘诀:心跳机制.mp4 │ 3-14 测试:基于工厂模式的MQTT消息发送和接收.mp4 │ 3-15 本章作业.txt │ 3-16 VS 面试官,如何更受亲睐?.txt │ ├─ 第4章 充电桩的数据通信传递 │ 4-1 数据在充电桩,电动车,服务器,客户端的传输路径.mp4 │ 4-2 报文是啥?就是信息的“快递包裹”.mp4 │ 4-3 报文,+数据包,+数据帧是“邮递”的不同阶段.mp4 │ 4-4 CAN报文的”独特邮编“:帧ID.mp4 │ 4-5 充电桩和电动汽车的普通话:国标GBT 27930.mp4 │ 4-6 充电桩的国际通行证:欧标OCPP.mp4 │ 4-7 本章作业.txt │ 4-8 VS 面试官,如何更受亲睐?.txt │ ├─ 第5章 微信小程序基于WebSocket协议持久通信 │ 5-1 WebSocket对比MQTT的通信优势.mp4 │ 5-2 WebSocket建立连接的过程.mp4 │ 5-3 SpringBoot整合WebSocket的方式.mp4 │ 5-4 SpringBoot基于Tomcat注解实现WebSocket.mp4 │ 5-5 SpringBoot基于Sping注解实现WebSocket.mp4 │ 5-6 Uniapp搭建微信小程序连接WebSocket服务端.mp4 │ 5-7 本章作业.txt │ 5-8 VS 面试官,如何更受亲睐?.txt │ ├─ 第6章 金牌快递小哥:Netty高效处理数据传输 │ 6-1 选择Netty 实现 WebSocket 的原因:高性能.mp4 │ 6-2 零拷贝:提升数据传输效率.mp4 │ 6-3 Netty 的数据容器:ByteBuf.mp4 │ 6-4 网络编程模型:Reactor 模型.mp4 │ 6-5 Netty的网络指挥官:NioEventLoop.mp4 │ 6-6 Netty的快递小哥:Channel.mp4 │ 6-7 Netty的工作流水线: ChannelPipeline(上).mp4 │ 6-8 Netty的工作流水线: ChannelPipeline(下).mp4 │ 6-9 Netty流水线上的员工: ChannelHandler.mp4 │ 6-10 Netty 服务端固定代码模板(上).mp4 │ 6-11 Netty 服务端固定代码模板(下).mp4 │ 6-12 Netty 客户端固定代码模板.mp4 │ 6-13 ChannelHandler类图.mp4 │ 6-14 处理器实现工具:SimpleChannelInboundHandler.mp4 │ 6-15 处理器实现工具:ChannelInboundHandlerAdapter.mp4 │ 6-16 SpringBoot 如何启动Netty , 防止主线程阻塞.mp4 │ 6-17 Netty交由Spring容器管理.mp4 │ 6-18 本章作业.txt │ 6-19 VS 面试官,如何更受亲睐?.txt │ ├─ 第7章 Netty玩得溜,跨界闯荡物联网 │ 7-1 Netty解析WebSocket通信协议(上).mp4 │ 7-2 Netty解析WebSocket通信协议(下).mp4 │ 7-3 ByteBuf引用计数对象的释放(上).mp4 │ 7-4 ByteBuf引用计数对象的释放(下).mp4 │ 7-5 微信小程序和Netty WebSocket通信交互.mp4 │ 7-6 粘包与拆包:网络传输中的包裹混乱.mp4 │ 7-7 粘包与半包场景重现.mp4 │ 7-8 Netty如何解决粘包与半包.mp4 │ 7-9 使用Protobuf定义消息格式.mp4 │ 7-10 Netty基于Protobuf的编解码器.mp4 │ 7-11 Protobuf处理粘包半包.mp4 │ 7-12 Netty客户端启动时重连机制.mp4 │ 7-13 Netty客户端运行时掉线重连.mp4 │ 7-14 Netty服务端监听读写超时.mp4 │ 7-15 本章作业.txt │ 7-16 VS 面试官,如何更受亲睐?.txt │ ├─ 第8章 充电指令:私有协议+Protobuf+16进制 │ 8-1 充电桩,云端,小程序之间的通信交互.mp4 │ 8-2 充电桩,云端,小程序之间交互时序图.mp4 │ 8-3 充电桩为什么要自定义私有通信协议.mp4 │ 8-4 为什么通讯协议是十六进制.mp4 │ 8-5 信件的信封:MQTT报文的固定报头.mp4 │ 8-6 MQTT报文长度计算.mp4 │ 8-7 实例演算MQTT报文长度计算.mp4 │ 8-8 信件的额外信息:MQTT报文的可变报头.mp4 │ 8-9 接头暗语:自定义充电桩私有协议.mp4 │ 8-10 以16进制组装MQTT报文.mp4 │ 8-11 充电桩项目模块规划.mp4 │ 8-12 导入Demo的MQTT客户端模块.mp4 │ 8-13 私有协议实体类.mp4 │ 8-14 Netty WebSocket模块增加心跳监测.mp4 │ 8-15 Netty消息类型转换:MessageToMessageDecoder(上).mp4 │ 8-16 Netty消息类型转换:MessageToMessageDecoder(下).mp4 │ 8-17 Netty解析小程序发送的Protobuf格式的充电指令(上).mp4 │ 8-18 Netty解析小程序发送的Protobuf格式的充电指令(下).mp4 │ 8-19 小程序发送Protobuf格式的充电指令.mp4 │ 8-20 本章作业.txt │ 8-21 VS 面试官,如何更受亲睐?.txt │ ├─ 第9章 实时充电状态:MQTT+时序数据库 │ 9-1 MQTT客户端将Netty收到的充电指令发送给充电桩.mp4 │ 9-2 充电桩和MQTT客户端以16进制进行通信.mp4 │ 9-3 演示小程序发送protobuf+16进制指令给充电桩全流程.mp4 │ 9-4 物联网(IoT)场景的时间序列数据库+IoTDB.mp4 │ 9-5 IoTDB的树形建模方式.mp4 │ 9-6 IoTDB数据查询.mp4 │ 9-7 充电桩,云端,时序数据库, 小程序架构图.mp4 │ 9-8 EMQX将充电桩数据直接写入IoTDB(上).mp4 │ 9-9 EMQX将充电桩数据直接写入IoTDB(下).mp4 │ 9-10 SpringBoot整合IoTDB.mp4 │ 9-11 封装IoTDB工具类.mp4 │ 9-12 IoTDB的存储组和时间序列.mp4 │ 9-13 多设备多用户场景下的充电桩充电状态表的设计.mp4 │ 9-14 充电桩发送充电状态数据到IoTDB.mp4 │ 9-15 本章作业.txt │ 9-16 VS 面试官,如何更受亲睐?.txt │ ├─ 第10章 手搓充电桩硬件:ESP8266+ACS712 │ 10-1 充电桩集成电路板模块.mp4 │ 10-2 充电桩通信技术选型:4G, NB-IOT, ZigBee.mp4 │ 10-3 10块钱的充电桩电路板:ESP8266开发板.mp4 │ 10-4 5块钱的USB-Micro数据线:烧录程序到开发板.mp4 │ 10-5 5块钱的充电桩电流监测:ACS712传感器.mp4 │ 10-6 6块钱的面板板, 电源, 杜邦线.mp4 │ 10-7 Arduino烧录代码到ESP8266开发板.mp4 │ 10-8 Arduino配置ESP8266开发板连接wifi.mp4 │ 10-9 Arduino配置ESP8266开发板以MQTT协议通信.mp4 │ 10-10 Arduino搭配ACS712构建电流值监测.mp4 │ ├─ 第11章 课程总结 │ 11-1 ESP8266连接本地EMQX的防火墙设置.mp4 │ 11-2 ESP8266开发板接收MQTT协议消息.mp4 │ 11-3 演示ESP8266接收小程序发送的充电指令.mp4 │ 11-4 Netty基于WebSocket给小程序推送消息.mp4 │ 11-5 总结通信协议知识点.mp4 │ 11-6 总结Netty框架知识点.mp4 │ └─源码+笔记.7z