0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

本文讨论并演示如何使用 Amazon FreeRTOS 快速、安全地将设计连接到云

设计idea 2018-03-28 16:41 次阅读

传统的嵌入式系统开发人员一般使用不联网的设备在裸机上工作,但 IoT 却要求系统连接到因特网。这就要求嵌入式系统开发人员了解如何连接其设备和使用较高级别的操作系统,如实时操作系统 (RTOS)。

有了 Amazon FreeRTOS,开发人员不需要从头开始和进行面面俱到地学习,即可以将嵌入式系统安全地连接到因特网。该系统能够让开发人员以安全的方式将设备快速简单地连接到 Amazon Web Services (AWS),从而简化其开发工作。本文将讨论并演示如何使用 Amazon FreeRTOS。

Amazon FreeRTOS 简介

Amazon FreeRTOS 是一种以开源 FreeRTOS 内核为核心的 RTOS,配备有附加组件,以实现本地和云连接、安全保护以及无线 (OTA) 更新。FreeRTOS 内核是已经存在十年以上的知名 RTOS,能提供下列有用的功能:

  • 基于优先级的任务调度

  • 信号

  • 互斥器

  • 消息队列

另外,FreeRTOS 免费提供,拥有 MIT 软件许可。

让 Amazon FreeRTOS 独树一帜并能吸引嵌入式软件开发人员的原因是,它向 FreeRTOS 增加了连接库和安全性。然后将所有功能结合到一个单一聚合框架中,使开发人员能够以安全方式将其设备立刻连接到云服务,开箱即用。

选择 Amazon FreeRTOS 硬件

FreeRTOS 内核本身依赖几十个不同的微控制器架构才能工作。Amazon FreeRTOS 现已通过 Amazon FreeRTOS Qualification Program 资格认证程序,在四个不同的微控制器供应商硬件平台上进行了充分测试和集成。具体包括:

  • Microchip 的Curiosity PIC32MZ EF 开发板

  • NXP Semiconductors 的 LPC54018 IoT 模块(图 1)

  • STMicroeletronics 的 STM32L4 Discovery 套件 IoT 节点

  • Texas Instruments 的 CC3220SF-LaunchXL

图 1:NXP Semiconductors 的 LPC54018 IoT 模块基于带有 128 Mb Macronix MX25L12835 Quad-SPI 闪存的 Arm® Cortex®-M4 180 MHz 微控制器。一个可以快速启动 Amazon FreeRTOS 的全集成 Wi-Fi 模块。(图片来源:NXP Semiconductors)

这些开发套件全部都进行了充分的 Amazon FreeRTOS 测试,但开发人员也可以选择自己偏好的芯片供应商。例如,值得注意的是,Amazon FreeRTOS 还支持 OTA,但这种支持目前只在 Texas Instruments CC3220SF-LaunchXL(图 2)的公测版中提供。此开发板基于 Arm® Cortex®-M4 微控制器,并且具有板载温度传感器加速计、三个 LED 指示灯和可编程用户按钮。该模块提供了一个可以启动 Amazon FreeRTOS 的全集成解决方案。

未来,OTA 毫无疑问也会支持其它开发板,但如果当前该功能是关键设计特性,那就要从 Texas Instruments 解决方案开始着手。

图 2:Texas Instruments 的 CC3220SF-LaunchXL 是一个可以启动 Amazon FreeRTOS 的全集成解决方案。它还支持 Amazon FreeRTOS OTA 测试版演示示例。(图片来源:Texas Instruments)

大多数开发套件是单模块套件,属于单板解决方案。不过,Microchip Curiosity 开发套件要求开发人员购买其它模块,如以太网、Wi-Fi 模块和 USBUART 转换器

该开发板基于 PIC32 微控制器,但为了获得可与 Amazon FreeRTOS 一起使用的全功能开发板,开发人员还需要购买其它组件。能够获得全功能 Amazon FreeRTOS 的最佳实例组件是 MikroElektronika 的 MIKROE 扩展模块:

  • MIKROE-2046 Wi-Fi 模块

  • MIKROE USB 到 UART 子板

  • Microchip LAN8720 子板

