Skip to content

嵌入式系统与硬件开发

1. NVIDIA Jetson 平台

1.1 Jetson Nano 开发者套件

NVIDIA Jetson Nano 是一款面向 AI 开发者、学习者和创客的入门级边缘计算平台。

主要特性:

  • GPU:128-core NVIDIA Maxwell
  • CPU:Quad-core ARM Cortex-A57
  • 内存:4GB 64-bit LPDDR4
  • 视频编码:4K @ 30fps (H.264/H.265)
  • 功耗:5W / 10W 模式

入门指南:

参考:Jetson Nano 开发者套件入门

1.2 ONNX Runtime + CUDA

在 Jetson 平台上使用 ONNX Runtime 加速推理:

python
import onnxruntime as ort
import numpy as np

# 使用 CUDA 执行提供器
providers = ['CUDAExecutionProvider', 'CPUExecutionProvider']
session = ort.InferenceSession('model.onnx', providers=providers)

# 准备输入数据
input_name = session.get_inputs()[0].name
input_data = np.random.randn(1, 3, 224, 224).astype(np.float32)

# 推理
outputs = session.run(None, {input_name: input_data})

参考:NVIDIA - CUDA | onnxruntime

2. ESP 系列

2.1 ESP32

ESP32 是乐鑫推出的低成本、低功耗的系统级芯片(SoC),集成 Wi-Fi 和蓝牙功能。

主要特性:

  • CPU:双核 Xtensa LX6(最高 240MHz)
  • 内存:520KB SRAM
  • 无线:Wi-Fi 802.11 b/g/n,蓝牙 4.2/BLE
  • GPIO:34 个可编程 I/O 引脚

开发环境:

  • Arduino IDE
  • ESP-IDF(官方框架)
  • PlatformIO
  • MicroPython

2.2 ESP8266

更早期的 Wi-Fi SoC,成本更低。

3. Raspberry Pi Pico

3.1 RP2040 芯片

Raspberry Pi 基金会自研的微控制器芯片。

主要特性:

  • CPU:双核 ARM Cortex-M0+(最高 133MHz)
  • 内存:264KB SRAM
  • 存储:2MB 板载 Flash
  • GPIO:26 个多功能 GPIO 引脚
  • 接口:I2C、SPI、UART、PWM

开发语言:

  • C/C++
  • MicroPython
  • CircuitPython

4. Rockchip 平台

4.1 RK3588

高性能 AI 计算平台,适用于边缘 AI、智能 NVR 等应用。

主要特性:

  • CPU:八核(4×Cortex-A76 + 4×Cortex-A55)
  • GPU:Mali-G610 MP4
  • NPU:6 TOPS 算力
  • 视频:支持 8K@60fps 解码

5. 硬件接口

5.1 GPIO

通用输入输出引脚,可以读取传感器数据或控制外设。

Python 示例(树莓派):

python
import RPi.GPIO as GPIO
import time

# 设置模式
GPIO.setmode(GPIO.BCM)

# 配置引脚
LED_PIN = 18
GPIO.setup(LED_PIN, GPIO.OUT)

# 闪烁 LED
try:
    while True:
        GPIO.output(LED_PIN, GPIO.HIGH)
        time.sleep(1)
        GPIO.output(LED_PIN, GPIO.LOW)
        time.sleep(1)
finally:
    GPIO.cleanup()

5.2 I2C

I2C 是一种串行通信协议,用于连接低速外设。

Python 示例:

python
import smbus
import time

# 创建 I2C 总线
bus = smbus.SMBus(1)

# 设备地址
address = 0x48

# 读取数据
def read_sensor():
    data = bus.read_byte(address)
    return data

# 写入数据
def write_sensor(value):
    bus.write_byte(address, value)

5.3 SPI

SPI 是一种全双工同步串行通信接口。

5.4 UART

通用异步收发传输器,用于串口通信。

6. 传感器与执行器

6.1 常用传感器

  • 温湿度传感器:DHT11、DHT22
  • 光照传感器:BH1750
  • 距离传感器:HC-SR04(超声波)
  • 气压传感器:BMP280
  • 陀螺仪/加速度计:MPU6050

6.2 执行器

  • 舵机:SG90、MG996R
  • 步进电机:28BYJ-48
  • 直流电机:配合 L298N 驱动
  • 继电器:控制高压设备

7. 物联网开发

7.1 MQTT 协议

轻量级的消息传输协议,适用于物联网设备。

Python 示例:

python
import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
    print(f"连接成功,返回码:{rc}")
    client.subscribe("sensors/temperature")

def on_message(client, userdata, msg):
    print(f"收到消息:{msg.topic} {msg.payload}")

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.connect("mqtt.example.com", 1883, 60)
client.loop_forever()

7.2 CoAP 协议

受限应用协议,专为资源受限的设备设计。

7.3 HTTP/HTTPS

RESTful API 方式与云端通信。

8. 边缘 AI 应用

8.1 模型部署

将训练好的模型部署到边缘设备:

  1. 模型转换:TensorFlow → TensorFlow Lite / ONNX
  2. 模型优化:量化、剪枝
  3. 推理加速:使用 GPU/NPU

8.2 应用场景

  • 人脸识别门禁
  • 智能监控
  • 语音助手
  • 工业质检
  • 自动驾驶

9. 开发工具

9.1 调试工具

  • 串口调试:PuTTY、minicom
  • 网络调试:Wireshark
  • 逻辑分析仪:分析数字信号

9.2 开发板

  • Arduino:入门首选
  • Raspberry Pi:完整的 Linux 系统
  • ESP32:低成本 Wi-Fi/蓝牙
  • Jetson Nano:AI 边缘计算

10. 相关资源