了解 Arduino 101 平台
本文的第一部分将 Arduino 101 平台与 Arduino UNO 进行了比较,为不熟悉 Arduino 101 功能的读者提供了一个基准。第二部分将深入探讨 Arduino 101 平台的功能。
访问新的 Intel® IoT Developer Kit,这是一个完整的软硬件解决方案,让开发者能够使用 Intel® Galileo 和 Intel® Edison 板卡创建令人兴奋的新解决方案。请访问 Intel® 物联网开发者中心。
引言
作为物联网 (IoT) 开发者,您需要根据项目的需求选择最佳的平台来构建您的应用程序。了解不同平台的功能非常重要。本文的第一部分将 Arduino 101 平台与 Arduino UNO 进行了比较,为不熟悉 Arduino 101 功能的读者提供了一个基准。第二部分将深入探讨 Arduino 101* 平台的功能。
Arduino 101* 与 Arduino UNO* 对比
Arduino UNO 使用 Atmel ATmega328P* 模块,而 Arduino 101 使用低功耗 Intel® Curie™ 模块,该模块由 Intel® Quark SE SoC 驱动。UNO 工作在 5V,而 Arduino 101 工作在 3.3V 而非 5V,但它兼容 5V。Arduino 101 添加了板载低功耗蓝牙 (LE) 和一个带有加速度计和陀螺仪的 6 轴组合传感器,而 UNO 没有。它们在尺寸和引脚布局上完全相同(参见图 1 和图 2)。
以下是 Arduino 101 和 Arduino UNO 平台功能的总结。
产品亮点 | Arduino 101* | Arduino UNO* |
---|---|---|
微控制器 | Intel® CurieTM 模块 | Atmel ATmega328P* |
工作电压 | 3.3 V (I/O 兼容 5V) | 5 V |
CPU 速度 | 32 MHz | 16 MHz 晶体振荡器 |
架构 | 32 位 Intel® 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 连接器 | 用于串行通信和草图上传的 USB 连接器 | 用于串行通信和草图上传的 USB 连接器 |
带 SPI 信号的 ICSP 头 | 带 SPI 信号的在线串行编程头 | 带 SPI 信号的在线串行编程头 |
I2C | I2C 专用引脚 | I2C 专用引脚 (Arduino UNO rev3) |
Reset | 重置按钮 | 重置按钮 |
尺寸 (长 x 宽) |
68.6 毫米 x 53.4 毫米 | 68.6 毫米 x 53.4 毫米 |
Arduino 101 详细分解
处理器
Intel Quark SE SoC 包含一个单核 32 MHz x86 (Intel® Quark™ 处理器) 和一个 32 MHz Argonaut RISC Core (ARC)* EM 处理器。这两个处理器同时运行并共享内存。ARC 处理器也被称为数字信号处理器 (DSP) 传感器集线器,具体取决于您查看的文档。理论上,DSP 可以使用极低的功耗运行,收集和处理传感器数据,而 x86 处理器则处于低功耗模式等待,这对于始终在线的应用非常理想。然而,目前软件中还不支持此功能。
当您加载 Arduino 草图时,它会在 ARC 上运行。但是,Intel® 工具链会编译您的草图,以便 ARC 通过静态邮箱在需要时与 x86 处理器进行交互。要对此进行实验,您可以访问 01.org 的 GitHub* 上的 Arduino 101 的开源核心库。
实时操作系统 (RTOS)
从软件角度来看,Arduino 101 的突出功能是能够运行 RTOS。Intel 将发布一个软件开发工具包 (SDK),其中包含一套软件开发工具、库、文档和示例代码,使开发者能够使用 Intel Curie 模块创建物联网应用程序。该 SDK 基于 Zephyr Project*,与 Arduino 101 平台兼容,并将在未来几个月内发布。注册以获取更多信息,请访问 https://software.intel.com/en-us/iot/hardware/curie。
Zephyr Project 是一个小型开源 RTOS,专为物联网设计。它提供针对低功耗、小内存占用设备的优化连接协议,并支持蓝牙、蓝牙 LE、Wi-Fi* 等。RTOS 保持低内存使用并优先处理任务执行。它还提供最高效的能源利用。RTOS 包括强大的开发工具和强大的硬件功能。开发工具包括自定义工具链和编译器优化。有关 Zephyr 项目和支持的硬件功能的更多信息,请参阅 zephyrproject.org。
低功耗蓝牙 (Bluetooth LE* 或 Bluetooth Smart*)
Arduino 101 添加了板载低功耗蓝牙,使 Arduino 101 能够直接与计算机、智能手机和平板电脑等多种设备进行通信和交互,无需使用低功耗蓝牙扩展板。启用蓝牙后,Arduino 101 可以直接与其他设备通信,无需额外硬件。低功耗蓝牙非常适合低功耗应用。CurieBLE 的示例代码可在 https://www.arduino.cc/en/Reference/CurieBLE 获取。
附加库
库是一系列代码,为草图提供额外的功能。Arduino 101 库可以轻松连接到低功耗蓝牙、传感器和定时器。要开始使用内置的 Arduino 101 库,请按照 https://www.arduino.cc/en/Guide/Libraries 进行操作。
- Curie BLE:连接带低功耗蓝牙模块的计算机、智能手机、平板电脑
- Curie IMU:使用板载 6 轴加速度计和陀螺仪
- Curie TimerOne:管理定时器功能
加速度计和陀螺仪
加速度计和陀螺仪是 Arduino 101 平台的板载传感器。加速度计主要用于测量加速度和倾斜度。陀螺仪用于测量角速度和方向。这些传感器能够精确识别物体的方向和运动。这项新功能使 Arduino 101 平台能够为可穿戴设备提供更好的用户体验。
使用加速度计的一种方法是计算步数,就像计步器一样。当 Arduino 101 平台发生步进动作时,就会检测到该步进。当 x、y、z 轴相对于静止状态的速度发生显著变化时,就会检测到步进动作。有关计步器的更多信息,请访问 https://www.arduino.cc/en/Tutorial/Genuino101CurieIMUStepCounter。
与 Arduino UNO 类似,Arduino 101 也可以使用 Arduino IDE* 软件进行编程。要开始使用 Arduino 101,请访问 https://software.intel.com/en-us/articles/fun-with-the-arduino-101-genuino-101。要查看计步器的工作原理,请将计步草图上传到 Arduino 101(参见图 3)。
上传计步草图(参见图 4)
移动 Arduino 101 平台进行计步并查看串行监视器(参见图 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 平台更加强大。请在 http://www.intel.com/buy/us/en/product/emergingtechnologies/intel-arduino-101-497161 订购 Arduino 101 平台,并查看 https://software.intel.com/en-us/articles/fun-with-the-arduino-101-genuino-101 来进行实验并享受 Intel Curie 模块的强大功能。
有用参考
-
Intel Curie:模块
https://software.intel.com/en-us/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/en-us/articles/fun-with-the-arduino-101-genuino-101 -
Arduino UNO 硬件
http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno -
Grove* 入门套件增强版
https://software.intel.com/en-us/iot/hardware/devkit -
Zephyr
https://www.zephyrproject.org/about
https://www.zephyrproject.org/doc/board/arduino_101.html
关于作者
Nancy Le 是 Intel Corporation 软件与服务部门的一名软件工程师,致力于 Intel® Atom™ 处理器规模支持项目。