你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

IoT 设备选择列表

此 IoT 设备选择列表旨在帮助合作伙伴选择 IoT 硬件来快速轻松地构建原型和概念证明。[^1]

列出的所有电路板支持所有经验水平的用户。

注意

此表并非详尽列表,也不适合参考它来将解决方案投入生产。 [^2] [^3]

安全建议:建议将这些设备放在路由器和/或防火墙后面,Azure Sphere 除外

[^1]:如果你是硬件编程新手,对于 MCU 开发工作,我们建议使用 VS Code Arduino 扩展或 VS Code 平台 IO 扩展。对于 SBC 开发工作,可以像对笔记本电脑一样对设备进行编程,即在设备本身上进行编程。Raspberry Pi 支持 VS Code 开发

[^2]:支持资源的可用性中的设备、用于原型制作和 PoC 的常见板以及支持初学者友好 IDE(例如,Arduino IDE 和 VS Code 扩展)的板;例如 Arduino 扩展和平台 IO 扩展。为简单起见,我们的目标是将总设备列表保留为<6。其他团队和个人可能已根据他们对标准的解释选择使用不同的板。

[^3]:为了将设备投入生产,你可能希望使用特定芯片组、ST 的 STM32 或 Microchip 的 Pic-IoT 分线板系列来测试 PoC,设计出能够低于此处列出的 MCU 和 SBC 成本制造的定制电路板,甚至探索基于 FPGA 的开发套件。你还可能想要使用 STM32CubeMX 或 ARM mBed 基于浏览器的编程器等专业电气工程开发环境

目录

部分 说明
从这里开始 有关使用此选择列表的指南。 包括建议的选择条件。
选择图表 一个汇总常见选择条件和可能的硬件选项的视觉对象。
术语和 ML 要求 边缘机器学习 (ML) 的术语和首字母缩写词定义与设备要求。
MCU 设备列表 建议的 MCU(例如 ESP32)列表,以及技术规格和替代设备。
SBC 设备列表 建议的 SBC(例如 Raspberry Pi)列表,以及技术规格和替代设备。

从这里开始

如何使用本文档

使用本文档可以更好地理解 IoT 术语、设备选择考虑因素,并选择用于原型制作或构建概念证明的 IoT 设备。 建议完成以下过程:

  1. 请通读“选择电路板时考虑的事项”部分,以确定需求和约束。

  2. 使用应用程序选择视觉对象来确定 IoT 方案的可能选项。

  3. 使用 MCU 或 SBC 设备列表,检查设备规格并与需求/约束进行比较。

选择电路板时考虑的事项

