LinkIT One 和 Grove IoT 入门套件,由 AWS 提供支持
主要参考:[Grove IoT 入门套件,由 AWS 提供支持](/Grove_IoT_Starter_Kits_Powered_by_AWS"Grove IoT Starter Kits Powered by AWS"),LinkIt ONE,MediaTek AWS IoT 指南
LinkIt ONE 开发板是一款开源、高性能的开发板,专为可穿戴设备和物联网产品原型设计。它基于 MT2502(ARM7EJ-S™ MCU),在单个开发板上集成了 GSM、GPRS、Wi-Fi、蓝牙 BR/EDR/BLE、GPS、音频解码器和 SD 卡连接器。该套件使您能够构建涉及智慧城市、交通运输和物流通信的云计算连接项目。
您可以使用 AWS IoT 来完成两个关键任务:安全数据传输和灵活的远程操作。数据是任何物联网设备的关键组成部分。当通过蜂窝网络或 Wi-Fi 网络向云端发送数据时,您需要确保遥测数据的机密性,这可以通过 AWS 提供的不同安全机制来克服。借助 AWS 规则引擎,您可以与其他 AWS 服务一起为您的项目构建完整的解决方案。
通过 MediaTek LinkIt™ ONE 和 Grove IoT 入门套件(由 AWS 提供支持),您可以创建强大的可穿戴设备、前沿的物联网设备,并将设备数据发送到 Amazon Web Services。该套件包含一系列用于收集数据的 Grove 传感器和用于在设备上获取可视化界面的外设。通过采用 AWS 云,您的业务将受益于其灵活性、可扩展性和按需付费的特点。
套件内容
功能特性
-
简单、完整且强大的开发平台(LinkIt™ ONE)。
-
Grove 系统,具有各种功能模块。
-
通过 AWS 授权服务,在您的应用程序(Web 应用程序、移动应用程序或控制设备)和远程设备(传感器、执行器、嵌入式设备或智能设备)之间进行保密通信。
-
利用应用程序连接到 AWS 计算平台。
-
用于构建功能丰富、前沿且属于未来的奇幻应用程序。
开始使用
配置您的 AWS IoT 服务
首先,我们需要获取一个 AWS IoT 服务账户,并进行一些配置。
-
创建一个 AWS 账户
-
前往 AWS IoT 控制台 并打开 AWS IoT 仪表板
1. 点击左上角的 Services,然后点击 AWS IoT,如下图所示。
2. 点击 Get started 按钮。
3. 点击 Create a Resource,然后点击 Create a thing。
4. 点击 Connect a device。
5. 选择 Embedded C 并点击 Generate certificate and policy。点击链接下载密钥和证书,这些将在稍后使用。
6. 然后我们将获得一些代码,如下所示。将代码复制到一个空文档中。我们稍后会使用这些代码。然后点击 Return to Thing Detail。
设置您的 LinkIt ONE 开发环境
本教程基于 Windows(Windows 7 或更高版本)系统和 Arduino IDE 1.5.7 以及 LinkIt SDK 1.1.17。
-
参考这里构建开发环境。
注意:此版本仅支持 Arduino IDE 1.5.7(和 Arduino IDE 1.6.5)以及 LinkIt SDK 1.1.17。
下载示例并运行
LinkIt ONE 开发板的 AWS IoT 服务支持可在智能项目和亚马逊的 IoT 优化云之间实现安全通信。AWS IoT 服务使用消息代理(MQTT 代理)和 HTTP 作为其通信协议。为了在 LinkIt ONE 开发板上支持这一点,提供了适用于 LinkIt ONE 的 mbed TLS 库(mbed TLS 库的一个版本)来提供传输层安全性(TLS)。该库可轻松与新的和现有的(嵌入式)应用程序集成,并为安全通信、加密和密钥管理提供构建块。
- 在这里下载示例
- 然后点击 Download ZIP 下载代码。您下载的代码不是 Arduino 库,而是一个示例集,其中包含了项目所需的所有库。
解压从 Github 下载的文件,您将得到一个名为 aws_mbedtls_mqtt-master 的文件夹,删除文件名中的"-master"。
配置 Arduino IDE
1. 打开您的 Arduino IDE(1.5.7),点击 File > Preferences > Sketchbook Location,浏览到我们上面提到的文件夹 - ArduinoPhone-master。然后点击 OK 保存。
2. 关闭并重新启动 Arduino IDE,点击 File > Sketchbook > aws_paho_shadow,然后代码将被加载。
将密钥文件放入 LinkIt ONE 的存储中
1. AWS IoT 服务的应用程序开发在 Arduino IDE 中进行。在上传示例之前,将在"为设备或应用程序通信创建证书"部分中创建的证书(.key 或 .crt 文件)添加到 LinkIt ONE 开发板的闪存存储中,如下所示。
将其切换到大容量存储模式,如下所示。如果您的桌面操作系统上没有新插入的驱动程序,您需要断开电源。
2. 导航到计算机,然后选择设备和可移动存储。打开对应 LinkIt ONE 开发板的可移动磁盘驱动器。
3. 将我们从 AWS IoT 下载的密钥和证书文件复制到磁盘中。
在我们下载的代码中,有一个名为 VeriSign-Class 3-Public-Primary-Certification-Authority-G5 (1).pem 的文件,位于 \aws_mbedtls_mqtt\root_cert 中,将其也复制到可移动磁盘中,并重命名为 root-CA.crt
然后切换到 UART 模式(LinkIt ONE 板的最角落部分)。
稍微修改代码
点击 File>Sketchbook>aws_paho_shadow 打开代码。
1. 在 aws_paho_shadow.h 中找到下面的代码。
2. 回想我们在 AWS IoT 创建设备时的情况:
复制代码并在 aws_paho_shadow.h 中替换它。
3. 配置您的 Wi-Fi AP:
4. 运行 win+R,输入 cmd,然后 ping AWS_IOT_MQTT_HOST 的地址
ping A2DWFZYZMAZJGZ.iot.us-east-1.amazonaws.com
注意,您需要将 A2DWFZYZMAZJGZ.iot.us-east-1.amazonaws.com 替换为常量 AWS_IOT_MQTT_HOST 的值,可以在之前复制的代码中找到。
您将得到:
并将 IP_ADDRESS(第40行)修改为这行数字。(这里是 54.164.100.76)
硬件连接
所需材料:
-
Base Shield v2.0,设置为 3V3(Base shield 板的最角落部分)
-
Grove - Touch Sensor 连接到 D6
-
Grove - LED Bar 连接到 D2
上传代码
提示: 如果出现任何库文件(或头文件)缺失错误,请参考这里。 将您的 LinkIt ONE 连接到 PC,记住要先插入 Wi-Fi 天线。打开设备管理器,您会发现有 2 个 COM 端口:
点击 Tools>Board 并选择 LinkIt ONE。点击 Tool>Ports 并选择 MTK USB Debug Port 的编号。最后,点击 Upload 按钮上传代码。
检查输出
注意,您必须连接天线。请参考这里。
1. 将 Arduino IDE 端口更改为 MTK USB Moden Port,打开串口监视器并将波特率设置为 9600。
2. 当您看到 ...X.509 certificazte... ok 时,表示您的设备已成功连接到 AWS。如果有问题,请重新给 LinkIt ONE 上电并重试。
然后让我们打开 AWS IoT 网站,登录您的账户。点击您几分钟前创建的设备:
您会在右侧找到一个控制面板。
您现在可以检查触摸传感器的状态。尝试按下触摸传感器,然后更新它。
3. 您会发现 Touch 的状态已经改变。然后让我们尝试控制 LED Bar。点击 Update shadow。
4. 并用下面的代码替换代码(替换所有现有代码):
{
"desired": {
"ledBarStatus": 5
},
"reported": {
"Touch": false,
"ledBarStatus": 0
}
}
资源
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。