文档版本:V1.0 | 适用系统:Linux 6.1 / Android14 | 适用硬件:C-3576BQ V10 核心板 + M4-R2(ShimetaPi)底板 | 更新日期:2026-10-23
智能家居网关方案基于 M4-R2(RK3576)的联网能力(双千兆以太网、WiFi5、蓝牙 BT5.0)、边缘计算能力(NPU 6 TOPS、4×A72 + 4×A53)与丰富外设接口(USB、UART、GPIO、I2C/SPI、CAN),作为家庭/楼宇的智能设备接入中心,实现多协议设备接入、本地场景联动、边缘 AI 处理与云端/APP 远程管理。
- 智能家居网关:WiFi/蓝牙/Zigbee(外接模块)/485 设备统一接入与联动
- 楼宇自控:照明、门禁、环境监测(温湿度/空气质量)联动控制
- 边缘 AI 网关:本地语音/视觉联动、设备行为分析
- 本地中控:家庭屏/中控终端,本地场景编排(离线可用)
- 多协议汇聚:MQTT/HTTP 上云,本地规则引擎联动
| 接口 | 规格 | 说明 |
|---|
| 有线网络 | 双路千兆(GMAC0/GMAC1) | 有线接入/上云,高可靠 |
| WiFi | WiFi5(802.11ac,2.4GHz/5GHz) | 无线设备接入与热点 |
| 蓝牙 | BT5.0(经典蓝牙 + BLE) | BLE 传感器/门锁/穿戴设备接入 |
| USB | 1×USB3.0 OTG + 1×USB3.0 HOST + 3×USB2.0 HOST | Zigbee/Thread 模块、USB 外设接入 |
| 串口/IO | UART(最多 7 路)、GPIO(40PIN 引出)、I2C/SPI、CAN | 485/传感器/继电器等设备接入 |
| 电源 | 5V(典型 5V,最大 5.5V,纹波 50mV,电流 4A) | 网关供电 |
硬件事实(已验证):双千兆、WiFi5、BT5.0、USB 数量均来自 M4-R2 产品规格书(S-01)与核心板规格书(S-02)。
| 系统 | 适用场景 | 说明 |
|---|
| Linux | 网关/边缘计算/长时间运行设备 | 稳定、可裁剪、生态丰富(Node-RED、MQTT、Docker 等) |
| Android14 | 带屏中控/家庭终端 | 交互友好,适合可视化家庭中控屏 |
+-------------------------------------------------------------+
| 应用层(Application) |
| 设备管理 | 场景联动 | MQTT上云 | 本地中控 | 边缘AI |
+-------------------------------------------------------------+
| 中间件层(Middleware) |
| MQTT Broker | 规则引擎 | 蓝牙协议栈 | 协议转换 | RKNN |
+-------------------------------------------------------------+
| 系统层(System) |
| Linux/Android | WiFi/BT 驱动 | 双千兆 | USB | 外设驱动 |
+-------------------------------------------------------------+
| 硬件层(Hardware) |
| RK3576 SoC | WiFi5+BT5.0 | 双千兆 | USB/UART/GPIO |
+-------------------------------------------------------------+
BLE传感器 ──> 蓝牙(BT5.0) ─┐
WiFi设备 ──> WiFi(2.4/5G) ─┼──> 网关服务(协议转换/规则引擎)──> 本地联动/中控
485/串口设备 ──> UART ─────┤ └──> MQTT/HTTP 上云
USB(Zigbee/Thread) ──> USB ─┘
| 模块 | 说明 |
|---|
| 接入 | 多协议设备接入(WiFi/BT/UART/USB 等) |
| 联动 | 本地规则引擎,离线可用(无需云端即可执行场景) |
| 上云 | MQTT/HTTP 数据上报与远程管理 |
| 边缘 AI | NPU 本地推理(语音/视觉/行为分析) |
| 中控 | 本地 Web/APP 管理界面,可接触摸屏 |
| 类别 | 名称/型号 | 数量 | 说明 |
|---|
| 核心板 | C-3576BQ V10(RK3576) | 1 | 4GB LPDDR5 + eMMC |
| 底板 | M4-R2(ShimetaPi) | 1 | 网络、蓝牙、USB、外设接口 |
| 无线模块(可选) | Zigbee/Thread USB 模块 | 1 | 扩展 Zigbee 设备接入 |
| 显示(可选) | HDMI 显示器 或 MIPI DSI 屏 | 1 | 本地中控屏 |
| 电源 | 5V 适配器(典型 5V,最大 5.5V,电流 4A) | 1 | 供电 |
| 组件 | 说明 | 参考文档 |
|---|
| NetworkManager/netplan | 有线/WiFi 网络配置 | 网络配置与SSH |
| BlueZ | 蓝牙协议栈(经典蓝牙 + BLE) | WiFi-蓝牙驱动 |
| MQTT Broker | mosquitto 等,本地消息总线与上云 | — |
| Node-RED(可选) | 可视化流式编排/规则引擎 | — |
| RKNN | 边缘 AI(语音/视觉联动) | NPU架构与性能概览 |
# 查看网络接口
ip addr
# 配置有线网络(DHCP,以 netplan/NetworkManager 为准)
# 配置 WiFi 连接
nmcli device wifi connect <SSID> password <password>
# 启动蓝牙并扫描
bluetoothctl
power on
scan on
# 配对并连接目标设备
pair <MAC>
connect <MAC>
trust <MAC>
蓝牙开发详见WiFi-蓝牙驱动。
# 安装并启动 MQTT Broker(以实际系统包管理为准)
apt install mosquitto mosquitto-clients
systemctl start mosquitto
# 订阅/发布测试
mosquitto_sub -t 'home/+/state'
mosquitto_pub -t 'home/living/light' -m 'on'
import asyncio
from bleak import BleakScanner
async def scan_devices():
devices = await BleakScanner.discover()
for device in devices:
print(f"{device.address} {device.name} RSSI={device.rssi}")
asyncio.run(scan_devices())
import paho.mqtt.client as mqtt
def on_message(client, userdata, msg):
# 场景联动逻辑:根据设备上报执行动作
print(f"topic: {msg.topic}, payload: {msg.payload.decode()}")
client = mqtt.Client()
client.on_message = on_message
client.connect('127.0.0.1', 1883, 60)
client.subscribe('home/+/state')
client.loop_forever()
网关侧 NPU 推理(如行为分析、语音指令识别)示例见目标检测部署(YOLOv5-v7-v8)与语义分割部署,推理结果可通过 MQTT 触发场景联动。
| 问题 | 处理方法 |
|---|
| WiFi 无法连接 | 检查天线、SSID/密码与加密方式(见网络连接问题) |
| 蓝牙无法扫描到设备 | 确认蓝牙已开启、设备处于广播状态、距离与信号正常 |
| BLE 连接后频繁断开 | 检查省电策略、信号强度,确认设备配对与信任关系 |
| MQTT 无法连接 | 检查 Broker 服务状态与端口(默认 1883),检查防火墙 |
| 双网口同时使用冲突 | 检查两个网口的 IP 网段与路由表(见网络连接问题) |
| 外接 Zigbee 模块不识别 | 检查 USB 枚举与模块驱动(见外设驱动问题) |