要为 IoT 原型选择设备,请参阅以下条件:

  • 微控制器单元 (MCU) 或单板计算机 (SBC)

    • MCU 更适合单项任务,例如收集和上传传感器数据或在边缘上进行机器学习。 MCU 的成本往往也更低。
    • 需要执行多个不同的任务(例如收集传感器数据和控制另一个设备)时首选 SBC。 当可能的解决方案有很多选项时,SBC 也可能是早期阶段的首选 - SBC 使你能够尝试许多不同的方法。
  • 处理能力

    • 内存:考虑需要多少内存存储(以字节为单位)、文件存储和内存才能运行项目所需的程序

    • 时钟速度:考虑程序需要以多快的速度的运行,或者设备需要以多快的速度与 IoT 服务器通信

    • 退役:考虑是否需要具有最新功能和文档的设备,或者是否可以使用已退役的设备作为原型

  • 功率消耗

    • 电源:考虑电路板消耗的电压和电流。 确定墙插电源是否随时可用,或者应用程序是否需要电池。

    • 连接:考虑与电源的物理连接。 如果需要电池电源,请检查电路板上是否有可用的电池连接端口。 如果没有电池连接器,请改用另一块类似的电路板,或考虑通过其他方式为设备添加电池电源。

  • Inputs and outputs

    • 端口和引脚:考虑项目可能需要的端口和 I/O 引脚的数量及其类型。 * 其他考虑因素包括设备是否将与其他传感器或设备通信。 如果是,请确定这些信号需要多少个端口。

    • 协议:如果使用其他传感器或设备,请考虑需要哪些硬件通信协议。 * 例如,可能需要 CAN、UART、SPI、I2C 或其他通信协议。

    • 电源:考虑设备是否要为传感器等其他组件供电。 如果设备要为其他组件供电,请确定设备上电源引脚的电压和电流输出,并确定其他组件需要多大的电压/电流。

    • 类型:确定是否需要与模拟组件通信。 如果需要模拟组件,请确定项目需要多少个模拟 I/O 引脚。

    • 外围设备:考虑你是否偏好带有板载传感器或其他功能组件(例如屏幕、麦克风等)的设备

  • 开发

    • 编程语言:考虑项目是否需要 C/C++ 以外的高级语言。 如果是,请确定所需应用程序的常用编程语言(例如,机器学习通常使用 Python)。 考虑哪些 SDK、API 和/或库对项目有帮助或有必要。 确定它们在哪些编程语言中受支持。

    • IDE:考虑设备支持的开发环境,以及它是否符合开发人员的需求、技能组合和/或偏好

    • 社区:考虑你在构建解决方案时想要/需要多少帮助。 例如,考虑你是否偏好从示例代码开始,是否需要故障排除建议或帮助,或者是否希望从生成新示例和更新文档的活跃社区获得好处。

    • 文档:查看设备文档。 确定它是否完整且易于遵循。 考虑是否需要原理图、示例、数据表或其他类型的文档。 如果是,请进行搜索以查看这些项是否可用于你的项目。 考虑为电路板编写的软件 SDK/API/库,以及这些项是否会简化原型制作过程。 确定此文档是否得到维护以及维护者是谁。

  • 安全性

    • 网络:考虑设备是否连接到外部网络,或者是否可以放在路由器和/或防火墙后面。 如果原型需要连接到面向外部的网络,我们建议使用 Azure Sphere,因为它是唯一可靠且安全的设备。

    • 外围设备:考虑设备连接到的任何外围设备是否使用无线协议(例如 WiFi、BLE)。

    • 物理位置:考虑设备或其连接的任何外围设备是否可供公众访问。 如果是,我们建议避免以物理方式访问设备。 例如,将设备放在封闭的已上锁箱子中。

应用程序选择视觉对象

注意

此列表仅用于教育目的,而不旨在认可任何产品。

显示常见选择条件和可能硬件选项的表格。

术语和 ML 要求

本部分提供视觉、听觉和传感器机器学习应用程序的嵌入式术语、首字母缩写词以及硬件规格的定义。

术语

术语和首字母缩写词按字母顺序列出。

术语 定义
ADC 模数转换器;将来自已连接组件(例如传感器)的模拟信号转换为设备可读的数字信号
模拟引脚 用于连接具有连续信号的模拟组件,例如光敏电阻(光传感器)和麦克风
时钟速度 CPU 检索和解释指令的速度
数字引脚 用于连接具有二进制信号的数字组件,例如 LED 和开关
闪存(或 ROM) 可用于存储程序的内存
IDE 集成开发环境;用于编写软件代码的程序
IMU 惯性测量单元
IO(或 I/O)引脚 用来与其他设备(例如传感器)和其他控制器通信的输入/输出引脚
MCU 微控制器单元;单芯片上的小型计算机,包括 CPU、RAM 和 IO
MPU 微处理器单元;一种计算机处理器,它在单个集成电路 (IC) 或少量几个集成电路上整合了计算机中央处理单元 (CPU) 的功能。
ML 机器学习;执行复杂模式识别的特殊计算机程序
PWM 脉宽调制;一种修改数字信号以实现模拟般效果的方式,例如改变亮度、音量和速度
RAM 随机存取存储器;有多少内存可用于运行程序
SBC 单板计算机
TF TensorFlow;为边缘设备设计的机器学习软件包
TF Lite TensorFlow Lite;用于小型边缘设备的精简 TF 版本

