📘 嵌入式·物联网
从零到项目实战
⚡ 30章 · 智能家居网关
01
嵌入式系统概述
什么是嵌入式系统
嵌入式特点
物联网与嵌入式
智能家居网关总览
02
开发环境搭建
Keil MDK安装破解
STM32CubeMX
串口驱动
STM32F103C8T6
03
C语言基础回顾 (上)
数据类型
运算符
if/else switch
for/while循环
04
C语言基础回顾 (下)
数组 指针
结构体
函数
预处理指令
05
GPIO编程 (上)
STM32 GPIO原理
寄存器映射
点亮LED (寄存器)
06
GPIO编程 (下)
按键输入检测
软件消抖
位带操作
07
系统时钟与定时器
HAL库时钟配置
SysTick定时器
软件/硬件定时器
08
中断系统
NVIC中断控制器
外部中断EXTI
中断优先级
09
串口通信 UART
UART协议
HAL库串口配置
收发数据
printf重定向
10
I2C通信
I2C协议时序
软件模拟I2C
硬件I2C驱动OLED
11
SPI通信
SPI协议模式
W25Q64 Flash读写
HAL库SPI配置
12
ADC与传感器
STM32 ADC配置
光敏/电位器采集
DMA传输
13
PWM与电机控制
定时器PWM输出
舵机控制
直流电机调速
14
FreeRTOS入门 (上)
RTOS概念
任务创建/删除
任务调度
15
FreeRTOS入门 (下)
消息队列
信号量
互斥锁
任务间通信
16
Wi-Fi模块 ESP8266
AT指令集
STA/AP模式
TCP客户端/服务器
17
MQTT协议基础
MQTT原理 QoS
发布/订阅模型
连接阿里云IoT
18
传感器数据采集实战
DHT11温湿度
BH1750光照
MPU6050姿态
19
本地数据存储
EEPROM AT24C02
SD卡 FATFS日志
20
低功耗设计
睡眠/停止/待机
RTC唤醒
功耗测量
21
Bootloader与OTA升级
Bootloader原理
Flash分区
固件接收与跳转
22
项目需求分析
智能家居网关功能
硬件选型
系统框图
23
项目硬件设计
原理图 (立创EDA)
PCB布局要点
焊接与调试
24
项目软件架构
任务划分 FreeRTOS
状态机设计
模块化编程
25
网关核心功能实现
Wi-Fi配网
MQTT数据上报
本地控制逻辑
26
手机APP联动
MQTT订阅控制
JSON解析
远程开关/读取
27
本地显示与交互
OLED菜单设计
按键翻页
参数设置
28
系统联调与测试
单元/集成测试
异常处理
断网重连 看门狗
29
项目优化与迭代
代码优化 内存/速度
日志系统
EMC初步考虑
30
项目总结与展望
技术复盘 FAQ
语音控制
边缘计算扩展