# IoT-Technical-Guide **Repository Path**: bian_lei/IoT-Technical-Guide ## Basic Information - **Project Name**: IoT-Technical-Guide - **Description**: :honeybee: IoT Technical Guide --- 从零搭建高性能物联网平台及物联网解决方案和Thingsboard源码分析 :sparkles: :sparkles: :sparkles: (IoT Platform, SaaS, MQTT, CoAP, HTTP, Modbus, OPC, WebSocket, 物模型,Protobuf, PostgreSQL, MongoDB, Spring Security, OAuth2, RuleEngine, Kafka, Docker) - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 6 - **Created**: 2022-01-27 - **Last Updated**: 2025-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

IOT Technical Guide

阅读 投稿

# 交流群 扫码如下**二维码**。回复【物联网技术指南】关键字。 可以添加帅气而又风趣的我为好友,并拉你进一个~~学习交流~~**装逼群**。

公众号

# 物联网技术学习指南 基于物联网场景和技术的入门和深度学习教程。 物联网相较于电商、支付和金融等是一个全新的行业。但是物联网又是一个高速发展的行业,很多人想要从事这个行业,但是不得其法,于是诞生了此教程。 市面上的物联网技术文章很少,且文章的质量都较为粗浅和不成体系。对于很多开发者来说,入门即是其对某个技术栈的最终理解,一方面是开发者“比较懒”,另一方面是文章作者把物联网技术写的太浅,又或者不够全面。 - 整理了物联网学习资源和书籍,涉及计算机网络、算法和书籍结构、框架、数据存储等每个细节的知识。 - 在学习基础知识的同时,我想要你了解物联网开发常见的~~**黑话**~~专业术语,例如数字孪生、设备影子、通信相关的术语名词、蓝牙、Zigbee、CoAP、MQTT协议等。 - 在带你学会MQTT v3.1、v3.1.1和v5.0协议的同时,我还想告诉你当前流行和好用的MQTT 客户端工具和不同语言的MQTT Client依赖包,最后以实战的方式带你实现一个单机百万的MQTT Broker。 - 学习上面的知识后,我相信你对物联网有所了解了,我允许你叉着腰**骄傲**一下,接下来我会带你学习从零搭建高性能IoT平台所需要的技术栈、包括架构设计、MQTT Broker搭建、CoAP服务搭建、消息削峰、数据模型设计和数据库选型等。 - 最好我带你编译和学习当前GitHub上最流行的开源物联网平台-[Thingsboard](https://thingsboard.io/), 其在GitHub上点赞超过1w+, 学习前沿的物联网理念和知识,如果你有二次开发的需求,也可沟通联系我欧!一起探讨学习! - ... 让我们一起愉快的挖坑,挖深坑,哇哈哈。

分割线

## Part1 物联网基石和学习之路 ### Part1-1『 物联网学习书籍和资源 』 * 计算机网络篇 * [《TCP/IP详情 卷1: 协议》](https://iot.mushuwei.cn/#/book/tcp-ip-part1) * [《TCP/IP详情 卷2: 实现》](https://iot.mushuwei.cn/#/book/tcp-ip-part2) * [《TCP/IP详情 卷3: TCP事务协议、HTTP、NNTP和UNIX域协议》](https://iot.mushuwei.cn/#/book/tcp-ip-part3) * [《图解TCP/IP (第5版)》](https://iot.mushuwei.cn/#/book/tcp-ip-illustration) * [《图解HTTP》](https://iot.mushuwei.cn/#/book/http-figure) * 算法和数据结构篇 * [《我的第一本算法书》](https://iot.mushuwei.cn/#/book/first-algorithm-book) * [《算法导论 (第四版))》](https://iot.mushuwei.cn/#/book/algorithm-guide) * Java基础 * [《Head First Java》](https://iot.mushuwei.cn/#/book/head-first-java) * [《Effective Java 中文版》](https://iot.mushuwei.cn/#/book/effective-java) * [《Java并发编程实战》](https://iot.mushuwei.cn/#/book/java-current) * Spring及SpringBoot系列 * [《Spring 实战 (第四版)》](https://iot.mushuwei.cn/#/book/spring-action) * [《Spring Boot揭秘》](https://iot.mushuwei.cn/#/book/spring-boot) * 数据存储篇 * [《MySQL必知必会》](https://iot.mushuwei.cn/#/book/mysql-know) * [《高性能MySQL》](https://iot.mushuwei.cn/#/book/mysql-high-performance) * [《MongoDB实战》](https://iot.mushuwei.cn/#/book/mongodb-action) * [《PostgreSQL实战》](https://iot.mushuwei.cn/#/book/postgresql-action) * 缓存篇 * [《Redis 开发与运维》](https://iot.mushuwei.cn/#/book/redis-develop-operation) * [《Redis深入历险:核心原理与应用实战》](https://iot.mushuwei.cn/#/book/redis-core-and-action) * 消息队列篇 * [《Kafka权威指南》](https://iot.mushuwei.cn/#/book/kafka-guide) * [《Apache Kafka源码剖析》](https://iot.mushuwei.cn/#/book/netty-learning-example) * 通讯框架篇 * [《Netty实战》](https://iot.mushuwei.cn/#/book/netty-action) * [《Netty实践学习案例》](https://iot.mushuwei.cn/#/book/netty-learning-example) * Docker&Kubernetes篇 * [《第一本Docker书》](https://iot.mushuwei.cn/#/book/first-docker-book) * [《深入剖析Kubernetes 52讲》](https://iot.mushuwei.cn/#/book/kubernetes-52) ### Part1-2『 物联网内功和基础知识 』 * 基础篇 * [《女朋友问: 你知道蓝牙耳机的原理吗?》](https://iot.mushuwei.cn/#/internal-work/bluetooth) * [《直呼: 太细了!拿捏🤏Zigbee协议》](https://iot.mushuwei.cn/#/internal-work/zigbee) * 物联网概念篇 * [《通信相关的术语名词》](https://iot.mushuwei.cn/#/internal-work/commu-nouns) * [《数字孪生&设备影子》](https://iot.mushuwei.cn/#/internal-work/digital-twins-and-device-shadow) * 设备配网篇 * [《WIFI设备-EZ配网》](https://iot.mushuwei.cn/#/internal-work/wifi-ez) * [《WIFI设备-AP3.0配网》](https://iot.mushuwei.cn/#/internal-work/wifi-ap-3) * CoAP协议 * [《第一章 - 简介》](https://iot.mushuwei.cn/#/internal-work/coap-part1) * [《第二章 - 受限应用协议CoAP》](https://iot.mushuwei.cn/#/internal-work/coap-part2) * [《第三章 - 消息格式》](https://iot.mushuwei.cn/#/internal-work/coap-part3) * [《第四章 - 消息传递》](https://iot.mushuwei.cn/#/internal-work/coap-part4) * [《第五章 - 请求/响应的语义》](https://iot.mushuwei.cn/#/internal-work/coap-part5) * [《第六章 - CoAP URI》](https://iot.mushuwei.cn/#/internal-work/coap-part6) * [《第七章 - 发现》](https://iot.mushuwei.cn/#/internal-work/coap-part7) * [《第八章 - 多播CoAP》](https://iot.mushuwei.cn/#/internal-work/coap-part8) * [《第九章 - 安全CoAP》](https://iot.mushuwei.cn/#/internal-work/coap-part9) * [《第十章 - CoAP和HTTP的跨协议代理》](https://iot.mushuwei.cn/#/internal-work/coap-part10) * [《第十章 - 发现》](https://iot.mushuwei.cn/#/internal-work/coap-part11) * [《第十二章 - 互联网地址分配注意事项(IANA Considerations)》](https://iot.mushuwei.cn/#/internal-work/coap-part12) * BACnet协议(楼宇自动化与控制网络)篇 * [《认识BACnet-第1部分-什么是BACnet?》](https://iot.mushuwei.cn/#/internal-work/bacnet-part1) * [《认识BACnet-第2部分-设备模型》](https://iot.mushuwei.cn/#/internal-work/bacnet-part2) * [《认识BACnet-第3部分-网络类型》](https://iot.mushuwei.cn/#/internal-work/bacnet-part3) * [《认识BACnet-第4部分-服务》](https://iot.mushuwei.cn/#/internal-work/bacnet-part4) * [《认识BACnet-第5部分-互操作领域》](https://iot.mushuwei.cn/#/internal-work/bacnet-part5) * [《认识BACnet-第6部分-BIBBS》](https://iot.mushuwei.cn/#/internal-work/bacnet-part6) ## Part2.『 MQTT学习指南三重境 』 ### Part2-1『 一重境之求索:MQTT客户端工具和依赖包 』 * [《MQTT客户端桌面工具:school_satchel:》](https://iot.mushuwei.cn/#/mqtt-client-introduce/toolbox) * [《MQTT.js: JavaScript 编写,用于 node.js 和浏览器》](https://iot.mushuwei.cn/#/mqtt-client-introduce/toolbox-mqttjs) * [《MQTT X: 跨平台 MQTT桌面客户端》](https://iot.mushuwei.cn/#/mqtt-client-introduce/toolbox-mqttx) * [《MQTT CLI: 有用的MQTT CLI命令行界面》](https://iot.mushuwei.cn/#/mqtt-client-introduce/toolbox-mqtt-cli) * [《MQTT fx: 基于JavaFx的MQTT客户端》](https://iot.mushuwei.cn/#/mqtt-client-introduce/toolbox-mqttfx) * [《MQTT客户端库:hammer:》](https://iot.mushuwei.cn/#/mqtt-client-introduce/client-libraries) * [《hivemq-mqtt-client: 高性能 Java 客户端库》](https://iot.mushuwei.cn/#/mqtt-client-introduce/client-lib-hivemq-client) * [《paho.mqtt.java: Eclipse Java 客户端库》](https://iot.mushuwei.cn/#/mqtt-client-introduce/client-lib-paho-java-client) * [《Paho.mqtt.golang: Eclipse Go 客户端库》](https://iot.mushuwei.cn/#/mqtt-client-introduce/client-golang) * [《MQTT.js: JavaScript 编写,用于 node.js 和浏览器》](https://iot.mushuwei.cn/#/mqtt-client-introduce/client-lib-paho-golang-client) * [《paho.mqtt.python: Eclipse Python 客户端库》](https://iot.mushuwei.cn/#/mqtt-client-introduce/client-lib-paho-python-client) * [《paho.mqtt.c: Eclipse C 客户端库》](https://iot.mushuwei.cn/#/mqtt-client-introduce/client-lib-paho-c-client) ### Part2-2『 二重境之实干:自研MQTT Broker,直通百万并发客户端 』 * 待补充 ### Part2-3『 三重境之感悟:MQTT v3.1/v3.1.1中文协议文档 』 * [《第一章 - 介绍》](https://iot.mushuwei.cn/#/mqtt3/mqtt-introduce) * [《第二章 MQTT控制报文格式 MQTT Control Packet format》](https://iot.mushuwei.cn/#/mqtt3/mqtt-control_packet_format) * [《第三章 - MQTT控制报文》](https://iot.mushuwei.cn/#/mqtt3/mqtt-control_packets_03) * [《3.1 CONNECT - 连接服务端》](https://iot.mushuwei.cn/#/mqtt3/mqtt-connect-0301) * [《3.2 CONNACK – 确认连接请求》](https://iot.mushuwei.cn/#/mqtt3/mqtt-connack-0302) * [《3.3 PUBLISH – 发布消息》](https://iot.mushuwei.cn/#/mqtt3/mqtt-publish-0303) * [《3.4 PUBACK – 发布确认》](https://iot.mushuwei.cn/#/mqtt3/mqtt-puback-0304) * [《3.5 PUBREC – 发布收到(QoS 2,第一步)》](https://iot.mushuwei.cn/#/mqtt3/mqtt-pubrec-0305) * [《3.6 PUBREL – 发布释放(QoS 2,第二步)》](https://iot.mushuwei.cn/#/mqtt3/mqtt-pubrel-0306) * [《3.7 PUBCOMP – 发布完成(QoS 2,第三步)》](https://iot.mushuwei.cn/#/mqtt3/mqtt-pubcomp-0307) * [《3.8 SUBSCRIBE - 订阅主题》](https://iot.mushuwei.cn/#/mqtt3/mqtt-subscribe-0308) * [《3.9 SUBACK - 订阅确认》](https://iot.mushuwei.cn/#/mqtt3/mqtt-suback-0309) * [《3.10 UNSUBSCRIBE – 取消订阅》](https://iot.mushuwei.cn/#/mqtt3/mqtt-unsubscribe-0310) * [《3.11 UNSUBACK – 取消订阅确认》](https://iot.mushuwei.cn/#/mqtt3/mqtt-unsuback-0311) * [《3.12 PINGREQ – 心跳请求》](https://iot.mushuwei.cn/#/mqtt3/mqtt-pingreq-0312) * [《3.13 PINGRESP – 心跳响应》](https://iot.mushuwei.cn/#/mqtt3/mqtt-pingresp-0313) * [《3.14 DISCONNECT –断开连接》](https://iot.mushuwei.cn/#/mqtt3/mqtt-disconnect-0314) * [第四章 – 操作行为](https://iot.mushuwei.cn/#/mqtt3/mqtt-operational-behavior-04) * [第五章 – 安全](https://iot.mushuwei.cn/#/mqtt3/mqtt-security-05) * [第六章 – 使用WebSocket](https://iot.mushuwei.cn/#/mqtt3/mqtt-websocket-06) * [第七章 – 一致性目标](https://iot.mushuwei.cn/#/mqtt3/mqtt-conformance-07) * [附录B - 强制性规范声明](https://iot.mushuwei.cn/#/mqtt3/mqtt-appendixb-08) ### Part2-4『 三重境之感悟: MQTT v5.0中文协议文档』 * [《第一章 - 介绍》](https://iot.mushuwei.cn/#/mqtt5/mqtt-introduce) * [《第二章 MQTT控制报文格式 MQTT Control Packet format》](https://iot.mushuwei.cn/#/mqtt5/mqtt-control_packet_format) * [《第三章 - MQTT控制报文》](https://iot.mushuwei.cn/#/mqtt5/mqtt-control_packets_03) * [《3.1 CONNECT - 连接服务端》](https://iot.mushuwei.cn/#/mqtt5/mqtt-connect-0301) * [《3.2 CONNACK – 确认连接请求》](https://iot.mushuwei.cn/#/mqtt5/mqtt-connack-0302) * [《3.3 PUBLISH – 发布消息》](https://iot.mushuwei.cn/#/mqtt5/mqtt-publish-0303) * [《3.4 PUBACK – 发布确认》](https://iot.mushuwei.cn/#/mqtt5/mqtt-puback-0304) * [《3.5 PUBREC – 发布收到(QoS 2,第一步)》](https://iot.mushuwei.cn/#/mqtt5/mqtt-pubrec-0305) * [《3.6 PUBREL – 发布释放(QoS 2,第二步)》](https://iot.mushuwei.cn/#/mqtt5/mqtt-pubrel-0306) * [《3.7 PUBCOMP – 发布完成(QoS 2,第三步)》](https://iot.mushuwei.cn/#/mqtt5/mqtt-pubcomp-0307) * [《3.8 SUBSCRIBE - 订阅主题》](https://iot.mushuwei.cn/#/mqtt5/mqtt-subscribe-0308) * [《3.9 SUBACK - 订阅确认》](https://iot.mushuwei.cn/#/mqtt5/mqtt-suback-0309) * [《3.10 UNSUBSCRIBE – 取消订阅》](https://iot.mushuwei.cn/#/mqtt5/mqtt-unsubscribe-0310) * [《3.11 UNSUBACK – 取消订阅确认》](https://iot.mushuwei.cn/#/mqtt5/mqtt-unsuback-0311) * [《3.12 PINGREQ – 心跳请求》](https://iot.mushuwei.cn/#/mqtt5/mqtt-pingreq-0312) * [《3.13 PINGRESP – 心跳响应》](https://iot.mushuwei.cn/#/mqtt5/mqtt-pingresp-0313) * [《3.14 DISCONNECT – 断开连接》](https://iot.mushuwei.cn/#/mqtt5/mqtt-disconnect-0314) * [《3.15 AUTH – 认证交换》](https://iot.mushuwei.cn/#/mqtt5/mqtt-auth-0315) * [第四章 – 操作行为](https://iot.mushuwei.cn/#/mqtt5/mqtt-operational-behavior-04) * [第五章 – 安全](https://iot.mushuwei.cn/#/mqtt5/mqtt-security-05) * [第六章 – 使用WebSocket](https://iot.mushuwei.cn/#/mqtt5/mqtt-websocket-06) * [第七章 – 一致性目标](https://iot.mushuwei.cn/#/mqtt5/mqtt-conformance-07) * [附录B - 强制性规范声明](https://iot.mushuwei.cn/#/mqtt5/mqtt-appendixb-08) * [附录C - MQTT v5.0新特性总结 (非规范)](https://iot.mushuwei.cn/#/mqtt5/mqtt-appendixc-09) ## Part3.『 从零搭建高性能IoT平台 』 * 预习篇 * [《新基建和5G风口下的物联网平台》](https://iot.mushuwei.cn/#/iot-platform) * [《理解SaaS多租户应用的架构和设计》](https://iot.mushuwei.cn/#/saas) * 设备接入篇 * [《白话MQTT基础知识和入门》](https://iot.mushuwei.cn/#/mqtt-basic) * [《实现百万并发MQTT服务端》](https://iot.mushuwei.cn/#/high-performance-mqtt-server) * [《初识CoAP并抓住它的"心"》](https://iot.mushuwei.cn/#/coap-basic) * [《100行代码快速搭建功能完备的CoAP服务》](https://iot.mushuwei.cn/#/100-lines-of-code-realize-coap-service) * [《重新认识HTTP协议并管理设备》](https://iot.mushuwei.cn/#/rethinking-http) * [《实践案例: 车载终端设备的数据解析》](https://iot.mushuwei.cn/#/decoder-encoder-equipment-protocol) * 边缘计算篇 * [《工业领域下的Modbus网关设备》](https://iot.mushuwei.cn/#/gateway-modbus) * [《工业领域下的OPC-UA网关设备》](https://iot.mushuwei.cn/#/gateway-opcua) * 设备、接口认证和安全篇 * Spring Security能量 * [《什么是JWT(JSON Web Token)?》](https://iot.mushuwei.cn/#/what-jwt) * [《Spring Boot Security + JWT》](https://iot.mushuwei.cn/#/spring-security-without-jpa) * [《Spring Boot Security + JWT + MySQL》](https://iot.mushuwei.cn/#/spring-security-jpa) * 下一代安全实践OAuth2 * [《OAuth2.0 最简单的指南》](https://iot.mushuwei.cn/#/oauth2-guide) * 实时显示篇 * [《WebSocket技术魔法》](https://iot.mushuwei.cn/#/websocket) * 数据交换和序列化篇 * [《设备的语言-物模型》](https://iot.mushuwei.cn/#/tsl) * [《平台无关并具有扩展性的gRPC下的ProtoBuf》](https://iot.mushuwei.cn/#/grpc-protobuf) * 存储和查询篇 * [《PostgreSQL碰撞IoT》](https://iot.mushuwei.cn/#/postgresql-iot) * [《MongoDB在IoT中的应用》](https://iot.mushuwei.cn/#/mongodb-iot) * 流处理和消息队列篇 * [《简单实现一个消息队列》](https://iot.mushuwei.cn/#/how-to-build-queque) * [《广受好评的Kafka》](https://iot.mushuwei.cn/#/kafka) * [《从未缺席的RabbitMQ》](https://iot.mushuwei.cn/#/rabbitmq) * 规则引擎篇 * [《规则引擎在IoT的重要性》](https://iot.mushuwei.cn/#/what-rule-engine) * [《Easy-Rules规则引擎在IoT的使用》](https://iot.mushuwei.cn/#/rule-engine-easyrules) * [《带你走进ThingsBoard规则引擎的实现原理》](https://iot.mushuwei.cn/#/rule-engine-thingsboard) * [《阿里云物联网平台规则引擎的面纱》](https://iot.mushuwei.cn/#/rule-engine-aliyun) * Docker和k8s篇 * [《Docker在IoT技术领域的应用》](https://iot.mushuwei.cn/#/docker-iot) * [《DevOps的领头羊-Kubernetes》](https://iot.mushuwei.cn/#/devops-kubernetes) ## Part4.『 Thingsboard源码解析 』 - 准备篇 - [《物联网时代-Thingsboard源码分析-调试环境搭建》](https://iot.mushuwei.cn/#/thingsboard/thingsboard-build) - [《物联网时代-Thingsboard源码分析-项目结构说明》](https://iot.mushuwei.cn/#/thingsboard/project-structure) - 设备连接协议篇 - [《MQTT设备连接协议-上》](https://iot.mushuwei.cn/#/thingsboard/mqtt-protocol-part1) - [《MQTT设备连接协议-下》](https://iot.mushuwei.cn/#/thingsboard/mqtt-protocol-part2) - [《CoAP设备连接协议》](https://iot.mushuwei.cn/#/thingsboard/coap-protocol) - [《HTTP设备连接协议》](https://iot.mushuwei.cn/#/thingsboard/http-protocol) - 存储和查询篇 - [《数据模型之用户相关表结构设计》](https://iot.mushuwei.cn/#/thingsboard/user-table) - [《数据模型之设备相关表结构设计》](https://iot.mushuwei.cn/#/thingsboard/device-table) - [《数据模型之规则引擎相关表结构设计》](https://iot.mushuwei.cn/#/thingsboard/rule-engine) - [《领略Spring Data JPA在Thingsboard的使用》](https://iot.mushuwei.cn/#/thingsboard/jpa-sql) - 网关篇 - [《网关之Modbus》](https://iot.mushuwei.cn/#/thingsboard/modbus) - [《网关之OPC-UA》](https://iot.mushuwei.cn/#/thingsboard/opcua) - 实时显示篇 - [《实时显示之WebSocket》](https://iot.mushuwei.cn/#/thingsboard/websocket) - 数据交换和序列化篇 - [《数据交换和序列化篇之JSON》](https://iot.mushuwei.cn/#/thingsboard/tsl) - [《数据交换和序列化篇之ProtoBuf》](https://iot.mushuwei.cn/#/thingsboard/protobuf) - 设备、接口认证和安全篇 - [《Spring Security在接口的使用》](https://iot.mushuwei.cn/#/thingsboard/spring-security) - [《紧跟安全前沿OAuth2》](https://iot.mushuwei.cn/#/thingsboard/oauth2) - 流处理和消息队列篇 - [《流处理和消息队列篇之Kafka》](https://iot.mushuwei.cn/#/thingsboard/kafka) - [《流处理和消息队列篇之RabbitMQ》](https://iot.mushuwei.cn/#/thingsboard/rabbitmq) - 规则引擎篇 - [《Rule Engine解放你的双手》](https://iot.mushuwei.cn/#/thingsboard/rule-engine) - Docker和kubernetes篇 - [《Docker和IoT的碰撞》](https://iot.mushuwei.cn/#/thingsboard/docker-iot) - [《让人惊叹的Kubernetes》](https://iot.mushuwei.cn/#/thingsboard/kubernetes) - 设计模式篇 - [《一文看尽命令模式》](https://iot.mushuwei.cn/#/thingsboard/command-design-pattern)