自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(469)
  • 收藏
  • 关注

原创 Kafka 系列 —(2)Kafka 安装与配置(从零到可运行)

本文详细介绍了Kafka的安装与配置方法,包括单机模式和集群模式。主要内容涵盖:系统环境准备、Kafka下载安装、核心配置文件说明、常用操作命令(创建/查看Topic,生产消费消息)、集群部署及KRaft模式安装(Kafka3.x+)。特别指出了生产环境的关键配置项(Broker ID、监听地址、日志目录等)和常见问题解决方案,并给出了最佳实践建议,如使用SSD、合理设置副本数等。适用于物联网平台等需要高性能消息队列的场景。

2025-11-24 08:15:00 126

原创 Kafka 系列 —(1)Kafka 介绍

《Kafka:分布式消息系统的核心特性与应用场景》 摘要:Apache Kafka是一个高吞吐、分布式的发布-订阅消息系统,兼具消息队列、分布式日志和流处理平台三重功能。其核心特点包括顺序写磁盘+零拷贝技术实现的高性能、通过分区机制实现的水平扩展能力,以及副本机制保障的高可用性。Kafka典型应用场景涵盖IoT设备数据流处理、系统间异步解耦、实时数据分析等七大领域,特别适合处理海量日志、指标等时序数据。作为LinkedIn为解决大规模数据处理问题而开发的开源项目,Kafka已成为现代大数据架构中实时数据传输

2025-11-24 07:45:00 103

原创 WebSocket 与 HTTP/REST 架构对比:状态管理与通信机制的权衡

摘要:本文对比分析了有状态(WebSocket)和无状态(REST)API的核心区别及应用场景。无状态API采用短连接、单向通信,适用于页面加载、表单提交等场景,具有扩展性强、易缓存等优点;有状态API通过长连接实现双向实时通信,适合物联网、IM等场景,具有延迟低、推送实时等优势。现代系统常采用混合架构:REST处理注册查询等无状态操作,WebSocket负责实时控制。文中通过智能锁示例展示了两种API的协同工作方式,并提供了混合架构示意图,说明如何通过API网关、MQTT等组件实现高效解耦和扩展。

2025-11-22 08:30:00 157

原创 WebSocket 系列—(11)WebSocket 安全机制深入解析

WebSocket安全防护指南摘要:本文系统介绍了WebSocket的安全风险与防护措施。核心风险包括明文通信泄露、未授权访问、跨站劫持(CSWSH)等。最佳实践建议:1)强制使用WSS协议(TLS 1.2+)加密通信;2)采用JWT或mTLS进行身份验证;3)严格校验Origin防止CSWSH攻击;4)通过JSON Schema验证和HMAC签名确保消息完整性;5)设置连接数限制、速率控制等防DoS机制;6)完备的安全日志审计体系。安全架构应包含TLS加密、认证授权、消息验证等多层防护,并建立持续监控机制

2025-11-22 07:45:00 23

原创 WebSocket 系列—(10)WebSocket 连接生命周期与状态机图

WebSocket连接生命周期包含四个阶段:连接建立(CONNECTING)、通信(OPEN)、关闭中(CLOSING)和已关闭(CLOSED)。状态转换通过握手成功、发送/接收关闭帧等事件触发,异常断开会直接进入CLOSED状态(状态码1006)。关闭握手是双向流程,双方需交换关闭帧后才能完全终止连接。RFC6455定义了完整的协议规范,包括状态码和关闭握手机制。MDN提供了对应的API状态映射(readyState 0-3)。

2025-11-21 09:44:10 162

原创 WebSocket 系列—(9)WebSocket 状态码(Close Codes)深入解析

WebSocket状态码用于标识连接关闭原因,遵循RFC6455标准。状态码1000-1011为标准定义,如1000(正常关闭)、1001(客户端离开)、1002(协议错误)等。1005、1006、1015为保留状态码,仅用于内部报告。关闭帧包含2字节状态码和可选UTF-8原因文本。开发中可使用4000-4999自定义业务错误码。状态码区分于TCP状态,表示应用层关闭原因而非物理连接状态。典型应用场景包括正常断开(1000)、协议错误(1002)、鉴权失败(1008)等,前后端可通过特定API发送关闭帧。

