7AA7 博客

硬件与 IoT

7AA7 技术博客 · 硬件与 IoT 下的全部文章。

苏念禾 2026-10-14 UID:79

MQTT 协议详解:QoS、遗嘱与断线重连

硬件与 IoT

MQTT 跑在 TCP 之上,报文头最小只有 2 字节,这套设计是为窄带宽、高延迟、不稳定的链路准备的。理解它的关键点不在于"能连上发消息",而在于想清楚消息在哪个环节可能丢、丢了之后由谁负责重发。 发布订阅模型与 broker 的位置 设备不直接互相寻址。发布者…

2.6k 3 10
江眠 最后回复于 · 2026-10-15
硅屿 2026-10-13 UID:95

IoT 设备安全:认证、加密与固件防篡改

硬件与 IoT

一批同型号设备共用同一套密钥时,破解其中一台的成本会被均摊到全部设备上。单台的破解难度也许只是"拆开外壳、读一次 flash",但当它换来十万台设备的身份,投入产出比就变了。设备安全的许多设计,本质是抬高杠杆的另一头。 设备身份:一机一密还是全网共…

2k 0 7
硅屿 发布于 · 2026-10-13
林砚 2026-10-13 UID:111

低功耗设计:休眠模式与功耗预算

硬件与 IoT

电池供电设备的续航不是靠某一个技巧凑出来的,而是一开始就按功耗预算倒推出来的。先把平均电流的目标定下来,再往回拆每个环节能花多少,这是唯一可控的路径。 功耗的四个来源 运行电流:MCU 跑代码、外设工作时的电流。主频和供电电压越高电流越大。同一…

1.5k 1 12
裴鹿 最后回复于 · 2026-10-13
码同客 2026-10-10 UID:88

边缘计算实践:设备侧推理与数据聚合

硬件与 IoT

把计算放到设备侧,出发点是"数据传不动"或者"数据不该传"。想清楚到底是哪一条在驱动,才能决定该放多少算力在端上。 为什么要算在设备侧 带宽:一路摄像头或者振动传感器的原始数据量级远大于蜂窝网络的实际可用上行带宽,全量上传既不现实也不经济。在端…

1.3k 2 2
林见川 最后回复于 · 2026-10-11
KernelPan 2026-09-30 UID:90

嵌入式 C 的内存管理:栈、堆与静态分配

硬件与 IoT

MCU 上写 C 和写 Linux 应用最大的区别之一是内存是"看得见"的:编译链接完就能算出静态占用多少,剩下的 RAM 全部归栈和堆。搞清楚这五段分别装什么、在哪里定义,是排查内存类故障的前提。 五段布局与链接脚本 一段典型的布局(地址从低到高,具体排列以芯…

635 3 4
舒野 最后回复于 · 2026-10-01
许既白 2026-09-27 UID:107

IoT 固件 OTA:差分升级与回滚

硬件与 IoT

OTA 的风险不在下载过程,而在"写进去之后能不能跑起来"和"跑不起来怎么办"。所有 OTA 设计都围绕这两点:让失败可检测,让失败可回退。 分区方案的取舍 单分区 + 备份区:运行区只有一个,升级时把新固件下载到备份区,校验后由 bootloader 拷贝到运行区。…

2.1k 4 19
温言 最后回复于 · 2026-09-28
KernelPan 2026-09-17 UID:90

传感器数据采集:采样率、滤波与校准

硬件与 IoT

ADC 读回来的数字只是"某个时刻的某个电压",从它到"可信的物理量"之间还有采样、滤波、校准三段路。这三段各自有各自的坑,而且互相耦合——采样率定错了,后面再好的滤波器也救不回来。 奈奎斯特与为什么要过采样 奈奎斯特采样定理说的是:采样频率必须大于…

826 2 8
Pipeline 郑 最后回复于 · 2026-09-18
Embedded 徐 2026-09-09 UID:132

串口通信调试:协议解析与常见故障

硬件与 IoT

串口看起来是最简单的外设,接三根线就能通。它的故障也大多不是协议层的,而是电平、地线、时序这些物理层面的问题。排查时先确认物理层,再谈协议解析,顺序反了会浪费大量时间。 UART 帧结构 一帧数据的构成: [起始位] [数据位 5~9] [校验位 可选] [停止…

2k 2 9
Vector 陈 最后回复于 · 2026-09-10
Kernighan 林 2026-09-05 UID:124

ESP32 开发入门:从点灯到联网上报

硬件与 IoT

从点灯到把数据稳定送到云端,中间隔着 GPIO 电气特性、RTOS 任务调度、WiFi 状态机、看门狗四件事。这四件事里任何一个没想清楚,设备都会在跑一段时间之后才出问题。 开发框架的定位差异 ESP-IDF 是官方框架,直接基于 FreeRTOS,暴露完整的组件配置(menu…

737 2 4
江眠 最后回复于 · 2026-09-06
何遇 2026-09-05 UID:112

RTOS 入门:任务调度与同步原语

硬件与 IoT

裸机程序写久了会习惯用一个 while(1) 串起所有事情:读传感器、算一遍、刷屏、再看有没有按键。功能简单时这个结构工作得很好,直到某个环节耗时开始不稳定——显示刷新从 2ms 变成 200ms,按键响应跟着劣化。RTOS 解决的是同一件事,但把"谁先跑"从代码书写…

2.2k 0 5
何遇 发布于 · 2026-09-05