AWS IOT 入门(一) FreeRTOS
AWS IOT和azure IOT类似,都是由现场设备收集数据发送到云端,只不过不同组件叫不同名字而已。
架构图
边缘软件
边缘计算将计算能力降低到数据源,而不必将其全部带回云端。AWS IoT 边缘可以为从传感器到风力涡轮机的小型和大型设备提供动力。AWS IoT 设备可以安全地收集数据,保持设备数据同步,并在仍使用云进行管理、分析和持久存储的同时相互通信。
Amazon FreeRTOS
Amazon FreeRTOS 是一款适用于微控制器的操作系统,可让您轻松地对低功耗的小型边缘设备进行编程、部署、安全保护、连接和管理。
Amazon FreeRTOS 通过软件库对 FreeRTOS 内核(一款适用于微控制器的常见开源操作系统)进行扩展,从而让您可以轻松地将小型低功耗设备安全连接到 AWS IoT Core 等 AWS 云服务或运行 AWS IoT Greengrass 的功能更强大的边缘设备。
微控制器 (MCU) 是一种单芯片,其中包含一个常用于电器、传感器、健身跟踪器、工业自动化和汽车等众多设备的简单处理器。许多此类小型设备都可以通过连接到云或连接到本地的其他设备而获益。例如,智能电表需要连接到云来报告使用情况,大楼安全系统需要进行本地通信,在您使用身份识别卡进门时将门解锁。微控制器具有有限的计算能力和内存容量,通常执行简单的功能任务。微控制器运行的操作系统往往没有支持连接到本地网络或云的内置功能,从而使 IoT 应用程序成为一项挑战。Amazon FreeRTOS 可以帮助解决这个问题,它不仅提供核心操作系统来运行边缘设备,还提供软件库来支持轻松安全地连接到云(或其他边缘设备),让您可以从中为 IoT 应用程序收集数据并执行操作。
Amazon FreeRTOS 架构
Amazon FreeRTOS 设计用于嵌入式微控制器。它通常作为单个已编译映像,与设备应用程序所需的所有组件一起,刷入到设备。此映像中结合了嵌入式开发人员针对该应用程序编写的功能、Amazon 提供的软件库、FreeRTOS 内核,以及适用于硬件平台的驱动程序和板卡支持程序包 (BSP)。不论使用的是何种微处理器,对于 FreeRTOS 内核和所有 Amazon FreeRTOS 软件库,嵌入式应用程序开发人员均可以采用相同的标准化接口。
开始使用 Amazon FreeRTOS
要快速开始使用,您可以从 AWS Partner Device Catalog 选择支持 Amazon FreeRTOS 功能的硬件。如果您想快速开始使用,但没有硬件,可以使用 Amazon FreeRTOS Windows 模拟器。
接下来,您可以使用 Amazon FreeRTOS 控制台,通过选择与使用案例相关的库来自定义下载操作系统。控制台将引导您完成这一过程,以便您可以立即开始开发。
您还可以在 GitHub、SourceForge 或 FreeRTOS.org 上找到 Amazon FreeRTOS。控制台将包含所有库和硬件特定的移植层,您可以根据您的使用案例,在下载之后选择性地包含或移除这些层。您也可以通过任何这些渠道访问独立的 FreeRTOS 内核。对于低功耗蓝牙 (BLE),您可以从 Amazon FreeRTOS GitHub 存储库中下载源代码以及从 GitHub 中下载 Android 和 iOS 配套软件开发工具包。
Amazon FreeRTOS 是开源的,因此您可以随意扩展、修改或删除任何源代码库。
借助这些简单的入门指南获得实践经验。
git 下载
https://github.com/aws/amazon-freertos
开始使用 FreeRTOS Windows 仿真器
https://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/getting_started_windows.html
winpcap下载
https://www.winpcap.org/install/default.htm
Visual Studio 2017下载
https://visualstudio.microsoft.com/zh-hans/downloads/?rr=https%3A%2F%2Fdocs.aws.amazon.com%2Fzh_cn%2Ffreertos%2Flatest%2Fuserguide%2Fgetting_started_windows.html
最终配置好网卡之后
0 0 [None] FreeRTOS_IPInit 1 0 [None] vTaskStartScheduler 1. rpcap://\Device\NPF_{AD01B877-A0C1-4F33-8256-EE1F4480B70D} (Network adapter 'Intel(R) Ethernet Connection (4) I219-LM' on local host) 2. rpcap://\Device\NPF_{337F7AF9-2520-4667-8EFF-2B575A98B580} (Network adapter 'Microsoft' on local host) The interface that will be opened is set by "configNETWORK_INTERFACE_TO_USE" which should be defined in FreeRTOSConfig.h Attempting to open interface number 1.
生成并运行 Amazon FreeRTOS 演示项目
将 Amazon FreeRTOS 演示加载到 Visual Studio 中
- 在 Visual Studio 中,从 File (文件) 菜单,选择 Open (打开)。选择 File/Solution (文件/解决方案),导航到
\demos\pc\windows\visual_studio\aws_demos.sln,然后选择 Open (打开)。 - 从 Build (生成) 菜单,选择 Build Solution (生成解决方案),确保解决方案已生成且没有错误或警告。
运行 Amazon FreeRTOS 演示
- 重新生成 Visual Studio 项目以接受在标头文件中所做的更改。
- 登录 AWS IoT 控制台。
- 在导航窗格中,选择测试以打开 MQTT 客户端。
- 在订阅主题中,输入 freertos/demos/echo,然后选择订阅主题。
- 从 Visual Studio 中的 Debug (调试) 菜单,选择 Start Debugging (开始调试)。
在 AWS IoT 控制台 中,MQTT 客户端显示从 FreeRTOS Windows 仿真器收到的消息。
3个demo
低功耗蓝牙演示应用程序(测试版)
https://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/ble-demo.html
安全套接字 Echo 客户端演示
https://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/secure-sockets-demo.html
设备影子演示应用程序
https://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/shadow-demo.html