- 博客(31)
- 资源 (84)
- 收藏
- 关注
原创 从零入门 Python 加密算法!含完整可运行代码 + 场景对比 + 避坑详解
本文介绍了Python实现四大加密算法的实战方法。首先将加密算法分为四类:Base64编码(数据格式转换)、MD5摘要(单向加密)、AES对称加密(快速高效)和RSA非对称加密(高安全性)。文章详细展示了每种算法的Python实现代码,包括Base64编解码、带盐值的MD5加密、AES-CBC模式加解密以及RSA密钥生成与加解密。最后通过对比表格总结了各算法的特点,并给出开发建议:密码存储使用加盐MD5/SHA256,业务数据优先AES,敏感接口结合RSA+AES。所有代码可直接运行,适合开发者在项目中快速
2026-04-06 13:11:33
40
原创 一文分清TCP与UDP:网络传输的“双雄”,各有神通
TCP和UDP是互联网数据传输的两大核心协议。TCP像严谨的快递员,通过三次握手建立连接,确保数据可靠有序传输,适用于文件传输、网页浏览等需要准确性的场景;UDP则像高效的快递员,直接发送数据不建立连接,速度快但可能丢失数据,适合直播、游戏等实时性要求高的应用。二者各有优势,TCP保证可靠性,UDP追求效率,共同支撑着互联网的稳定运行。了解它们的区别有助于理解不同网络应用的特性。
2026-04-06 09:39:29
57
原创 物联网通讯协议怎么选?MQTT、TCP、UDP、HTTP、HTTPS全面解析
本文系统解析了物联网领域五种核心通讯协议:MQTT、TCP、UDP、HTTP和HTTPS。MQTT作为轻量级协议适用于低功耗多设备场景;TCP提供可靠传输但延迟较高;UDP适合实时性要求高的应用;HTTP简单通用但安全性不足;HTTPS则提供高安全性但资源消耗大。文章通过对比分析各协议的优劣势和适用场景,提出了"匹配需求"的选型原则:低功耗选MQTT、高实时性选UDP、高安全性选HTTPS、低成本选HTTP。同时指出常见选型误区,强调应根据具体场景需求灵活组合使用不同协议,以平衡性能、功
2026-04-06 09:37:52
230
原创 Python开发环境搭建(Windows超详细)+ HelloWorld工程实例(新手零踩坑)
本文为Python新手提供一站式入门指南,详细讲解Windows系统下Python环境搭建及第一个HelloWorld程序实现。主要内容包括:Python 3.x版本选择建议、官方安装包下载方法、安装时必勾选环境变量配置选项、安装成功验证方式;介绍两种运行HelloWorld的方法(命令行交互和标准工程文件);推荐使用VSCode编辑器;并针对新手常见问题提供解决方案。教程采用图文步骤,代码可直接复制,特别强调安装过程中的关键注意事项,帮助零基础用户避开常见陷阱,快速完成Python开发环境搭建和基础程序运
2026-04-06 05:30:30
421
原创 Python 文件操作实战:从入门到精通,一文学会打开 / 读取 / 修改文件
本文详细介绍了Python文件操作的核心技能,包括基础语法和实战应用。主要内容涵盖:1) open()函数的使用及常见模式(r/w/a/r+等);2) with语句的最佳实践;3) 基础文件读写用例(读取、写入、追加);4) 实战场景如替换文本和批量修改;5) 常见问题解决方案(中文乱码、路径错误等)。文章提供可直接运行的代码示例,适合新手学习和巩固文件操作技能,帮助开发者掌握Python文件处理的核心方法。
2026-04-06 05:30:01
144
原创 MQTT协议学习笔记(深入解析版)
MQTT协议是物联网领域主流的轻量级通信协议,具有低功耗、高适配性特点。本文全面解析MQTT核心知识点,包括协议基础、控制报文、通信流程和QoS等级。MQTT采用发布/订阅模式,包含客户端、服务器和主题三个核心角色,支持三种QoS服务质量等级(0-2级),可根据业务需求选择可靠性级别。文章详细介绍了连接流程、发布/订阅机制和心跳维持等关键通信环节,并提供了主题设计、保留消息、遗嘱消息等实用功能说明。最后针对物联网网关场景给出适配建议,包括主题命名规范、QoS选择和数据格式推荐,帮助开发者快速掌握MQTT协议
2026-04-05 06:57:42
261
原创 蓝牙广播包与Mesh网络详解
蓝牙广播包与Mesh网络是物联网通信的核心技术。广播包作为BLE设备单向通信的基础,具有低功耗和快速发现的特点,但存在传输距离和数据量的局限。蓝牙Mesh网络则基于广播机制,通过洪泛式多跳传输实现大规模组网,具有自愈能力和高可靠性。二者协同工作,广播包作为物理载体,Mesh网络赋予其路由和双向通信能力,共同支撑复杂物联网应用。这种组合使蓝牙技术从点对点连接发展为强大的网络解决方案,适用于智能家居、工业传感等多种场景。
2026-04-05 06:57:08
280
原创 低成本物联网产品放弃SSL加密的隐形成本与市场逻辑
低成本物联网设备普遍放弃SSL/TLS加密,主要受硬件资源限制、功耗控制、成本压缩等因素影响。这类设备多采用低端芯片,难以承担加密计算负荷,且厂商为降低成本常牺牲安全功能。同时,弱网络环境、证书管理困难及开发门槛高等技术问题也阻碍加密应用。尽管当前市场对安全性要求不高,但设备暴露在数据泄露、网络攻击等风险中。随着硬件性能提升、轻量加密协议优化及监管趋严,行业正逐步重视安全平衡,未来需在成本与安全间寻求更优解决方案。
2026-04-05 06:56:45
338
原创 关于 RT-Thread、FreeRTOS 和 uC/OS-II 三个经典嵌入式实时操作系统的详细对比
想快速做出产品,尤其是物联网产品?选 RT-Thread。 它的“全家桶”式解决方案能让你专注于应用逻辑。做极简控制,或芯片原厂已强力支持?选 FreeRTOS。 它的轻量和广泛支持是最大优势。为了学习RTOS内核原理?选 uC/OS-II 或 FreeRTOS。 两者都是优秀的教材,但FreeRTOS的知识更具现时应用价值。对于全新项目,在 RT-Thread 和 FreeRTOS 之间犹豫时:如果项目功能复杂度会增长,选RT-Thread;如果确定功能永远简单且成本敏感,选FreeRTOS。
2026-04-04 05:17:48
282
原创 嵌入式软件框架设计文档
本文提出了一种适用于资源受限嵌入式系统的通用软件框架设计方案。该框架采用分层架构(应用层、服务/组件层、框架核心层、硬件抽象层、设备驱动层和硬件层),具有模块化、可裁剪、可移植等特点,支持C/C++开发语言。设计强调高内聚低耦合、硬件无关性、实时确定性等原则,提供消息驱动、任务调度、日志服务等核心功能。框架通过静态分配为主的内存管理策略和统一错误处理机制确保系统可靠性,并支持低功耗管理。开发规范包括命名约定、注释标准及严格的启动流程,同时提供单元测试到系统测试的完整验证策略。该方案适用于物联网终端、工业控制
2026-04-04 05:17:22
289
原创 基于 MQTT+JSON 的物联网网关物模型通讯协议(极致精简・缩写版)
本文介绍了一种面向物联网网关场景的MQTT精简通信协议,具有三大核心特性:1)极致精简主题设计,仅保留3个主题降低开发复杂度;2)全字段缩写机制,压缩JSON报文体积30%以上;3)完整兼容物模型标准,支持设备注册、状态上报等核心功能。协议基于MQTT3.1.1/5.0,采用QoS=1保证消息可靠性,适配低资源网关设备,同时提供标准化的状态码体系和异常处理机制。通过字段缩写映射表和精简主题设计,显著降低了嵌入式网关的开发成本和通信负载。
2026-04-04 05:16:43
901
原创 在资源受限的M3处理器上实现SSL/TLS通信的完整方案
本文提出了一种基于M3处理器的嵌入式SSL/TLS实现方案,将协议栈完全运行在主处理器上,EC800模组仅作为网络管道。系统采用分层架构设计,包含SSL/TLS协议栈、内存管理、AT指令解析等模块。重点介绍了mbedTLS等优化库的选择、内存管理策略、通信流程实现及安全验证机制,提供了资源优化和性能调优方案。该设计在保证安全性的同时,克服了嵌入式系统资源受限的挑战,为物联网设备提供了灵活可控的企业级安全通信能力。
2026-04-04 05:15:57
285
原创 守护网络通信的基石:深入解析SSL/TLS协议
SSL/TLS是保障网络通信安全的核心技术,通过加密、完整性校验和身份认证保护数据传输。文章详细解析了TLS1.2握手流程,包括密钥交换、证书验证和加密通信建立等关键步骤,并对比了TLS1.3的优化改进。同时介绍了非对称/对称加密、数字证书、加密套件和前向保密等核心技术概念。SSL/TLS协议通过巧妙结合多种加密技术,为现代互联网提供了可靠的安全保障。
2026-04-04 05:15:17
363
原创 从零设计一套轻量、安全、可商用的物联网设备自定义通信协议
本文提出一套专为物联网设备设计的私有二进制通信协议,旨在解决通用协议在工业应用中的局限性。协议采用两层架构(传输层+应用层),具有轻量高效、安全可靠、扩展兼容等特点。传输层采用固定帧结构,包含帧同步、设备标识、安全标志等字段;应用层支持通用命令、寄存器数据和固件升级三大功能。协议集成多重安全机制(认证加密、权限分级)、稳定传输控制(CRC校验、超时重传、心跳保活)以及标准错误码体系。该协议适配各类低资源硬件设备,适用于智能计量表、工业采集终端等场景,具有高效解析、防破解、易扩展等优势,可直接用于项目量产落地
2026-04-03 11:51:05
263
原创 给DHCP装上“应用商店”:基于私有选项动态分配MQTT连接参数实践
本文介绍了如何通过扩展DHCP协议实现物联网设备的零接触部署,在分配IP地址的同时下发MQTT连接参数。作者详细解析了DHCP报文结构和扩展机制,提出使用私有选项范围(224-254)定义MQTT参数(服务器地址、用户名、密码等),并提供了设备端和服务器的改造代码示例。文章还讨论了安全考量,推荐采用短期令牌交换方案,并给出了部署测试方法。这种扩展方案既能保持协议兼容性,又能简化物联网设备部署流程,将网络层和应用层配置合二为一,适用于需要动态下发各种参数的场景。
2026-04-03 11:50:36
296
原创 详解新设备接入网络:DHCP、ARP、ICMP交互流程(附原理+实操备注)
新设备接入网络时,DHCP、ARP和ICMP协同工作完成网络配置:首先通过DHCP四步交互获取IP地址等配置;随后ARP进行地址冲突检测并解析网关MAC地址;最后ICMP通过ping测试网络连通性,提供错误反馈。三者分工明确:DHCP分配IP地址,ARP实现IP到MAC的转换,ICMP负责网络诊断,共同确保设备即插即用和网络畅通。
2026-04-03 11:50:06
362
原创 如何为你的嵌入式设备设计一个可靠的Bootloader
本文档旨在定义和描述基于TI Cortex-M3 LM3S9B92微控制器的Bootloader(引导程序)的详细设计。该Bootloader主要实现设备的本地程序更新与远程安全固件升级功能,并内建双备份与异常恢复机制,确保系统在异常情况下永不“变砖”。
2026-04-03 09:26:20
505
原创 深入解析:一个轻量级PIT定时器模块的设计与实现
在嵌入式系统开发中,定时器管理是一项基础且至关重要的功能。一个设计良好的定时器组件不仅能提供精准的定时服务,更能体现软件架构的清晰度与可维护性。本文将以一个名为 PIT (Programmable Interval Timer) 的定时器管理模块为例,深入剖析其如何通过头文件与源文件的分离设计,完美诠释模块化编程的核心思想。
2026-04-03 09:25:59
314
原创 嵌入式系统高可靠存储模块(Store)设计与实现
本文设计并实现了一套嵌入式系统高可靠存储管理模块(Store),针对物联网设备数据持久化需求,采用"RAM缓存+Flash双备份"架构,结合延时合并写和自动校验机制,实现高效读写、可靠存储、低损耗等目标。模块通过分层设计(X-Macro架构)提供统一API,支持存储项灵活扩展,具备自动故障恢复能力。测试表明,该方案能有效减少Flash擦写次数,提升数据可靠性,适用于工业控制器、智能网关等嵌入式场景。未来可扩展加密存储等功能,适配更多存储介质。
2026-04-02 07:55:46
353
原创 硬核实战:基于 C 语言宏定义的物联网网关命令分发框架设计
📝摘要:本文介绍了一种基于C语言的智能网关通信框架设计方案。该框架采用宏定义与表驱动编程技术,实现了命令的动态注册与高效分发。通过定义标准化的命令交互格式和双表驱动机制,框架将命令注册、分发逻辑与业务实现解耦,显著提升了代码可维护性。文章详细剖析了从JSON解析、一级命令路由到二级业务执行的完整处理流程,并通过MQTT配置设置案例展示了具体实现。该架构具有模块化、高扩展性和鲁棒性强等特点,适用于RT-Thread等嵌入式系统开发场景。🔑关键词:物联网网关、C语言框架、宏编程、表驱动、命令分发
2026-04-02 07:55:14
430
原创 嵌入式系统中的软件看门狗:一种多线程守护机制的设计与实现
在嵌入式系统,尤其是运行RTOS(实时操作系统)的复杂应用中,系统通常由多个任务(线程)协同工作。单个任务的阻塞、死锁或异常退出都可能导致整个系统功能失效。硬件看门狗可用于监控整个CPU,但难以定位具体出错的任务。因此,一种在应用层实现的、能够监控多个线程健康状态的“软件看门狗”或“守护线程”机制显得尤为重要。本文将通过分析一个实际的daemon.c实现,详细阐述这种守护机制的设计原理、核心构成与使用方法。
2026-04-01 04:50:27
470
原创 模块化编程实践:一种面向蓝牙少量数据分包传输的轻量级缓存管理方案
封装性:所有分包缓存的状态、数据内存都隐藏在模块内部,通过cmdid进行抽象访问,对外接口清晰。可重用性:该模块不依赖任何具体的蓝牙协议栈,只要满足“流ID + 分片序号”的模型,即可用于UART、LoRa等任何需要类似处理的低速可靠传输场景。资源可控:通过OAM_RAM_MAX_NUM限制最大并发分包任务数,通过动态内存管理节省RAM,通过超时机制保证资源释放。状态高效管理:使用位图管理分片状态,判断逻辑简单且计算效率高。结论:oam_ram.c文件展示了一个优秀嵌入式模块的典型特征。
2026-04-01 04:50:10
551
原创 轻量级消息防重模块全解析:从原理到高性能优化
本文介绍了一个轻量级C语言消息防重模块oam_msgid的设计与优化。该模块通过环形缓冲区或哈希表实现消息ID缓存,在设定时间窗口内(默认15秒)识别重复请求,保证请求幂等性。文章分析了原始设计的优缺点,提供了两个优化版本:基础版修复了原始Bug并保持API兼容,适合低频场景;哈希表版将查找复杂度降至O(1),适合高并发需求。模块适用于物联网设备通信、API请求去重等场景,支持自动过期清理,避免内存泄漏。文中包含完整实现代码、使用示例和生产环境调优建议,开发者可根据实际场景选择合适版本直接集成使用。
2026-03-31 05:57:05
485
原创 LORAWAN的低功耗秘密:拆解一个Class-A传感器的完整通信过程
上行触发下行: 服务器无法主动联系设备。只有当设备发送数据后,服务器才有机会在随后的两个短暂窗口中进行回复。低功耗: 设备99.9%的时间在休眠,仅在上传数据和打开两个接收窗口的几秒钟内消耗能量。确认机制 (ACK): 通过ACK位确认上行数据,确保关键数据送达。如果设备没收到ACK,它会在下一次上行时使用重传机制。双向通信: 虽然是上行驱动的,但依然可以实现应用层数据的双向传输。服务器可以利用这个短暂的机会窗口,对设备进行配置、查询或控制。
2026-03-31 05:55:38
423
原创 LoraWan1.02 协议中英互译 (四)
Before switching from Class A to Class B, the end-device must first receive one of the network beacons to align his internal timing reference with the network.Once in Class B, the end device must periodically search and receive a network beacon to canc
2026-03-30 06:40:26
367
原创 LoraWan1.02 协议中英互译 (三)
类 B 的目的是让终端设备能够在可预测的时间内准备好接收数据,除了类 A 中随机上行传输后的接收窗口之外,还能够在周期性时间内让所有网络中的终端设备保持同步。类 B 的实现方式是让网关定期发送信标,以同步网络中的所有终端设备,这样终端设备就能在周期性时间内的可预测时间开启一个短暂的额外接收窗口(称为“ping 时隙”)。对于这些帧的重传,从 RX2 时隙结束到下一次上行链路重传之间的间隔应是随机的,并且对于每个设备而言应遵循不同的序列(例如,使用以设备地址作为种子的伪随机生成器)。
2026-03-30 06:40:07
305
原创 LoraWan1.02 协议中英互译 (二)
For network administration, a set of MAC commands may be exchanged exclusively between the network server and the MAC layer on an end-device. MAC layer commands are never visible to the application or the application server or the application run
2026-03-29 10:42:21
381
原创 LoraWan1.02 协议中英互译 (一)
This document describes the LoRaWAN™ network protocol which is optimized for battery-powered end-devices that may be either mobile or mounted at a fixed location.本文件介绍了 LoRaWAN™ 网络协议,该协议专为配备电池供电功能的终端设备而设计,这些终端设备既可以是移动设备,也可以固定安装在特定位置。 LoRaWAN network
2026-03-29 09:17:46
710
原创 MDK-ARM编译器:加载域与运行域详解
本文详细介绍了MDK-ARM中的存储空间模型,重点区分加载域和运行域的概念。加载域是程序初始存储在Flash/ROM中的位置,包含所有程序段;运行域是程序在RAM中实际执行的区域,分为只读(RO)、可读写(RW)和零初始化(ZI)段。文章还解析了分散加载文件(.sct)的配置方法,包括多块内存配置和启动代码中的域处理流程。同时提供了高级应用场景(如RAM运行代码、外部存储器使用)和调试验证技巧,并给出内存布局优化和性能优化的最佳实践建议。最后强调通过.map文件监控内存使用,合理配置分散加载文件的重要性。
2026-03-28 19:03:33
204
原创 ARM 汇编中B __Main与B Main的深度解析:双下划线的核心区别
本文深入解析了ARM汇编开发中B__Main与BMain指令的本质区别。二者虽然都是无条件跳转指令,但存在关键差异:__Main是编译器保留的系统初始化入口(双下划线前缀),负责搭建C语言运行环境;Main则是用户自定义的业务代码入口。从命名规则看,双下划线表示系统保留符号,禁止用户自定义;从功能定位看,__Main在芯片上电时执行底层初始化,Main在系统就绪后执行业务逻辑。这种分层设计体现了ARM启动代码的核心规范,开发者必须严格区分二者,否则会导致系统崩溃。正确理解这对指令是掌握ARM嵌入式开发基础的
2012-07-28 13:02:35
1585
AT91SAM7x256_128+参考手册(EMAC部分).pdf
2012-07-28
basic-emac-lwip-project-at91sam9260-ek-gnu(1).zip
2012-07-28
basic-emac-uip-webserver-project-at91sam9260-ek-keil.
2012-07-28
LM3S_DiverLib_UserGuide_2752_cn.pdf
2012-07-28
NewMsg9260-软件篇_linux
2012-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