机器学习硬件要求

视觉 ML

  • 速度:200 MHz
  • 闪存:300 kB
  • RAM:100 kB

语音 ML

  • 速度:60 MHz [^4]
  • 闪存:50 kB
  • RAM:8 kB

传感器 ML(例如运动、距离)

  • 速度:20 MHz
  • 闪存:20 kB
  • RAM:2 kB

[^4]:提出这种速度要求主要是因为处理器需要能够至少以 6 kHz 的频率采样,只有这样,麦克风才能处理人声频率

MCU 设备列表

下面是按字母顺序列出的 MCU 对照表。 该列表并不详尽。

注意

此列表仅用于教育目的,而不旨在认可任何产品。 所示价格表示多家分销商的平均价格,仅用于演示目的。

电路板名称 价格范围(美元) 用途 软件 速度 处理器 内存 板载传感器和其他功能 IO 引脚 视频 单选 有电池连接器? 工作电压 获取明确表述的指南 替代方法
Azure Sphere MT3620 开发工具包 ~$40 - $100 高度安全的应用程序 C/C++、VS Code、VS 500 MHz 和 200 MHz MT3620(三核 -- 1 个 Cortex A7,2 个 Cortex M4) 4-MB RAM + 2 x 64-KB RAM 认证:CE/FCC/MIC/RoHS 4 个数字 IO、1 个 I2S、4 个 ADC、1 个 RTC - 具有天线分集的双频 802.11 b/g/n - 5 V 1. Azure Sphere 示例库,2. Azure Sphere 气象站 空值
Adafruit HUZZAH32 – ESP32 Feather 电路板 ~$20 - $25 监测;初学者 IoT;家庭自动化 Arduino IDE、VS Code 240 MHz 32 位 ESP32(双核 Tensilica LX6) 4 MB SPI 闪存,520 KB SRAM 霍尔传感器、10 个电容式触摸 IO 引脚、50 多个附加板 3 个 UART、3 个 SPI、2 个 I2C、12 个 ADC 输入、2 个 I2S 音频、2 个 DAC - 802.11b/g/n HT40 Wi-Fi 收发器、基带、堆栈以及 LWIP、蓝牙和 BLE 3.3 V 1. 科学研究冷冻箱监视器,2. Azure IoT SDK Arduino 示例 Arduino Uno WiFi Rev 2 (~$50 - $60)
Arduino Nano RP2040 Connect ~$20 - $25 遥控;监视 Arduino IDE、VS Code、C/C++、MicroPython 133 MHz 32 位 RP2040(双核 Cortex M0+) 16 MB 闪存,264-kB RAM 麦克风、具有 AI 功能的六轴 IMU 22 个数字 IO、20 个 PWM、8 个 ADC - WiFi、蓝牙 - 3.3 V - Adafruit Feather RP2040(注意:还需要一个用于 WiFi 的 FeatherWing)
ESP32-S2 Saola-1 ~$10 - $15 家庭自动化;初学者 IoT;ML;监视;网格网络 Arduino IDE、Circuit Python、ESP IDF 240 MHz 32 位 ESP32-S2(单核 Xtensa LX7) 128 kB 闪存、320 kB SRAM、16 kB SRAM (RTC) 14 个 电容式触摸 IO 引脚、温度传感器 43 个数字引脚、8 个 PWM、20 个 ADC、2 个 DAC 串行 LCD、并行 PCD Wi-Fi 802.11 b/g/n(802.11n,速率高达 150 Mbps) - 3.3 V 1. 使用 Azure ML 进行安全人脸检测,2. Azure 成本监视器 ESP32-DevKitC (~$10 - $15)
Wio Terminal (Seeed Studio) ~$40 - $50 监视;家庭自动化;ML Arduino IDE、VS Code、MicroPython、ArduPy 120 MHz 32 位 ATSAMD51(单核 Cortex-M4F) 4 MB SPI 闪存、192-kB RAM 板载屏幕、麦克风、IMU、蜂鸣器、microSD 插槽、光传感器、IR 发射器、Raspberry Pi GPIO 安装件(作为子设备) 26 个数字引脚、5 个 PWM、9 个 ADC 2.4" 320x420 彩色 LCD 双频 2.4Ghz/5Ghz (Realtek RTL8720DN) - 3.3 V 使用 Azure IoT 监视工厂 Adafruit FunHouse (~$30 - $40)

