65.9K
CodeProject 正在变化。 阅读更多。
Home

(第二阶段) Spark Core 入门

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2014 年 11 月 11 日

CPOL

7分钟阅读

viewsIcon

26780

Spark Core 入门,为所有人提供设置指南。

引言

本文旨在强调,对于任何程序员来说,通过一款名为 Spark Core 的简单易用的开箱即用型微控制器,进入物联网和硬件工程世界是多么容易。

像我这样的新手程序员,常常因为微控制器复杂的设置流程以及使设备联网相关的成本而无法从软件工程转向硬件工程。

与需要额外的 Wi-Fi 模块才能连接互联网的传统 Arduino Uno 不同,Spark Core 内置了 Wi-Fi 芯片,使其成为一款创新的微控制器,应该得到重点介绍,因为它开箱即用,已经准备好连接互联网。

本文将简单介绍如何设置 Spark 微控制器并将其连接到互联网,主要面向初学者。旨在尽可能无缝地与 Android 平台结合,实现激活、设置配置和使用。

本文在第二阶段连接性范围内将概述:

  1. Spark 微控制器的规格
  2. 通过 Wi-Fi 实现 Spark 微控制器的无缝激活和设置
  3. 如何通过 Web IDE 刷写 Spark Core,使用 Arduino 编码语法。

我们提前向可能期待 CLI 和与 Arduino 相比 Spark Core 的额外调整的经验丰富的专家致歉,但我们撰写本文是为了鼓励简单易用和连接性,适合任何人。

物联网背景知识

简而言之,物联网是一项创新革命,它允许人们将嵌入式设备连接到互联网。

  1. 将虚拟代码与大量具有数据共享能力的物理硬件接口连接。
  2. 执行远程命令。
  3. 通过微处理器和控制器,在网络环境中通过互联网输出。
  4. 创建可穿戴技术。

在以下领域:

  1. 信息与技术
  2. 神经网络开发
  3. 数据采样
  4. 教育程度
  5. 科学
  6. 医学
  7. 社会学等。

什么是 Spark Core?

Spark Core 是一款多功能(802.11 b/g)Wi-Fi 兼容 ARM 32 位 Cortex 微控制器,售价 39.00 美元。

具有 USART、SPI 和 I2C 接口。
ARM 32 位 Cortex-M3 CPU,运行频率为 72 兆赫。
128KB 的闪存用于固件存储,20KB 的 SRAM。

您可以使用 8 个数字和 8 个模拟 GPIO 引脚连接数字和模拟硬件。

此类硬件的示例包括:

  • 传感器
  • 开关
  • 电机
  • 执行器
  • 蜂鸣器
  • LED灯
  • 扬声器
  • 电位器
  • 以及其他扩展板。
  schemetics

制造商设备规格

编程语言语法

  • 您可以使用 Arduino、C/C++ 甚至 ARM 汇编来编程 Core。

Spark Core

  • 8 个数字 I/O 引脚,8 个模拟 I/O 引脚
  • 8 个 PWM 引脚;提供 UART (串行)、SPI、I2C 和 JTAG 外设
  • 通过 Wi-Fi (通过 Spark Cloud)、USB 或 JTAG 无线编程
  • 3.3V 直流电源电压(板载电源稳压器);可通过 USB Micro 供电
  • 100mA 典型电流消耗;300mA 峰值电流消耗(在传输事件期间)
  • 2MB 外部闪存;EEPROM 由 CC3000 提供

微控制器

  • STM32F103 微控制器
  • ARM Cortex M3 架构
  • 32 位 72MHz 处理器
  • 128KB 闪存,20KB RAM

Wi-Fi 模块

  • 德州仪器 SimpleLink CC3000
  • 802.11b/g
  • 范围 100-300 英尺

schemetics

开始通过 Wi-Fi 连接和配置 Spark Core 微控制器

简要步骤

  1. 将随附的 USB 线插入 Spark Core 和您的计算机。Core 应开始闪烁蓝色。
  2. https://play.google.com/store/apps/details?id=io.spark.core.android 下载并安装 Spark Core Android 应用到您的 Android 手机或平板电脑。
  3. 通过 Android 应用在 Spark Cloud 上注册您的电子邮件地址和设备。
  4. 访问 Web IDE https://www.spark.io/login,并在 Web IDE 中使用 Arduino 语法编写您的第一个指令集。
  5. 将传感器连接到模拟和数字引脚或面包板。
  6. 通过 Web IDE 为您的设备微控制器刷写步骤 4 中创建的固件,然后您就可以开始使用了。
  7. 您可以从步骤 2 下载的 Spark io Android 应用远程控制每个引脚的开关状态,并读写参数。
  8. 非常简单!

步骤 1:为 Core 供电

将随附的 USB 线插入 Spark Core 和您的计算机。

Core 应开始闪烁蓝色!

如果它没有闪烁蓝色,请按住模式按钮直到灯变为蓝色(“左侧的按钮”)。现在将您的 Spark Core 设备放在一边,仍然连接到 USB。

schemetics

步骤 2:安装 Android 应用

如果您有 Android 平板电脑或手机,请从 Google Play 安装 Spark Core Companion 应用。

https://play.google.com/store/apps/details?id=io.spark.core.android

填写您的电子邮件地址和密码,然后点击注册,大约需要 10-30 秒才能进入下一个屏幕。

schemetics

在 SSID 字段中输入您用于连接到互联网的家庭网络 SSID 及其密码,然后点击连接。请确保已输入正确的凭据。

schemetics

现在请注意 Spark Core 上的 LED 灯,它应该会闪烁一系列灯光。

请记住,当您第一次插入 USB 线并将灯变成蓝色时,它就开始监听 Wi-Fi 凭据了。

灯的颜色和闪烁速度的含义

步骤 4:登录 Web IDE!

  1. 闪烁蓝色:正在监听 Wi-Fi 凭据
  2. 常亮蓝色:正在从应用获取 Wi-Fi 信息
  3. 闪烁绿色:正在连接到 Wi-Fi 网络
  4. 闪烁青色:正在连接到 Spark Cloud
  5. 闪烁品红色:正在更新到最新固件
  6. 呼吸青色:已连接!(缓慢的灯光脉冲)

如果一切顺利,您的设备 LED 灯应呈呼吸青色,并且您的 Android 应用应显示如下屏幕。

Spark 应用现在应已进入 Tinker 屏幕!

默认情况下,您的 Spark 设备上的嵌入式 LED 灯连接到 D7 引脚,所以让我们来测试一下 Spark 设备是否确实已连接到互联网,以及它是否可以接收远程命令。

让我们开始第一次测试!

  1. 点击 D7,然后在弹出窗口中点击 digitalWrite。现在,当您点击 D7 圆圈时,您 Spark 微控制器上的微小蓝色 LED 应该会亮起!在下面的截图中,已选择数字引脚 0,用围绕 D0 的绿色圆圈表示。所有其他引脚都显示为灰色,表示您未选择它们。

    schemetics

    恭喜!您的设备现已投入运行!

  • 只需导航到:https://www.spark.io/login

    schemetics

  • 使用您的电子邮件地址和密码登录。
  • 登录后,您应该会看到以下屏幕。
  • 输入您的 Arduino 代码,然后点击闪烁按钮,通过互联网将您的 Spark 微控制器刷写。
  • 就是这么简单。此时,我想告诉您,我居住在太平洋中间的一个小岛上,我们接触不到太多电子产品,因此本文将只写一个循环来闪烁默认连接到 D7 引脚的 LED。

在 Web IDE 中用 Arduino 语法编写可刷写代码

// Program to blink original embeded LED connected to pin D7


// We name pin D7 as defaultled led
int defaultled = D7;


// This routine runs only once upon reset
void setup()
{
  // Initialize D7 pin as output
  pinMode(defaultled, OUTPUT);
  
}

// This routine loops forever
void loop()
{
  digitalWrite(defaultled, HIGH);   // Turn ON the LED
  delay(2000);               // Wait for 2000mS = 2 second
  digitalWrite(defaultled, LOW);    // Turn OFF the LED
  delay(1000);               // Wait for 1 second
   digitalWrite(defaultled, HIGH);   // Turn ON the LED
  delay(500);               // Wait for 500mS = 1/2 a second
  digitalWrite(defaultled, LOW);    // Turn OFF the LED
  delay(1000);               // Wait for 1 second
}

完成 Web IDE 中的代码编写后,点击闪烁图标以上传您的指令集。

schemetics

让我们看另一个例子,这个例子由 spark.io 提供。

// Program to blink a  LED connected via bred board to pin D0


// We name pin D0 as myled
int myled = D0;


// This routine runs only once upon reset
void setup()
{
  // Initialize D0 pin as output
  pinMode(myled, OUTPUT);
  
}

// This routine loops forever
void loop()
{
  digitalWrite(myled, HIGH);   // Turn ON the LED
  delay(2000);               // Wait for 2000mS = 2 second
  digitalWrite(myled, LOW);    // Turn OFF the LED
  delay(1000);               // Wait for 1 second
   digitalWrite(myled, HIGH);   // Turn ON the LED
  delay(500);               // Wait for 500mS = 1/2 a second
  digitalWrite(myled, LOW);    // Turn OFF the LED
  delay(1000);               // Wait for 1 second
}

schemetics

完成 Web IDE 中的代码编写后,点击闪烁图标以上传您的指令集。

重要提示:

Windows 设备驱动程序(可选)

Baudrate: 9600
Data Bits: 8
Parity: none
Stop Bits: 1

电源

您可以通过 V in 引脚连接一个外部电源,电压范围为 3.6V 至 6.0V 直流,但建议通过 USB 端口为 Core 供电或使用 3.6V 锂聚合物电池。

引脚和 I/O

该板总共有 18 个 IO 引脚,工作电压为 3.3V。板左侧有 8 个模拟引脚,标有 A0、A1、A2、A3、A4、A5、A6、A7,板右侧有 8 个数字引脚,标有 D0、D1、D2、D3、D4、D5、D6、D7。标有 **TX 和 RX 的引脚已预设为串行通信**。

模拟输入

引脚 A0 到 A7 可设置为模拟输入,可测量高达 3.3V 的电压。可以使用 analogRead() 函数读取这些引脚,它将返回一个 12 位的值。

结论

非常感谢您阅读本文,本文介绍了如何设置开发环境并为您第一次为 Spark Core 编写代码,目标读者是刚接触编程和工程的人。

参考文献

https://www.spark.io/

© . All rights reserved.