2025-11-21 09:43:47 103

原创 WebSocket 系列—(8)WebSocket HTTP 标头(Headers)

摘要:WebSocket通过HTTP/1.1的"Upgrade"机制建立连接。客户端发送包含Sec-WebSocket-Key等特殊头部的GET请求,服务端返回101状态码确认升级。核心头部包括:Upgrade、Connection、Sec-WebSocket-Key/Accept用于安全验证。可选头部可定义子协议(Sec-WebSocket-Protocol)、扩展功能(如消息压缩)及跨域控制(Origin)。握手成功后,连接将切换为WebSocket二进制帧通信,实现全双工实时数据传

2025-11-20 09:00:00 709

原创 WebSocket 系列—(7)WebSocket 协议深入解析

WebSocket是一种基于TCP的全双工通信协议(RFC6455),通过HTTP升级握手实现持久连接,支持低延迟双向通信。其核心特点包括:1)通过Upgrade头完成HTTP到WebSocket的协议转换;2)采用帧结构(FIN/Opcode/Mask等字段)传输数据;3)内置Ping/Pong心跳机制;4)支持wss加密传输。相比HTTP,WebSocket更适用于实时消息、数据推送等场景。典型实现包含握手过程(含Sec-WebSocket-Key校验)、数据帧解析、连接管理等,可通过STOMP等子协议

2025-11-20 08:45:00 562

原创 WebSocket 系列—(5)WebSocket 双向聊天系统 API 设计规范

本文档定义了一套基于WebSocket和STOMP协议的实时双向聊天API规范,涵盖1对1和群组聊天场景。系统设计强调实时性(延迟≤200ms)、可靠性(至少一次投递)、伸缩性(支持百万级连接)和安全性(强制TLS+JWT鉴权)。采用分层架构,包含WebSocket网关、消息服务、存储层和消息总线。详细设计了REST接口和WebSocket/STOMP协议,包括握手鉴权、消息格式、持久化机制和可靠性保障。同时规范了会话管理、心跳检测、速率限制等关键功能,并提供错误处理建议和扩展部署方案,为开发者提供全面的实

2025-11-19 09:00:00 642 1

原创 WebSocket 系列—(6)通过 WebSocket 进行 STOMP 操作

摘要: STOMP(Simple Text Oriented Messaging Protocol)是基于文本的轻量级消息协议,常与WebSocket结合实现实时通信(如聊天、通知推送)。WebSocket负责传输层,STOMP定义消息语义,支持命令(CONNECT、SUBSCRIBE等)和帧结构(Header+Body)。客户端可通过库(如@stomp/stompjs)连接Broker(RabbitMQ/ActiveMQ),订阅主题并收发消息。关键机制包括心跳保活、ACK确认(auto/client模式)

2025-11-19 08:45:00 1417

原创 WebSocket 系列—(4)WebSocket 双向聊天深入解析

本文系统介绍了WebSocket聊天系统的设计与实现。核心采用全双工通信模型,通过HTTP握手建立持久连接后实现双向通信。架构设计包括客户端API、WebSocket网关、消息服务和数据存储等模块,详细说明了浏览器端实现逻辑和服务端Node.js示例。重点阐述了消息协议设计、会话管理、消息路由和安全机制等关键环节,并提供消息确认重发、性能优化等进阶方案。文章还探讨了WebSocket与REST API的协同工作模式,最后总结了系统实现的关键检查点清单。该系统可实现单聊、群聊等实时通信功能,并支持消息持久化和

2025-11-18 09:00:00 591

原创 WebSocket 系列—(3)WebSocket API 深入解析

WebSocket技术解析与实践指南 WebSocket是基于TCP的全双工实时通信协议,通过HTTP握手升级实现持久连接。核心机制包括二进制帧传输(文本/二进制/Ping/Pong)、子协议协商和心跳保活。浏览器端通过WebSocket API实现连接管理,支持文本/二进制数据传输;服务端可通过Node.js(ws模块)、Java(Spring)或Python(FastAPI)快速搭建。 在IoT等场景中,建议采用结构化消息设计(如JSON格式),结合JWT鉴权、TLS加密及心跳机制保障安全性。对比RES

