了解 ARDUINO 101* 平台

2022-11-05,

原文链接

简介

作为一名物联网 (IoT) 开发人员,您需要根据项目的不同需求,选择最适合的平台来构建应用。 了解不同平台的功能至关重要。 本文第一部分比较了 Arduino 101 平台和 Arduino UNO,为不熟悉 Arduino 101 特性的开发人员提供基本的了解。 第二部分深入探讨了 Arduino 101* 平台的功能。

Arduino 101* 与 Arduino UNO* 对比

Arduino UNO 使用 Atmel ATmega328P* 模块,Arduino 101 使用基于英特尔® Quark SE SoC 的低功耗英特尔® Curie™ 模块。 UNO 的工作电压为 5V,而 Arduino 101 的工作电压为 3.3 V(尽管也支持 5V 电源)。 Arduino 101 新增了板载蓝牙* 低能耗 (LE) 和带有加速计和陀螺仪的 6 轴组合传感器,而 UNO 没有。  两者的尺寸和引脚相同(见图 1 和图 2)。

图 1: Arduino 101* 平台。

图 2: Arduino UNO* 平台

此处汇总了 Arduino 101 和 Arduino UNO 平台功能。

产品亮点 Arduino 101* Arduino UNO*
微控制器 英特尔® CurieTM 模块 Atmel ATmega328P*
工作电压 3.3 V(支持 5V I/O) 5 V
CPU 速度 32 MHz 16 MHz 晶体振荡器
架构 32 位英特尔® QuarkTM SE SoC 8 位
闪存 196 KB 32 KB
SRAM 24 KB 2 KB
EEPROM 1 KB 1 KB
操作系统 开源 RTOS 不适用
时钟速度 32 MHz 16 MHz
特性 集成数字信号 用作 DSP
  处理器 (DSP) 传感器中枢和 6 轴组合传感器(包括加速计和陀螺仪)  
蓝牙* 蓝牙低能耗 不适用
数字 I/O 针脚 14 个数字输入/输出针脚 14 个数字输入/输出针脚
模拟 I/O 针脚 6 个模拟输入针脚 6 个模拟输入针脚
USB 接口 1 个用于串行通信和 sketch 上传的 USB 接口 1 个用于串行通信和 sketch 上传的 USB 接口
带有 SPI 信号的 ICSP header 1 个 带有 SPI 信号的在线串行编程 header 1 个 带有 SPI 信号的在线串行编程 header
I2C I2C 专用针脚 I2C 专用针脚 (Arduino UNO rev3)
重置 1 个重置按钮 1 个重置按钮
尺寸
(长 x 宽)
68.6 毫米 x 53.4 毫米 68.6 毫米 x 53.4 毫米

Arduino 101 详细信息

处理器

英特尔 Quark SE SoC 包含单核 32 MHz x86(英特尔® Quark™ 处理器)和 32 MHz Argonaut RISC Core (ARC)* EM 处理器。 这两颗处理器可同时运行,并共享内存。 ARC 处理器也被称为数字信号处理器 (DSP) 传感器中枢(取决于您所阅读的文档)。 从理论上来说,DSP 能够以最低的功率运行,收集和处理传感器数据,此时 x86 处理器以低功耗模式等待,因此非常适用于“始终在线”的应用。 不过,此时软件并不具备这种能力。

加载 Arduino sketch 时,它在 ARC 上运行。 不过英特尔® 工具链对 sketch 进行编译,以便 ARC 按照需求通过静态邮箱与 x86 处理器进行交互。 如欲测试这项功能,您可以访问开源内核库,查找 01.org’s GitHub* 上的 Arduino 101。

实时操作系统 (RTOS)

从软件角度来说,Arduino 101 的突出功能是能够运行 RTOS。 英特尔将发布一款软件开发套件 (SDK),其中包含一套软件开发工具、资源库、文档和示例代码,支持开发人员使用英特尔 Curie 模块创建物联网应用。 该 SDK 基于 Zephyr 项目*,能够兼容 Arduino 101 平台,数月后即将发布。 通过注册接收更多信息:https://software.intel.com/zh-cn/iot/hardware/curie。

Zephyr 项目是面向物联网的一个小型开源 RTOS。 它可提供面向低功耗、小内存空间设备而优化的连接协议,并支持蓝牙、蓝牙低功耗,Wi-Fi* 等。 RTOS 保持较低的内存使用量,并对任务执行进行优先级划分。 它还有助于保持最高能效。 RTOS 包含强大的开发人员工具和稳定的硬件特性。 开发人员工具包括自定义工具链和编译器优化。 如欲了解更多有关 Zephyr 项目和支持的硬件特性信息,请访问 zephyrproject.org。