之后,完成组装的开发板将如图 3 所示。此时开发人员即已准备就绪,可以运行 Amazon RTOS 示例应用。

图 3:Microchip Technology 的 PIC32MZEF Curiosity 开发套件提供模块化设计,便于开发人员通过其开发套件定制其应用需要的组件。所示的图片还包含 MIKROE Wi-Fi 以及 MIKROE USB 到 UART 子板。(图片来源:Microchip Technology)

将 Amazon FreeRTOS 连接到云

在上一节讨论的任何开发套件上启动并运行 Amazon FreeRTOS 都比较简单。每个开发板都有演示,随时可以按照有关演示的逐步说明来运行演示。例如,Microchip 开发板的说明位于以下链接中:https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_mch.html。

首先,找到该开发套件的相应入门指南。

接下来,安装硬件。对于大多数开发套件,硬件是全包含的,但如果选择了 Microchip 解决方案,则需要将每个模块板添加到 Curiosity 板上,并且还需要连接一个外部编程工具,如 ICD4。

图 4:已组装并连接到 ICD4 编程工具的 PIC32MZEF Curiosity 开发套件。此设置使用有线以太网连接来运行演示。(图片来源:Amazon)

硬件安装完成后,下一步便是安装编译 Amazon FreeRTOS 示例的开发环境。例如,使用 Microchip 的开发人员应下载 MPLAB X 以及 XC32 编译器。

要想能够访问 Amazon FreeRTOS 示例,注册 AWS 并访问其控制台。AWS 提供 12 个月的免费试用套餐,以便开发人员可以访问 AWS、Amazon FreeRTOS 和对开发连接设备有帮助的其它功能。单击此处可以完成帐户注册。一旦帐户创建完毕,即可访问 Amazon FreeRTOS 页面,该页面会提供 Amazon FreeRTOS 的软件配置列表。这些配置包括每个开发套件的源文件以及 Amazon FreeRTOS 仿真器。下载与开发套件匹配的预定义配置,并将其导入开发环境中。例如,相应的 Curiosity 板应使用针对 Curiosity PIC32MZEF 的预定义“Connect to AWS IoT – Microchip” 配置。

Amazon FreeRTOS 软件配置页面图片

图 5:Amazon FreeRTOS 软件配置页面拥有多个适合不同开发套件和不同应用的预定义软件配置。使用这些预定义配置将演示应用连接到 AWS,然后即可迅速启动开发。(图片来源:Amazon)

Amazon FreeRTOS 下载完成后,开发人员应返回其 AWS 控制台并单击设置按钮。设置时,开发人员将发现自己被分配了一个 IoT 端点,如:

<1234567890123>.iot..amazonaws.com。

这个编号很重要,可以使 IoT 设备连接到 AWS。随后,开发人员可以在示例项目中找到 aws_clientcredential.h 并设置下列属性:

  • clientcredentialMQTT_BROKER_ENDPOINT

  • clientcredentialIOT_THING_NAME

  • clientcredentialWIFI_SSID

  • clientcredentialWIFI_PASSWORD

  • clientcredentialWIFI_SECURITY

此时,开发人员只需要配置自己的设备密钥。而为了生成密钥,需转至 AWS 控制台并选择 Secure(安全)-> Certificates(证书)。此外,也可以使用快速创建证书的选项。单击此选项将生成与图 6 所示类似的证书。为嵌入式设备生成密钥文件需要这个私人密钥和证书。

创建证书和密钥图片

图 6:创建证书和密钥需要开发人员在 AWS 中创建自己的证书。这样生成的三个文件分别为证书、公共密钥和私人密钥。(图片来源:Amazon)

密钥生成器位于:

demoscommondevmode_key_provisioningCertificateConfigurationToolCertificateConfigurator.htm

在浏览器中加载 html 文件会出现一个与图 7 所示类似的界面。