2025-11-18 08:45:00 735

原创 WebSocket 系列—(2)WebSocket 常见错误与解决方案

WebSocket常见问题及解决方案总结 本文系统梳理了WebSocket开发中的常见问题及解决方法,覆盖连接建立、通信、心跳、安全等全链路场景。主要内容包括:1)连接阶段错误如拒绝访问、超时和鉴权问题;2)通信过程中的异常断开、数据格式错误;3)心跳机制实现与自动重连方案;4)Nginx代理配置要点;5)安全防护建议。同时提供了前端心跳+重连代码示例,以及Wireshark、wscat等调试工具使用方法。针对不同应用场景(IoT、聊天室等)给出了优化建议,帮助开发者快速定位和解决WebSocket相关问题

2025-11-17 09:00:00 1964

原创 WebSocket 系列—(1)WebSocket 安装与配置手册

本文详细介绍了WebSocket协议的安装与配置方案。内容涵盖:1) 服务端实现(包括Node.js、Java SpringBoot、Python FastAPI和C/ESP32嵌入式四种方案);2) 前端连接方法;3) Nginx反向代理与SSL配置;4) 调试验证技巧;5) 生产部署建议。重点讲解了WebSocket与HTTP的本质区别,并提供了各类开发环境下的代码示例和配置说明。文中还强调了生产环境下的安全建议,包括强制使用wss、反向代理部署和连接认证等最佳实践,为构建实时通信系统提供完整指导。

2025-11-17 08:45:00 1663

原创 REST API系列—(10)REST API 常见问题诊断及解决方案

本文系统梳理了RESTAPI开发全周期常见问题及解决方案。在设计阶段需规范URI、版本控制和状态码使用;开发阶段应注意参数校验、幂等性和性能优化;安全阶段要防范认证漏洞和敏感信息泄露;运维阶段需完善文档、监控和限流机制。最后提出HATEOAS、ETag等进阶优化建议,并总结RESTAPI健壮性的五大核心原则:一致性、幂等性、安全性、可维护性和可扩展性。通过全流程规范化设计,可显著提升API的质量和健壮性。

2025-11-15 09:00:00 1007

原创 REST API系列—(9)REST API Representation Design 深入解析

REST架构中的表现层(Representation)是资源在网络传输中的具体形式,分为JSON、XML等格式。设计目标包括一致性、可扩展性和自描述性,通常包含HTTP头部、资源内容和超链接(HATEOAS)。内容协商通过HTTP头实现格式选择,推荐采用JSON为主流格式。表现层需考虑结构规范(JSON Schema)、字段命名规则和安全设计(签名/脱敏)。在IoT等场景中,表现层应包含元数据和操作链接。版本兼容通过可选字段或MIME类型实现。最佳实践强调统一格式、安全响应和HATEOAS支持。

2025-11-15 08:45:00 680

原创 REST API系列—(8)REST API 元数据设计规范(Metadata Design Guide)

本文系统介绍了REST API元数据的设计规范与应用实践。首先定义了API元数据作为"描述数据的数据"的核心概念及其价值,包括自描述、可追踪等特性。随后提出元数据的层级分类体系(接口级、响应级、资源级、系统级),并详细阐述标准响应格式的设计方案。重点解析了分页控制、资源描述、HATEOAS扩展、安全追踪等关键场景的元数据字段规范,特别针对IoT智能锁场景给出了完整示例。最后总结最佳实践,强调分页、时间戳、版本控制等关键要素的标准化处理,以及安全性和扩展性的平衡考量。全文通过Schema定

2025-11-14 10:38:29 1070

原创 REST API系列—(7)REST API 元数据设计深入解析

