×
嵌入式 > 技术百科 > 详情

Intel Curie神助攻——DFROBOT重磅推出年度最佳创客板Curie Nano

发布时间:2020-06-09 发布时间:
|

时间回到2015年CES展上,当时Intel向全世界宣告了进军物联网以及可穿戴领域的决心,推出了一款高度集成的模块——Intel Curie。Curie虽然只有手指甲那么大,但功能却十分强大,集成了异构双核处理器、6轴姿态传感器(包含加速度传感器以及陀螺仪)、低功耗蓝牙等功能,这使它在亮相之后就备受瞩目。

次年,Intel联合Arduino推出了基于Curie模块的Arduino 101/Genuino 101开发板,因为高度的兼容Arduino,并且具有远超Arduino开发板的性能和功能,使之更适合以前Ardunio开发板无法涉足的机器人视觉、工业物联网、智能手表等更高端的控制领域,受到创客的一致喜爱。

到了今年,DFROBOT结合自身产品的特点,重磅推出了基于Curie模块的Curie Nano创客板,相比官方的Arduino 101/Genuino 101开发板,体积更小,更加适合创客DIY、二次开发,真可谓青出于蓝而胜于蓝。爱板网第一时间拿到了DFROBOT提供的Curie Nano产品,让我们一起来了解下。

包装还附赠了DFROBOT的贴纸以及带别针的Logo,辨识度非常高。

开发板的包装盒很简洁,纯黑,给人一种“黑科技”的感觉。

Curie Nano开发板另外还用静袋子包裹着,防止板子无意中的破坏,细节考虑的十分周到,无怪,毕竟这么一个小开发板看官网的售价也要278RMB,细节之处重视也是应该的。

Curie Nano开发板默认的扩展接口排针并没有焊接,但是附带了,方便用户按自己实际的需求来。

Curie Nano硬件

Curie Nano开发板的尺寸十分“精致”,长宽只有43mm*23.5mm,跟成人的拇指那般大小,板子基于Intel Curie模组设计,完美兼容Genuino/Arduino 101的设计,使用简单。高集成的尺寸让他能够更好的贴合你的机器人、可穿戴以及其他创客项目的开发创作。

Curie Nano开发板特性:

  • 主控器:Intel Curie
  • BAT端口供电电压:3.5V-6.5V
  • 5V端口电压:4.5V-5.5V
  • 3V3端口电压:2.97V-3.63V
  • 数字IO口:15个(包含4个PWM引脚D3,D5,D6,D9)
  • 模拟IO输入:6个
  • IO口直流驱动能力:2mA-8mA
  • 芯片内置支持蓝牙4.0
  • 芯片内置6轴加速度计和板载3轴电子罗盘,全惯导功能
  • 板载升压电路,在锂电池供电的情况下,能够提供1.5A@5v的传感器供电能力
  • 时钟速度:32Mhz
  • 兼容Arduino IDE 1.6.7以上
  • Bootloader:Arduino/Genuino 101

硬件结构如下图所示:

Intel Curie模组

Curie Nano核心芯片为Intel Curie模组,说它是模组,其实说是SoC更为贴切,整个SoC只有11mm*8.05mm大小,非常适合既需要性能又有空间限制的穿戴设备和物联网产品开发。

下图也能看出Curie的高度也很低,只有1.95mm左右。

当然,被Intel自己称为模组的Curie真可以说是麻雀虽小五脏俱全。首先,集成了一个Intel Quark SE微控制器、Nodic NRF51822低功耗蓝牙芯片、bosch 6轴加速度/陀螺仪传感器、多个LDO以及DC/DC转换器、内部电池充电单元等,功能可谓十分强大。

Curie内部具体的硬件结构可以参考下图。

上电开发

Curie Nano兼容Arduino IDE的开发,官方推荐的版本在1.67版本以上。作为Curie Nano开发板,需要在开发板管理器中下载Intel Curie的支持包。(工具-->开发板-->开发板管理)

找到Intel Curie Boards安装包安装,可能是国外服务器的关系,最好是可以通过VPN下载安装,国内的网直接安装容易出错。

