智能模组产品总览
什么是智能模组
智能模组(Smart Module)是在标准蜂窝模组基础上,集成了应用处理器(AP)、操作系统(Android/Linux/RTOS)和丰富外设接口的高集成度模组。
标准模组(AT 指令模式):
外部 MCU → AT 指令 → 模组(通信功能)
优点:简单,成本低
缺点:需要外部 MCU,增加 BOM 成本和复杂度
智能模组(开放平台模式):
应用程序直接运行在模组内部
模组 = 通信 + 计算 + 存储 + 外设
优点:无需外部 MCU,集成度高,开发灵活
缺点:成本较高,开发复杂度增加三大平台对比
| 特性 | Android 智能模组 | Linux 智能模组 | RTOS 轻量模组 |
|---|---|---|---|
| 操作系统 | Android 9/11/13 | OpenLinux | FreeRTOS/ThreadX |
| 处理器 | 高通 APQ/SDM | 高通 MDM | 高通 MDM |
| RAM | 1-4GB | 256MB-1GB | 256KB-64MB |
| 存储 | 8-64GB eMMC | 256MB-8GB | 4-32MB Flash |
| 开发语言 | Java/Kotlin/C++ | C/C++/Python | C |
| 开发难度 | 中(Android 开发) | 中(Linux 开发) | 低(嵌入式C) |
| 功耗 | 高 | 中 | 低 |
| 成本 | 高 | 中 | 低 |
| 典型应用 | 智能 POS、工业平板 | 工业网关、路由器 | 传感器、追踪器 |
移远智能模组产品线
Android 系列
| 型号 | 芯片 | Android 版本 | RAM/ROM | 特点 |
|---|---|---|---|---|
| SC200E | 高通 SDM450 | Android 11 | 2GB/16GB | 主流工业 Android |
| SC200T | 高通 SDM450 | Android 11 | 2GB/16GB | 车规级 |
| SC600T | 高通 SDM660 | Android 11 | 4GB/32GB | 高性能 |
| SG560D | 高通 SDM660 | Android 11 | 4GB/64GB | 5G Android |
Linux 系列
| 型号 | 芯片 | 蜂窝 | RAM/ROM | 特点 |
|---|---|---|---|---|
| EC200A-CN | 联发科 | Cat.1 | 256MB/512MB | Cat.1 Linux |
| EC600S-CN | 展锐 | Cat.1 | 256MB/512MB | 国产化 Linux |
| RG500Q | 高通 SDX55 | 5G | 512MB/2GB | 5G Linux |
RTOS 系列(QuecOpen)
| 型号 | 蜂窝 | Flash | 特点 |
|---|---|---|---|
| EC600M-CN | Cat.1 | 4MB | QuecPython 支持 |
| EC800M-CN | Cat.1 | 4MB | 超小尺寸 |
| BC660K-GL | NB-IoT | 2MB | NB-IoT QuecOpen |
| BG95-M2 | Cat.M/NB | 4MB | LPWA QuecOpen |
开发平台选择指南
选择 Android 智能模组
适合以下场景:
✅ 需要触摸屏 UI(POS 机、工业平板)
✅ 需要运行 Android App(现有 App 移植)
✅ 需要丰富的多媒体功能(摄像头、音频)
✅ 开发团队熟悉 Android 开发
✅ 需要 Google Play 服务(部分型号)选择 Linux 智能模组
适合以下场景:
✅ 工业网关(需要运行复杂协议栈)
✅ 路由器(需要 OpenWRT 等)
✅ 需要 Python/Node.js 等高级语言
✅ 需要容器化部署(Docker)
✅ 开发团队熟悉 Linux 开发选择 RTOS 轻量模组(QuecOpen)
适合以下场景:
✅ 简单数据采集和上报
✅ 对功耗要求高
✅ 成本敏感
✅ 开发团队熟悉嵌入式 C 开发
✅ 使用 QuecPython 快速开发QuecOpen 开发框架
QuecOpen 是移远为 RTOS 模组提供的开放开发框架:
QuecOpen 架构:
┌─────────────────────────────────────┐
│ 用户应用程序 │
│ (C 代码 / QuecPython 脚本) │
├─────────────────────────────────────┤
│ QuecOpen SDK │
│ 网络 / 文件 / GPIO / UART / I2C │
│ MQTT / HTTP / FTP / SMS / 语音 │
├─────────────────────────────────────┤
│ RTOS 内核 │
│ (FreeRTOS / ThreadX) │
├─────────────────────────────────────┤
│ 基带固件 │
│ (蜂窝协议栈) │
└─────────────────────────────────────┘QuecPython 快速入门
python
# QuecPython 示例:完整的 IoT 数据上报程序
import utime
import dataCall
import request
import ujson
import machine
# 初始化 ADC(读取传感器)
adc = machine.ADC()
def get_sensor_data():
"""读取传感器数据"""
# 读取 ADC 值(0-4095)
raw = adc.read(1) # 通道1
# 转换为温度(假设 NTC 热敏电阻)
voltage = raw * 3.3 / 4095
temperature = (voltage - 0.5) / 0.01 # 简化公式
return {"temperature": round(temperature, 1)}
def wait_network():
"""等待网络连接"""
print("等待网络连接...")
for i in range(30):
info = dataCall.getInfo(1, 0)
if info[2][0] == 1: # 已连接
print(f"网络已连接,IP: {info[2][2]}")
return True
utime.sleep(1)
return False
def upload_data(data):
"""上传数据到云平台"""
url = "https://api.example.com/sensor/data"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer your_token"
}
payload = ujson.dumps(data)
try:
resp = request.post(url, data=payload, headers=headers)
if resp.status_code == 200:
print("数据上传成功")
return True
else:
print(f"上传失败: {resp.status_code}")
return False
except Exception as e:
print(f"上传异常: {e}")
return False
# 主程序
def main():
if not wait_network():
print("网络连接失败,重启...")
machine.reset()
while True:
# 采集数据
data = get_sensor_data()
print(f"传感器数据: {data}")
# 上传数据
upload_data(data)
# 等待 60 秒
utime.sleep(60)
main()