SBC 设备列表

下面是按字母顺序列出的 SBC 对照表。 此列表并不详尽。

注意

此列表仅用于教育目的,而不旨在认可任何产品。 所示价格表示多家分销商的平均价格,仅用于演示目的。

电路板名称 价格范围(美元) 用途 软件 速度 处理器 内存 板载传感器和其他功能 IO 引脚 视频 单选 有电池连接器? 工作电压 入门指南 替代方法
Raspberry Pi 4,型号 B ~$30 - $80 家庭自动化;机器人;自动驾驶汽车;控制系统;野外科学 Raspberry Pi OS、Raspbian、Ubuntu 20.04/21.04、RISC OS、Windows 10 IoT 等 1.5 GHz CPU,500 MHz GPU 64 位 Broadcom BCM2711(四核 Cortex-A72),VideoCore VI GPU 2GB/4GB/8GB LPDDR4 RAM,SD 卡(未随附) 2 个 USB 3 端口、1 个 MIPI DSI 显示器端口、1 个 MIPI CSI 摄像头端口、4 极立体声音频和复合视频端口、以太网供电(需要 HAT) 26 个数字引脚、4 个 PWM 2 个 micro-HDMI 复合端口、MPI DSI WiFi、蓝牙 5 V 1. 将数据发送到 IoT 中心,2. 使用 Azure IoT 监视工厂 BeagleBone Black Wireless (~$50 - $60)
NVIDIA Jetson 2 GB Nano Dev Kit ~$50 - $100 AI/ML;自动驾驶汽车 基于 Ubuntu 的 JetPack 1.43 GHz CPU,921 MHz GPU 64 位 NVIDIA CPU(四核 Cortex-A57)、128-CUDA-core Maxwell GPU 协处理器 2GB/4GB LPDDR4 RAM 472 GFLOPS for AI Perf,1 个 MIPI CSI-2 连接器 28 个数字引脚、2 个 PWM HDMI、DP(仅限 4 GB) 千兆以太网,802.11ac WiFi 5 V 与 Azure IoT Central 深度集成 BeagleBone AI (~$110 - $120)
Raspberry Pi Zero W2 ~$15 - $20 家庭自动化;ML;汽车改装;野外科学 Raspberry Pi OS、Raspbian、Ubuntu 20.04/21.04、RISC OS、Windows 10 IoT 等 1 GHz CPU,400 MHz GPU 64 位 Broadcom BCM2837(四核 Cortez-A53),VideoCore IV GPU 512 MB LPDDR2 RAM,SD 卡(未随附) 1 x CSI-2 摄像头连接器 26 个数字引脚、4 个 PWM Mini-HDMI WiFi、蓝牙 - 5 V 将数据发送到 Azure IoT 中心和可视化数据 Onion Omega2+ (~$10 - $15)
DFRobot LattePanda ~$100 - $160 家庭自动化;超大规模云连接;AI/ML Windows 10、Ubuntu 16.04、OpenSuSE 15 1.92 GHz 64 位 Intel Z8350(四核 x86-64),Atmega32u4 协处理器 2 GB DDR3L RAM,32 GB eMMC/4GB DDR3L RAM,64 GB eMMC - 6 个数字引脚(20 个 Atmega32u4 引脚)、6 个 PWM、12 个 ADC HDMI、MIPI DSI WiFi、蓝牙 5 V 1. Microsoft Azure 入门,2. 使用 Azure 的家庭监视系统 Seeed Odyssey X86J4125800 (~$210 - $230)

是否有任何问题? 想要提出请求?

请提交问题!

另请参阅

其他有用的资源包括: