使用Amazon FreeRTOS将设计快速安全地连接到云端

传统的嵌入式系统开发人员通常在断开设备的裸机级别工作,但物联网需要系统连接到Internet。这要求嵌入式系统开发人员学习如何连接他们的设备并使用更高级别的操作系统,例如实时操作系统(RTOS)。
开发人员可以使用Amazon FreeRTOS,而不是从头开始学习将嵌入式系统安全连接到Internet所需的每一个细微差别。这将使他们能够以安全的方式快速轻松地将他们的设备连接到亚马逊网络服务(AWS),从而简化他们的开发工作。本文将讨论并演示如何开始使用Amazon FreeRTOS。

亚马逊FreeRTOS简介

Amazon FreeRTOS是一种RTOS,其核心是开源的FreeRTOS内核,添加了额外的组件以实现本地和云连接,安全性和无线(OTA)更新。FreeRTOS内核是一个着名的RTOS,已经有十多年的历史了,它提供了一些有用的功能,例如:
  • 基于优先级的任务调度
  • 信号灯
  • 互斥
  • 消息队列
另外,FreeRTOS可以根据MIT软件许可免费获得。
什么让Amazon FreeRTOS对于嵌入式软件开发人员来说是独特和有趣的,就是它为FreeRTOS增加了连接库和安全性。然后,它将它们集中到一个统一的框架中,开发人员可以立即以安全的方式将设备立即连接到云服务。

选择Amazon FreeRTOS硬件

FreeRTOS内核本身适用于几十种不同的微控制器架构。目前,亚马逊FreeRTOS已通过亚马逊FreeRTOS认证计划进行了全面测试并集成到四个不同的微控制器供应商硬件平台上。这些是:
  • Microchip的 好奇心PIC32MZ EF开发板
  • 恩智浦半导体的LPC54018物联网模块(图1)
  • STMicroeletronics的 STM32L4发现套件IoT节点
  • 德州仪器的CC3220SF-LaunchXL
恩智浦半导体LPC54018 IoT模块的图片
图1:NXP半导体LPC54018的IoT模块是基于一个臂®皮质®具有128兆比特-M4 180 MHz的微控制器旺宏 MX25L12835四SPI闪存。一款完全集成的Wi-Fi模块,可快速启动亚马逊FreeRTOS。(图片来源:恩智浦半导体)
这些开发套件中的每一款都已经通过亚马逊FreeRTOS进行了全面测试,但开发人员可能会有首选的硅片供应商。例如,值得注意的是,Amazon FreeRTOS也支持OTA,但目前仅在德州仪器CC3220SF-LaunchXL的 beta测试中提供该支持(图2)。该板基于ARM ®皮质® -M4微控制器,并设有一个板上温度传感器,加速计,三个LED,和一个可编程用户按钮。该模块提供了一个完全集成的解决方案,以开始使用Amazon FreeRTOS。
未来,其他电路板无疑也将得到OTA的支持,但如果这是目前关键的设计特征,那么请从德州仪器解决方案开始。
德州仪器的CC3220SF-LaunchXL的图片
图2:德州仪器的CC3220SF-LaunchXL是开始使用亚马逊FreeRTOS的完全集成解决方案。它还支持亚马逊FreeRTOS OTA Beta演示示例。(图片来源:德州仪器)
大多数开发套件都是单模块套件,是单板解决方案。然而,Microchip Curiosity开发套件要求开发人员购买其他模块,例如以太网,Wi-Fi模块和USB转UART转换器。
该开发板基于PIC32微控制器,但为了获得可与亚马逊FreeRTOS一起使用的功能齐全的开发板,开发人员需要购买额外的组件。要获得全功能的Amazon FreeRTOS示例,最好的组件是以下MikroElektronika MIKROE扩展模块:
  • MIKROE-2046 Wi-Fi模块
  • MIKROE USB-UART子板
  • Microchip LAN8720子板