蓝牙低功耗(蓝牙 LE* 或蓝牙智能*)

Arduino 101 新增了板载蓝牙 LE,以支持 Arduino 101 与计算机、智能手机和平板电脑等不同设备直接通信和交互,无需使用蓝牙 LE 护罩。 支持蓝牙的 Arduino 101 能够直接与其他设备进行通信,无需使用附加硬件。 蓝牙 LE 最适合低能耗应用。 CurieBLE 示例代码请见 https://www.arduino.cc/en/Reference/CurieBLE。

其他库

库是可提供用于 sketch 的额外功能的代码集合。 Arduino 101 库有助于轻松连接至蓝牙 LE、传感器和计时器。 如欲开始使用内置 Arduino 101 库,请访问 https://www.arduino.cc/en/Guide/Libraries。

Curie BLE: 将计算机、智能手机和平板电脑连接至蓝牙 LE 模块
Curie IMU: 使用板载 6 轴加速计和陀螺仪
Curie TimerOne: 管理计时器功能

加速计和陀螺仪

加速计和陀螺仪是 Arduino 101 平台的板载传感器。 加速计主要用于测量加速和倾斜。 陀螺仪用于测量角速度和方位。 这些传感器有助于精确识别物体的方向和移动。 这项新特性支持 Arduino 101 平台增强可穿戴设备的用户体验。

加速计的一种使用方法是计算步数,和计步器一样。  Arduino 101 平台做出步进动作后,这一步将会被检测到。 检测到这一步进动作后,x、y 和 z 轴的速度相对于其他状态会有明显变化。 有关计步器的更多信息,请访问:https://www.arduino.cc/en/Tutorial/Genuino101CurieIMUStepCounter。

与 Arduino UNO 类似,使用 Arduino IDE* 软件可对 Arduino 101 进行编程。 如欲开始使用 Arduino 101,请前往 https://software.intel.com/zh-cn/articles/fun-with-the-arduino-101-genuino-101。 将计步 sketch 上传至 Arduino 101,查看计步器的工作原理(见图 3)。

图 3: 使用 Arduino IDE* 加载计步 sketch。

上传计步 sketch(见图 4):

图 4: 在 Arduino IDE* 上运行计步 sketch。

移动 Arduino 101 平台以出现步数,并查看串行监控器(见图 5)。

图 5: 串行窗口。

中断针脚

Arduino 101 和 Arduino UNO 都有 20 个 I/O 针脚。 Arduino 101 接受中断的针脚比 Arduino UNO 多。 Arduino UNO 在数字针脚 2 和 3 上对于中断进行触发,而 Arduino 101 能在所有针脚进行触发。 因外部事件触发的中断可发生在所有针脚上。 低值、高值、边缘上升或下降都可触发所有针脚上的中断,但只有针脚 2、5、7、8、10、11、12、13 支持变化值。

总结

本文对 Arduino 101 的特性进行了汇总。 Arduino 101 平台所包含的传感器、护罩、组件和库使其功能得以显著增强。 订购 Arduino 101 平台:http://www.intel.com/buy/us/en/product/emergingtechnologies/intel-arduino-101-497161。请访问 https://software.intel.com/zh-cn/articles/fun-with-the-arduino-101-genuino-101,测试并尽享英特尔 Curie 模块的强大功能。

实用参考资料

英特尔® 开发人员专区:
https://software.intel.com/zh-cn/iot/home

Arduino 论坛:
http://forum.arduino.cc/index.php?board=103.0

英特尔 Curie 模块:
https://software.intel.com/zh-cn/iot/hardware/curie
http://www.intel.com/content/www/us/en/wearables/wearable-soc.html
http://www.intel.com/content/www/us/en/wearables/intel-curie-fact-sheet.html

Arduino 101 硬件:
https://www.arduino.cc/en/Main/ArduinoBoard101
https://www.arduino.cc/en/Guide/Arduino101
https://software.intel.com/zh-cn/articles/fun-with-the-arduino-101-genuino-101

Arduino UNO 硬件:
http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno

Grove* Starter Kit Plus:
https://software.intel.com/zh-cn/iot/hardware/devkit

Zephyr:
https://www.zephyrproject.org/about
https://www.zephyrproject.org/doc/board/arduino_101.html

关于作者

Nancy Le 是英特尔公司软件与服务事业部的一名软件工程师,主要负责英特尔® 凌动™ 处理器扩展支持项目。

了解 ARDUINO 101* 平台的相关教程结束。

《了解 ARDUINO 101* 平台.doc》

下载本文的Word格式文档,以方便收藏与打印。