通过使用 AWS 控制台生成的证书和私人密钥文件,开发人员可以生成自己的 aws_clientcredential_key.h 配置文件。一旦完成此操作,则编译项目并将软件部署到嵌入式目标中。

AWS 中生成的证书和私人密钥图片

图 7:AWS 中生成的证书和私人密钥可用于创建密钥配置模块,该模块将加载到微控制器并用于创建到 AWS 的安全连接。(图片来源:Amazon)

开发人员剩下的最后一个步骤是订阅其设备的 MQTT 消息。此操作可以通过在 AWS 中转至测试菜单,然后订阅 freertos/demos/echo 来完成

这个时候,开发人员应看到安全到达其 AWS 的 MQTT 消息。

Amazon FreeRTOS 的使用技巧与诀窍

启动并运转 FreeRTOS 甚至对一个入门级的工程师来说都是非常简单的。尽管它易于使用,但是开发人员在开始使用时还是应记住几个技巧和诀窍。具体包括:

  • 在设计阶段,通过查看下面的网页评估使用 AWS 产生的相关费用:https://aws.amazon.com/iot-device-management/pricing/

  • 在开发阶段,利用 AWS 的 12 个月免费试用期设置和配置嵌入式产品

  • 从预配置示例开始着手,而不是试着从头开始配置。

  • 如果可能,订购一个专门与 Amazon FreeRTOS 配套使用的完全组装好的开箱即用型开发套件。

  • 不要忘记 FreeRTOS 是开源 RTOS,未经过安全认证。

  • 花时间观看 AWS 的 10 分钟教程,为有效使用 AWS 提供一个良好的基础。

  • 考虑使用 Amazon FreeRTOS 的内置无线 (OTA) 更新功能 (https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ota-dev.html)。

总结

Amazon FreeRTOS 内置的功能可以为嵌入式开发人员提供一种将其系统轻松连接到因特网的方法。虽然 Amazon FreeRTOS 本身是免费的,但开发人员可以先购买一个低廉的开发套件并在了解现有示例之后再确定 Amazon FreeRTOS 能否满足其设计要求,如此便可轻松入门。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FreeRTOS
    +关注

    关注

    12

    文章

    473

    浏览量

    61347