完整的组装电路板将如图3所示。开发人员将准备好运行示例Amazon RTOS应用程序。
Microchip Technology PIC32MZEF好奇心开发套件的图片
图3:Microchip Technology的PIC32MZEF好奇心开发套件提供了一种模块化设计,允许开发人员在其开发套件中定制其应用所需的组件。所示图像还包括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解决方案,则需要将每个模块板添加到好奇板,并且需要连接一个外部编程工具,如ICD4。
Microchip PIC32MZEF好奇心开发套件的图片
图4:PIC32MZEF好奇心开发套件组装并连接到ICD4编程工具。该设置使用有线以太网连接来运行演示。(图片来源:亚马逊)
硬件设置完成后,下一步是安装编译Amazon FreeRTOS示例的开发环境。例如,使用Microchip的开发人员可以下载MPLAB X以及XC32编译器。
为了获得对Amazon FreeRTOS示例的访问权限,请注册AWS并访问其控制台。AWS确实提供了一个为期12个月的免费试用层,允许开发人员访问AWS,Amazon FreeRTOS和其他对开发连接设备有用的功能。注册一个帐户可以在这里完成。帐户创建完成后,访问Amazon FreeRTOS页面其中将提供亚马逊FreeRTOS的软件配置列表。这些配置包括每个开发工具包的源文件以及Amazon FreeRTOS模拟器。下载与开发套件相匹配的预定义配置并将其导入到开发环境中。例如,相应的好奇心板将使用预定义的“连接到为好奇PIC32MZEF设计的AWS IoT - Microchip配置”。
Amazon FreeRTOS软件配置页面的图像
图5:Amazon FreeRTOS软件配置页面为不同的开发套件和不同的应用程序提供了几种预定义的软件配置。使用这些预定义的配置来获取连接到AWS的演示应用程序并快速开始开发。(图片来源:亚马逊)
一旦下载了Amazon FreeRTOS,开发人员应该返回到他们的AWS控制台并点击设置按钮。在设置下,他们会发现他们有一个分配给他们的IoT端点,例如:
<1234567890123> .iot。<us-east-1> .amazonaws.com。
这个重要的数字允许物联网设备连接到AWS。然后开发人员会在示例项目中找到aws_clientcredential.h并设置以下属性:
  • clientcredentialMQTT_BROKER_ENDPOINT
  • clientcredentialIOT_THING_NAME
  • clientcredentialWIFI_SSID
  • clientcredentialWIFI_PASSWORD
  • clientcredentialWIFI_SECURITY
在这一点上,开发人员只需要配置他们的设备密钥。为了生成密钥,请转到AWS控制台并选择安全 - >证书。有一个选项可以创建一个快速证书。单击此选项将生成类似于图6所示的证书。需要私钥和证书才能为嵌入式设备生成密钥文件。
创建证书然后是密钥的图像
图6:创建一个证书然后一个密钥需要开发人员从AWS内部创建他们的证书。将要创建的三个文件是证书,公钥和私钥。(图片来源:亚马逊)
密钥生成器位于:
<BASE_FOLDER> \演示\共同\ devmode_key_provisioning \ CertificateConfigurationTool \ CertificateConfigurator.htm
在浏览器中加载html文件将显示类似于图7所示的界面。
使用从AWS控制台生成的证书和私钥文件,开发人员可以生成他们的aws_clientcredential_key.h配置文件。完成此操作后,编译项目并将软件部署到嵌入式目标上。
AWS中生成的证书和私钥的映像
图7:在AWS中生成的证书和私钥用于创建加载到微控制器中的密钥配置模块,并用于创建到AWS的安全连接。(图片来源:亚马逊)
剩下的唯一步骤是开发人员订阅其设备的MQTT消息。这可以通过进入测试菜单然后订阅:freertos / demos / echo在AWS内完成
此时开发人员应该看到MQTT消息安全地到达他们的AWS。

使用Amazon FreeRTOS的技巧和诀窍

即使是入门级工程师,使用FreeRTOS启动和运行也非常简单和容易。尽管很容易,但开发人员在开始使用Amazon FreeRTOS时应注意以下几点提示和技巧。这些包括:
  • 在设计阶段,通过查看以下网页评估与使用AWS相关的成本:https : //aws.amazon.com/iot-device-management/pricing/
  • 在开发过程中,使用AWS的12个月免费试用期来设置和配置嵌入式产品。
  • 从预先配置的示例开始,而不是从头开始配置。
  • 如果可能的话,订购一款完全组装的开发套件,该套件旨在与亚马逊FreeRTOS一起使用。
  • 不要忘记FreeRTOS是一个开源的RTOS,并没有通过安全认证。
  • 花时间学习AWS 10 Minute教程,这将为如何有效使用AWS提供坚实的基础。
  • 考虑使用Amazon FreeRTOS的内置无线(OTA)更新功能(https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ota-dev.html)。

结论

Amazon FreeRTOS内置的功能可以为嵌入式开发人员提供一种轻松将他们的系统连接到Internet的方式。亚马逊FreeRTOS本身是免费的,开发人员可以通过购买低成本开发套件,并通过现有示例轻松入门,以确定Amazon FreeRTOS是否满足其设计需求。

用户喜欢...

转:FreeRTOS在PIC32MX系列微处理器上的调试心得

作者:wzz4420381 转载: ?locationNum=4f... 1. 引言 最近在调试程序时发现程序会在运行一段时间后崩溃。在仔细阅读FreeRTOS和PIC32MX的相关资料后,修改了FreeRTOS配置,调整了优先级设置,优化了关...