安装过程中出现的驱动安装提示默认全部安装。

安装完成后将开发板连接到电脑端就能看到相应的串口

本人拿到的Curie Nano开发板看运行的结果应该是出厂设置的电灯例程。

从先前Curie Nano开发板的介绍来看,板载的功能主要体现在电子罗盘、加速度、陀螺仪、BLE这几个重大的功能,所以后面围绕这几项功能测试看看。

有一点是值得大家注意的,由于电子罗盘功能是DFROBOT这个Curie Nano产品加上去的,所以这个功能官方提供了相应的代码,而对于BLE、陀螺仪以及加速度计因为是Intel Curie模组本身具有的功能,所以这些源码在Arduino官方社区可以找到,而且具备多种例程应用,方便用户选择自己需要的二次开发或者DIY。

陀螺仪、加速度计相关例程

BLE相关例程

以下是Curie Nano的几个功能:

  • 电子罗盘功能

  • 陀螺仪功能

  • 加速度计功能

  • BLE功能

BLE功能的使用通过APP应用来演示会更加直观,由于Curie集成的是Nordic的蓝牙芯片,以苹果手机为例,可以下载nRF Connect APP与开发板上的低功耗蓝牙连接。

Curie Nano下载的源代码如下

#include

BLEPeripheral blePeripheral;  // BLE Peripheral Device (the board you're programming)
BLEService ledService("19B10000-E8F2-537E-4F6C-D104768A1214"); // BLE LED Service

// BLE LED Switch Characteristic - custom 128-bit UUID, read and writable by central
BLEUnsignedCharCharacteristic switchCharacteristic("19B10001-E8F2-537E-4F6C-D104768A1214", BLERead | BLEWrite);

const int ledPin = 13; // pin to use for the LED

void setup() {
Serial.begin(9600);

// set LED pin to output mode
pinMode(ledPin, OUTPUT);

// set advertised local name and service UUID:
blePeripheral.setLocalName("LED");
blePeripheral.setAdvertisedServiceUuid(ledService.uuid());

// add service and characteristic:
blePeripheral.addAttribute(ledService);
blePeripheral.addAttribute(switchCharacteristic);

// set the initial value for the characeristic:
switchCharacteristic.setValue(0);

// begin advertising BLE service:
blePeripheral.begin();

Serial.println("BLE LED Peripheral");
}

void loop() {
// listen for BLE peripherals to connect:
BLECentral central = blePeripheral.central();

// if a central is connected to peripheral:
if (central) {
Serial.print("Connected to central: ");
// print the central's MAC address:
Serial.println(central.address());

// while the central is still connected to peripheral:
while (central.connected()) {
// if the remote device wrote to the characteristic,
// use the value to control the LED:
if (switchCharacteristic.written()) {
if (switchCharacteristic.value()) {   // any value other than 0
Serial.println("LED on");
digitalWrite(ledPin, HIGH);         // will turn the LED on
} else {                              // a 0 value
Serial.println(F("LED off"));
digitalWrite(ledPin, LOW);          // will turn the LED off
}
}
}

// when the central disconnects, print it out:
Serial.print(F("Disconnected from central: "));
Serial.println(central.address());
}
}

编译上传到板子后就能通过nRF Connect APP来控制板子上的LED。

发送0x00关灯

发送0x01点灯

关于Curie Nano板子上更多的功能可以通过Arduino社区来实现拓展,本文就不再一一演示了。

小结

介绍了DFROBT推出的基于Intel Curie模组的超级创客板Curie Nano,基于高集成度、精致小巧的Intel Curie模组,板载电子罗盘、加速度、陀螺仪、BLE等多种功能,结合生态圈极广泛的开源Arduino IDE工具,可以方便用户进行二次开发或者DIY,非常适用于教学项目、创客群体和嵌入式开发者。尤其是板载的Intel Curie模组,只有纽扣般大小,集成度高,非常适合基于物联网或者可穿戴领域的应用。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
教你如何选一款内外兼备的吊顶LED灯