Skip to content

IoT: loT 物联网相关技术梳理

第一部分:核心技术栈学习路径

你可以按照以下四个阶段来循序渐进地学习:

阶段一:嵌入式开发基础(打好根基)

这是无论做什么嵌入式产品都必须掌握的基础。

  1. C 语言编程

    • 重要性:嵌入式开发的核心语言,尤其是对内存和指针的操作必须非常熟练。
    • 学习重点:指针、内存管理、结构体、位运算、文件操作。
    • 视频资源:在 B 站搜索“C 语言教程”,如 翁恺老师的 C 语言课程郝斌老师的 C 语言教程,都是经典入门课程。
  2. 微控制器原理与编程

    • 重要性:这是智能设备的大脑。
    • 学习路径
      • Arduino(入门):适合快速上手,感受硬件编程的乐趣。学习基本的 GPIO 控制(点亮 LED、读取按键)、PWM(调光、控制舵机)、ADC(读取传感器值)、定时器等。
      • STM32(进阶/产品级):这是工业主流。需要从标准库或 HAL 库学起,理解时钟树、中断、DMA 等更底层的概念。
    • 视频资源
      • Arduino:B 站搜索“Arduino 入门教程”,非常多且直观。
      • STM32:搜索“STM32 教程”,推荐野火大学正点原子的教程,他们提供了非常完整的视频和配套资料。
  3. 电路基础

    • 重要性:看不懂电路图,就无法连接硬件和排查问题。
    • 学习重点:看懂基本的原理图、电压/电流/电阻概念、常用元器件(电阻、电容、电感、二极管、三极管、MOS 管)的使用、使用万用表。
    • 视频资源:搜索“电子基础”、“硬件设计入门”,很多创客视频会穿插讲解。

阶段二:通信与网络(连接的核心)

让设备能够相互通信并连接到互联网。

  1. 基础通信协议

    • UART/Serial(串口):最常用,用于 MCU 与通信模组(如 Wi-Fi/4G)、传感器之间的通信。
    • I2C:用于连接多个从设备,如温湿度传感器、陀螺仪等。
    • SPI:高速通信,常用于连接显示屏、SD 卡。
    • 学习重点:理解协议时序,会看数据手册,能用库函数进行编程。
    • 视频资源:搜索“STM32 I2C 教程”、“Arduino SPI 通信”等。
  2. 无线网络技术

    • Wi-Fi:智能家居最主流的本地连接方式。
      • 芯片:ESP8266 / ESP32(强烈推荐,集成了 MCU 和 Wi-Fi,性价比极高)。
      • 学习重点:如何使用 AT 指令或 SDK(ESP-IDF/Arduino for ESP32)让设备连接路由器。
    • 蓝牙:用于近距离设备配网和控制。
      • 经典蓝牙(BT):用于音频、数据传输。
      • 低功耗蓝牙(BLE):用于传感器、手环等低功耗设备。
    • 视频资源:搜索“ESP32 项目实战”、“ESP32 Wi-Fi 编程”、“ESP32 BLE 教程”。

阶段三:物联网协议与云平台(实现远程控制)

让设备能够被手机 App 或云端远程控制和管理。

  1. 物联网通信协议

    • MQTT 协议必须掌握!它是物联网的“语言”,轻量、高效,采用发布/订阅模式,完美契合智能家居的远程控制场景。
    • 学习重点:理解 MQTT Broker、Topic、Publish/Subscribe 概念。能在嵌入式设备上实现 MQTT 客户端,连接 Broker 并订阅和发布消息。
    • 视频资源:搜索“MQTT 协议详解”、“ESP32 MQTT 实战”。
  2. 云平台接入

    • 公有云平台:使用大厂提供的服务可以极大简化后端开发。
      • 国内:阿里云物联网平台、腾讯云物联网开发平台。
      • 国外:AWS IoT, Google Cloud IoT Core。
    • 学习重点:学习如何在云平台上创建设备、获取连接三元组(ProductKey, DeviceName, DeviceSecret),以及如何让设备端代码与云平台进行 MQTT 通信。
    • 视频资源:搜索“ESP32 连接阿里云”、“STM32 腾讯云物联网开发”。

阶段四:传感器与外设(实现智能化)

根据具体的家居应用场景,学习驱动相应的传感器和执行器。

  • 传感器:DHT11/DHT22(温湿度)、MQ-2(燃气)、PIR(人体红外)、光敏电阻(光照度)、土壤湿度传感器等。
  • 执行器:继电器(控制家电开关)、舵机(控制窗帘、门锁)、步进电机、LED 灯带(WS2812B)。
  • 学习方式:购买传感器模块,查找数据手册和示例代码,动手实践。

第二部分:视频与项目资源推荐

理论学习必须结合动手实践!

  1. Bilibili(B 站)你的主要学习阵地

    • 搜索关键词
      • “物联网项目实战”
      • “智能家居 DIY”
      • “ESP32 项目”
      • “STM32 智能家居”
    • 推荐 UP 主
      • 洋桃电子:STM32 教学,非常系统。
      • 老王搞嵌入式:分享嵌入式知识和项目经验。
      • 稚晖君:虽然项目难度极高,但可以开阔眼界,了解技术可能性。
  2. YouTube

    • GreatScott!:非常多有趣的电子 DIY 项目。
    • Andreas Spiess:专注于传感器和物联网的深度技术讲解。
    • DroneBot Workshop:涵盖 Arduino, ESP8266/32, Raspberry Pi 的各种教程。
  3. 在线课程平台

    • Coursera/edX:搜索“Embedded Systems”相关课程,如华盛顿大学的“Introduction to Embedded Systems”。
    • Udemy:上面有很多付费的、成体系的嵌入式开发课程,打折时购买很划算。

第三部分:一个具体的学习项目路线

  1. Week 1-2:基础入门

    • 用 Arduino Uno + 面包板点亮一个 LED 灯,并让它闪烁。
    • 学习读取按键状态,控制 LED 的亮灭。
  2. Week 3-4:传感器与通信

    • 用 ESP32 开发板连接 DHT11 温湿度传感器,并通过串口打印数据。
    • 学习 ESP32 的 Wi-Fi 编程,将传感器数据发送到串口监视器。
  3. Week 5-6:连接云端

    • 在阿里云物联网平台注册一个设备。
    • 编写 ESP32 代码,使用 MQTT 协议将 DHT11 的数据上报到阿里云。
  4. Week 7-8:远程控制

    • 学习通过云平台向 ESP32 下发指令。
    • 实现用手机 App(或云平台的在线调试工具)远程控制一个 LED 灯的开关。
  5. Week 9-10:综合项目

    • 制作一个智能插座
      • 硬件:ESP32 + 继电器模块 + 电源模块。
      • 软件:实现手机 App 远程控制继电器开关,从而控制插座的通断电。
      • 进阶:增加电能计量芯片,上报用电量。

学习嵌入式智能家居开发,核心是“动手”。不要只看不练,从最简单的点灯开始,逐步增加复杂度。ESP32是你现阶段最好的朋友,它功能强大、生态完善,能让你快速实现从想法到原型的过程。