本文系统介绍了REST API元数据的设计与实践。首先定义了元数据作为"数据的数据"在API中的核心作用,包括资源、交互、系统和超媒体四类元数据。随后提出自描述性、可发现性等设计目标,并详细解析了四种常见设计模式:响应头、响应体、HATEOAS链接和错误响应中的元数据实现方式。文章特别针对分页、版本控制和安全审计等关键场景给出具体设计建议,最后结合IoT智能锁系统展示了元数据的实际应用。通过统一结构、标准化字段和扩展性设计,元数据可有效增强API的可理解性和可用性。

2025-11-14 10:37:25 753

原创 REST API系列—(6)REST API 基于 HTTP 的交互设计规范

本文档提供了RESTful API设计规范,旨在统一接口设计标准,提高可读性和易用性。主要内容包括:REST核心思想与HTTP方法语义、URI设计规则、状态码使用规范、响应体格式、请求参数处理等关键设计要素。重点强调了幂等性、缓存策略、安全认证等API质量特性,并提供了版本控制、自动化文档等维护策略。最后通过示例流程和参考表格,展示了标准API交互模式。该规范适用于基于HTTP/HTTPS的各种REST API开发场景。

2025-11-13 09:00:00 1541

原创 REST API系列—(5)HTTP 响应状态码规范与 REST API 设计指南

本文系统介绍了HTTP状态码在REST API中的设计原则与应用规范。首先阐述了状态码的分类标准(1xx-5xx),重点解析了2xx成功、3xx重定向、4xx客户端错误和5xx服务端错误的具体状态码及其适用场景。文章推荐采用{"code":0,"message":"OK","data":{...}}的统一响应体格式,并提供了业务级错误码设计方案。最后总结了最佳实践规范,包括各类HTTP方法的响应准则、错误处理方式以及HTTP头部

2025-11-13 08:45:00 1038

原创 REST API系列—(4)REST API 使用 HTTP 进行交互的设计深入解析

本文系统阐述了REST API的设计哲学与规范实践。首先介绍了REST基于资源的架构风格,强调HTTP不仅是传输协议更是语义载体。详细分析了HTTP动词的语义差异(GET/POST/PUT等)及其幂等性特征,并提供了URI命名规范和层级设计示例。重点讲解了HTTP状态码的正确使用方法,区分各类业务场景的响应状态。此外,还涵盖了幂等性设计、缓存机制、安全认证、响应格式等核心要素,总结出REST具备无状态、统一接口、可缓存等系统特性。全文通过智能锁平台等实战案例,为开发者提供了一套完整的RESTful API设

2025-11-12 09:00:00 1009

原创 REST API系列—(3)OpenAPI / Swagger 自动生成RESTful API文档规范

摘要:本文详细介绍OpenAPI 3.x规范的实践应用,包括文档结构、自动生成配置和最佳实践。文档要求具备自动生成、统一规范、交互体验和版本控制特性。提供SpringBoot和Node.js两种自动生成配置方案,通过代码注释自动生成API文档。规范强调路径命名、响应结构、错误码等标准化,推荐使用Swagger UI等工具进行交互调试,并支持多格式导出和代码自动生成。

2025-11-12 08:45:00 615

原创 REST API系列—(2)REST API URI 设计规范文档

本文详细介绍了REST API URI设计规范,重点包括:URI应采用全小写、短横线连接的命名方式,使用名词复数表示资源集合;层级结构需清晰表达资源间关系;HTTP方法需与资源操作严格对应;查询参数规范用于过滤、分页等;必须包含版本控制机制。文章还提供了智能锁系统的完整URI设计示例、常见错误分析及最佳实践建议,强调语义清晰、结构一致和可扩展性的设计原则。附录包含推荐命名词汇和树状结构示例,适用于各类服务端API设计场景。

2025-11-11 09:00:00 789

原创 REST API系列—(1)REST API URI(统一资源标识符)设计原则与实践