收藏 人收藏

    评论

    相关推荐

    如何将LED连接到Arduino板并使其闪烁

     在本快速入门指南中,您将学习如何将 LED 连接到 Arduino 板并使其闪烁。
    的头像 发表于 02-11 10:53 860次阅读
    如何将LED<b class='flag-5'>连接到</b>Arduino板并使其闪烁

    使用全球蜂窝无线电模块将物联网设备快速安全地连接到云端

    作者:Jens Wallmann 如需将便携式或远程网络终端设备连接到物联网 (IoT),或使用机对机通信 (M2M) 远程控制机器,通过云端进行数据交换的移动无线电连接是一个不错的选择。然而,这一
    的头像 发表于 01-01 17:04 475次阅读
    使用全球蜂窝无线电模块将物联网设备<b class='flag-5'>快速</b><b class='flag-5'>安全地</b><b class='flag-5'>连接到</b>云端

    如何将设备接地导体连接到插座

    将插座接地端子连接到金属盒可确保有效的接地故障电流路径。基本规则通过设备接地跳线实现这一点;四个例外允许其他方法。此外,四条安装规则保证了箱体中设备接地导体的连续性。 国家电气规范第 250.146
    的头像 发表于 10-24 16:22 431次阅读
    如何<b class='flag-5'>将设</b>备接地导体<b class='flag-5'>连接到</b>插座

    用于资产跟踪的基于Amazon的网络应用

    DSH-ASSETRACKING 控制面板是由 Amazon 网络服务(AWS)提供技术支持的应用它提供直观功能强大的界面,定制收集来自姿态和环境等传感器(如温度、湿度和压力)的资产跟踪位置数据
    发表于 09-13 06:01

    安全地毯控制器的作用有哪些?

    安全地毯控制器的作用有哪些? 安全地毯,又称安全垫,电气安全垫,铺设在设备周围,通过检测到足够的压力而产生一个开关信号并传输信号,来控制设备的运行,达到保护操作者
    的头像 发表于 09-05 09:26 288次阅读
    <b class='flag-5'>安全地</b>毯控制器的作用有哪些?

    安全地毯控制器的作用有哪些?

    安全地毯,又称安全垫,电气安全垫,铺设在设备周围,通过检测到足够的压力而产生一个开关信号并传输信号,来控制设备的运行,达到保护操作者安全的目的,与
    的头像 发表于 08-17 23:02 226次阅读

    安全地毯安装需要注意什么?

    1.首先在购买的时候就需要确认好尺寸,安全地毯是一次性压铸成型的产品,不能现场切割,拿到货后首先就是要确认安全地毯的尺寸大小,与现场能不能对应起来。 2.安全地毯进场,进场先开箱检查物料是否齐全
    的头像 发表于 08-17 22:51 403次阅读
    <b class='flag-5'>安全地</b>毯安装需要注意什么?

    如何判断是否需要安全地毯呢?

    安全地毯作为其中一种特殊的保护开关,具有保护范围大,价格低、寿命长、安全可靠、安装自由、方便等特点,使现场通道畅通,方便运输送料,因而得到广泛应用。如何判断是否需要安全地毯呢? 1设备需要定期检修
    的头像 发表于 08-07 20:53 232次阅读
    如何判断是否需要<b class='flag-5'>安全地</b>毯呢?

    使用BerryLan快速无头WiFi连接到Raspberry Pi

    电子发烧友网站提供《使用BerryLan快速无头WiFi连接到Raspberry Pi.zip》资料免费下载
    发表于 07-12 14:27 0次下载
    使用BerryLan<b class='flag-5'>快速</b>无头WiFi<b class='flag-5'>连接到</b>Raspberry Pi

    Amazon Sidewalk快速入门指南

    新技术并开始开发 Amazon Sidewalk 设备, Silicon Labs (亦称“芯科科技”)特别于在线社区中发布一篇博文来提供快速入门指南。阅读完整博文: https
    的头像 发表于 06-29 17:35 305次阅读
    <b class='flag-5'>Amazon</b> Sidewalk<b class='flag-5'>快速</b>入门指南

    如何安全地将Arduino MKR GSM 1400板与GCP IoT Core结合使用

    设备可以使用 HTTP 或MQTT连接到 GCP IoT Core 。本教程将带您了解如何使用 MQTT 客户端将Arduino MKR GSM 1400开发板安全地连接到 GCP IoT Core。
    发表于 06-21 16:11 0次下载
    如何<b class='flag-5'>安全地</b>将Arduino MKR GSM 1400板与GCP IoT Core结合使用

    安全地毯在冲压生产线中的应用

    安全地毯在冲压生产线中的应用
    发表于 06-14 14:15 166次阅读
    <b class='flag-5'>安全地</b>毯在冲压生产线中的应用

    cdn如何才能快速、可靠、安全地交付内容

    的需求。但是,cdn如何才能快速、可靠、安全地交付内容呢?   关键术语 内容分发网络(CDN):一组相互连接的服务器,从离用户最近的位置提供和缓存互联网内容,旨在提高web性能,增强用户体验,减少加载时间。对于视频内容,CDN
    的头像 发表于 06-14 09:53 356次阅读

    两款安全地毯控制器的区别

    安全地毯控制器具有转换信号、监测地毯工作状态的功能。与安全地毯配合使用保护一片区域。如果安全地毯出现断线,接线错误等情况,会发出停车信号,安全地毯控制器可分为一拖一控制器和一拖六控制器
    的头像 发表于 06-09 14:41 337次阅读
    两款<b class='flag-5'>安全地</b>毯控制器的区别

    如何安全地为NodeMCU供电?

    我正在开发一个项目,其中 NodeMCU 将位于开关盒内。为了为其提供动力,我计划使用类似 (Hlk-pm01) 的东西。我的问题是:为 NodeMCU 供电,将 Hlk-pm01 连接到电网
    发表于 06-02 06:08