REST API URI设计最佳实践摘要 本文系统阐述了REST架构中URI设计的关键原则与方法。URI作为资源的唯一标识,需遵循名词化(如/users)、层级化(如/users/{id}/orders)和动作分离(通过HTTP方法表达)三大核心原则。文章详细解析了URI的层次结构(资源集合→单个资源→子资源→复合资源→动作资源),并提供了HTTP方法组合矩阵(GET查询/POST创建/PUT更新/DELETE删除)。参数设计规范建议路径参数标识资源(/devices/{id}),查询参数处理过滤分页(?s

2025-11-11 08:45:00 1506

原创 MQTT系列—(26)MQTT 5 流量控制优化策略(ESP32 + EMQX 实践版)

本文探讨物联网中MQTT5流控机制在ESP32设备上的优化应用。针对内存和带宽限制,提出了ReceiveMaximum、TopicAlias等参数的优化策略,建立了吞吐量模型并给出具体配置建议。实验表明,优化后吞吐量提升2倍以上,同时降低43%带宽消耗,为低功耗、高可靠的物联网通信提供了有效解决方案。

2025-11-10 09:00:00 1396

原创 MQTT系列—(25)MQTT 5 Topic Alias 优化策略与带宽节省评估(IoT设备端通信性能优化)

IoT设备高频通信中的MQTT5 TopicAlias优化机制能显著降低传输负载。通过将主题字符串替换为2字节整型ID,在测试中节省70-90%带宽,尤其适用于固定主题的高频场景(如传感器上报)。优化策略包括设备端缓存机制和Broker端映射管理,需注意断线重连时的别名失效问题。建议结合负载压缩技术使用,但对低频或主题频繁变化的场景效果有限。实验验证该机制能有效减少网络延迟和CPU负载。

2025-11-10 08:45:00 912 1

原创 MQTT系列—(24)流量控制(Flow Control)

MQTT5流量控制机制解析 MQTT5流量控制是一套多层次调度系统,旨在防止消息淹没、优化资源使用并提升系统稳定性。核心机制包括: ReceiveMaximum限制QoS>0消息的并发数 MaximumPacketSize控制单包大小 TopicAlias减少协议头负载 ServerKeepAlive动态调整心跳 MessageExpiryInterval防止消息堆积 实现要点: 客户端需维护inflight状态 Broker采用背压机制和优先级调度 配合QoS等级实现差异化控制 典型IoT场景如智能

2025-11-08 09:00:00 1913

原创 MQTT系列—(23)增强身份验证(Enhanced Authentication)

MQTT5增强身份验证机制解析 摘要:MQTT5协议引入了增强身份验证机制,通过AUTH报文实现多步交互式认证,显著提升了安全性能。该机制支持SCRAM、JWT、OAuth2、国密SM2等多种认证方案,允许客户端与Broker进行多轮认证交互。核心改进包括:1) 新增AUTH报文类型;2) 定义AuthenticationMethod和AuthenticationData属性;3) 支持非对称签名等高级认证方式。相比MQTT3.1.1的简单认证,增强认证提供了更好的可扩展性和安全性,特别适用于工业物联网、智

2025-11-08 08:45:00 769

原创 MQTT系列—(22)主题别名(Topic Alias)

MQTT5.0主题别名(TopicAlias)是一项针对物联网低带宽场景设计的优化特性。它通过将长主题名映射为2字节数字别名,在首次发送后即可使用短别名代替完整主题,显著降低传输负载。该特性支持双向使用(客户端和服务端各自维护独立映射表),通过CONNECT报文声明最大别名数,在PUBLISH报文中使用TopicAlias属性实现。使用时需注意别名仅在会话内有效,断线需重新注册,且要避免空主题名未配别名的错误。实测表明该特性可减少20-30%的传输负载,特别适合高频消息场景。

2025-11-07 09:00:00 857

原创 MQTT系列—(21)请求-响应模式(Request-Response Pattern

MQTT5通过ResponseTopic和CorrelationData实现请求-响应模式,弥补了MQTT3.1.1单向通信的不足。该机制支持RPC/指令交互,包含三个核心属性:ResponseTopic指定响应主题、CorrelationData建立请求关联、UserProperties扩展元数据。设计上建议采用结构化Payload(如JSON)配合签名验证确保安全,并提供同步命令、异步通知等常见模式。相比HTTP RPC,MQTT5具有持久连接、双向通信和低延迟优势,特别适合IoT场景。最佳实践包括使用

2025-11-07 08:45:00 1587

原创 MQTT系列—(20)Payload 元数据设计规范

本文提出了基于MQTT5协议的物联网安全消息传输规范,重点设计了包含加密签名机制的结构化消息框架。规范定义了元数据字段(PayloadFormatIndicator、ContentType、UserProperties)和JSONSchema格式的Payload数据体,支持SM3/SM4国密算法进行签名加密。通过端到端消息示例展示了设备上报、Broker验签与分发的完整流程,并给出安全性建议:优先TLS传输层加密、统一签名对象、支持密钥轮换等。该方案实现了标准化格式、可靠传输和可验证性三大目标,为物联网通信

2025-11-06 09:00:00 929 1

原创 MQTT系列—(19)有效载荷格式说明

MQTT5协议报文结构解析及应用实践摘要:本文详细解析了MQTT5协议报文结构,重点介绍了PUBLISH报文的Payload核心结构及其格式属性扩展。MQTT5新增了PayloadFormatIndicator、ContentType、UserProperties等字段,支持JSON、二进制等多种数据格式,并实现了请求-响应模式。文章提供了IoT场景下的Payload格式设计规范,包括通用JSON结构、安全加密实践及Broker处理流程。最后总结了MQTT5相比MQTT3.1.1在格式标识、自定义属性和类型

2025-11-06 08:45:00 1890

原创 MQTT系列—(18)共享订阅深入解析

摘要: MQTT5.0共享订阅机制详解。该机制允许多个客户端共享订阅同一主题,由Broker进行负载均衡分发消息($share/<group-id>/<topic>格式)。与普通订阅不同,共享订阅中消息仅由组内一个成员接收。文章详细解析其工作原理,包括消息分配策略(轮询/随机/哈希)、QoS差异、实际应用场景(如物联网设备监控)。提供Python代码示例,并与MQTT3.1.1对比说明新特性。同时介绍Broker内部队列管理、错误处理方法及ReasonCode。最后总结共享订阅在水平

2025-11-05 09:00:00 1115

原创 MQTT系列—(17)用户属性(User Property)

MQTT5.0中的UserProperty是一种UTF-8键值对属性,允许在多种控制报文中携带自定义元数据。其核心价值在于无需修改消息体即可扩展协议语义,支持多值重复键,与HTTP头部类似。典型应用包括消息追踪(TraceID)、多租户隔离(tenantId)、设备版本标识等场景。UserProperty数据存储在报文属性区,由设备端添加、Broker解析转发、云端服务消费,形成完整传播链路。相比MQTT3.1.1实现了协议层级的可扩展性,但需注意避免传递敏感信息和控制长度(建议<1KB)。这一特性为

2025-11-05 08:45:00 801

原创 MQTT系列—(16)客户端反馈机制 和 否定确认(NACK)深入解析

MQTT5.0改进了客户端反馈与否定确认机制,显著提升了物联网通信的可诊断性和控制能力。相比MQTTv3.1.1,其新增了详细的"原因码"(ReasonCode)和"原因字符串"(ReasonString),支持精确反馈连接、订阅、发布等操作的结果。通过否定确认(NACK)机制,Broker可以明确拒绝请求并告知具体原因,如权限不足、消息过大等。此外,用户属性(UserProperty)字段支持扩展元数据交互。这些改进使设备端能快速定位问题,优化重连策略,同时为大规模

2025-11-04 09:00:00 1197

原创 MQTT系列—(15)MQTT 会话和消息到期间隔

MQTT协议中的会话与消息过期机制详解 本文系统介绍了MQTT协议中的两种过期机制: 会话过期间隔(SessionExpiryInterval):控制客户端断开后Broker保留会话状态的时间,影响订阅、未确认消息等会话数据的持久性。 消息过期间隔(MessageExpiryInterval):决定单条消息在Broker中的最大保留时长。 文章详细阐述了二者的字段位置、默认值、生命周期管理流程,并提供了典型场景下的配置建议。特别强调了两者的协同作用,指出会话过期针对会话状态,而消息过期针对具体消息。通过对比

2025-11-04 08:45:00 1730

原创 MQTT系列—(14)MQTT 5.0-可变报头与属性系统

MQTT 5.0协议新增属性机制增强功能扩展性。本文系统介绍了MQTT 5.0的报文结构演进,重点分析了预定义属性标头的格式、类型及典型应用场景。属性机制通过在报文头添加PayloadFormatIndicator、MessageExpiryInterval等预定义属性,以及支持UserProperty自定义属性,显著提升了协议在RPC调用、消息过期控制、会话管理、主题别名等方面的能力。文章详细列举了38个预定义属性标识符,并通过5个典型场景说明其应用价值,包括设备RPC通信、消息过期机制、元数据透传等,展

2025-11-03 09:00:00 1485

原创 MQTT系列—(13)MQTT 5.0-Reason Code 深入解析

MQTT 5.0 ReasonCode解析与应用 摘要:MQTT 5.0引入的ReasonCode机制解决了MQTT 3.1.1中错误信息不明确的问题。ReasonCode是单字节无符号整数(0x00–0xFF),可随确认或响应报文传输,并配合ReasonString提供详细描述。常见ReasonCode包括连接认证失败(0x86)、发布授权拒绝(0x90)、订阅配额超限(0x97)等。实践建议:1)日志记录完整Reason信息;2)前端映射为友好提示;3)Broker主动使用ReasonCode反馈错误;

2025-11-03 08:45:00 953

原创 MQTT系列—(12) MQTT 5.0 深入解析

MQTT5.0协议全面解析与实战指南 摘要:MQTT5.0作为2019年发布的物联网通信协议,在MQTT3.1.1基础上实现了重大升级。核心改进包括:灵活的Properties机制支持自定义元数据扩展、增强的会话管理与消息控制(会话过期、消息过期)、共享订阅实现负载均衡、详细的ReasonCode错误反馈机制等。协议优化了RPC模式支持、流控能力和用户身份管理,特别适合云原生和大规模IoT场景。相比3.1.1版本,MQTT5.0显著提升了协议扩展性、语义清晰度和运维诊断能力。主流Broker如EMQX、Mo

2025-11-01 09:00:00 810

原创 MQTT系列—(11)通过WebSockets 进行MQTT通信详解

摘要:MQTToverWebSockets将MQTT协议封装在WebSocket通道中传输,使浏览器可通过8083/443端口直接使用MQTT功能。相比传统MQTT,它更易穿透防火墙,适合Web控制台、混合应用等场景,但性能开销较高。协议栈包含MQTT应用层和WebSocket传输层,建立连接需完成WebSocket握手。示例展示了使用MQTT.js通过WSS连接Broker的方法。安全建议包括启用WSS、JWT鉴权等。虽然性能略低于原生MQTT,但其浏览器兼容性和HTTPS端口优势使其成为现代IoT平台的

2025-11-01 08:45:00 849

低功耗与锂电池管理设计指南,适合做智能锁、智能手环、耳机、可穿戴、传感器等 附固件结构代码

低功耗与锂电池管理设计指南+ESP32 + FreeRTOS (ESP-IDF) 的固件代码框架 ESP32 + FreeRTOS (ESP-IDF) 的固件代码框架,包含: - BMS 状态机(保护阈值、NTC 采样、充/放电逻辑) - SOC(库仑计 + 电压校准)模板 - 低功耗任务调度(tickless、事件驱动、deep sleep 唤醒示例) - BLE 上报 API(可插入 NimBLE / Bluedroid 实现) - 简单硬件抽象(ADC、电流测量、GPIO 控制充电 MOSFET) - 常用 BLE 参数建议与配置点 说明与适用范围: - 此代码面向 ESP32 (ESP-IDF) 环境(使用 FreeRTOS)。如果你使用 STM32 等平台,低功耗/睡眠 API 与外设函数需替换为对应 HAL API,状态机/逻辑部分仍然适用。 - BLE 函数以抽象 API 形式给出(ble_*),在你的工程中可使用 NimBLE/NimBLE-Arduino 或 ESP-BLE 实现这些接口。代码重点在架构与状态机与低功耗流程,做了较多注释方便移植。

2025-11-12

计算机视觉阶段五:前沿与高级方向

计算机视觉阶段五:前沿与高级方向

2025-06-20

计算机视觉阶段三&四:深度学习 + CV 模型训练及部署实战

计算机视觉阶段三&四:深度学习 + CV 模型训练及部署实战

2025-06-19

从0到1:AI 全栈项目实战模板

构建一个「图像识别系统」,用户上传图片,系统识别物体类别并返回结果,支持 Web 页面调用和 REST API。 内容包括标准的目录结构、数据处理、模型训练、推理服务、前端界面和部署配置等基础代码框架

2025-06-17

WebAuthn AWS Serverless Java 项目代码包

注册流程模块及认证流程 配置类(WebAuthnConfig) 模型类(Credential) 存储实现(CredentialRepository) JSON 工具类(JsonUtil)

2025-05-12

指令中心微服务的 Spring Boot 项目源码

该项目包含基本的指令下发、Kafka 消息推送、Redis 在线检测、MySQL 持久化等功能,便于在 IoT 场景下扩展和部署。 这是一个基于 Spring Boot 的物联网指挥中心项目,具备以下功能: Web 接口开发 数据库操作(JPA) 消息队列(Kafka) 缓存/数据存储(Redis) JSON 数据处理(Gson) 实体持久化(Jakarta Persistence API) 代码简化工具 Lombok(可选)

2025-05-06

软著著作权模板 软件著作权(简称“软著”)是对计算机软件源代码、文档等享有的版权,受《中华人民共和国著作权法》保护

如何自己申请软件著作权

2025-04-08

创建一个Flutter todolist应用

创建一个简单的 TODO 应用,支持添加、删除任务,并使用 Provider 进行状态管理。 功能介绍 1. 添加任务:用户输入任务并点击 "添加" 按钮,任务会出现在列表中。 2. 删除任务:点击删除按钮,即可删除任务。 3. 状态管理:使用 Provider 进行任务管理,确保 UI 实时更新。

2025-03-10

创建一个Flutter天气应用

创建一个天气应用,它将从 OpenWeather API 获取天气数据,并显示当前天气情况。 主要功能 ①用户输入城市名称,获取该城市的天气信息 ②显示当前温度、天气状态(如晴天、多云) ③使用 Provider 进行状态管理 ④调用 OpenWeather API 获取实时天气数据

2025-03-10

待办事项列表(Todo List)

待办事项列表(Todo List) - 功能:添加任务、标记完成、删除任务。 - 技术点:DOM 操作、事件委托、本地存储。

2025-03-07

物联网安全技术架构概述

一、物联网安全架构概述 二、关键安全技术 三、安全措施

2025-01-16

前后端分离系统架构模式图

前后端分离是一种软件架构模式,它将传统的 Web 应用开发模式进行了拆分,将前端(用户界面)和后端(业务逻辑)彻底分离。在这种架构中,前端主要负责用户界面的展示和交互,后端主要负责业务逻辑处理、数据访问和接口提供。

2025-01-09

Midjourney 常用参数列表

Midjourney 作为一款强大的 AI 图像生成工具,其参数设置对最终的生成效果有着至关重要的影响。通过合理地调整参数,我们可以生成出符合我们想象的各种风格的图像。  核心参数详解 1. 版本 (Version) 作用: 选择不同的 Midjourney 版本,可以获得不同的图像风格和质量。 参数: --v 后跟版本号,例如 --v 5。 2. 长宽比 (Aspect Ratio) 作用: 调整生成的图像的宽高比例。 参数: --ar 后跟比例,例如 --ar 16:9。 3. 混沌值 (Chaos) 作用: 控制图像生成的随机性,数值越大,图像越抽象。 参数: --chaos 后跟数值,范围通常为 0-100。 4. 风格化 (Stylize) 作用: 控制图像的艺术风格程度,数值越大,图像越偏向艺术风格。 参数: --stylize 后跟数值,范围通常为 0-1000。 5. 质量 (Quality) 作用: 控制图像的生成质量,数值越大,图像质量越高,但生成时间也越长。 参数: --q 后跟数值,可选值通常为 0.25, 0.5, 1, 2。 6. 种子 (Seed) 作

2025-01-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除