[2020年1月] B-L475E-IOT01A –STM32L4发现套件在IoT节点上运行Amazon FreeRTOS


在其他文章中取得巨大成功? B-L475E-IOT01A --STM32L4发现工具包在IoT节点中
我再次介绍了Amazon FreeRTOS演示程序,并检查了与AWS IoT的连接,因此我将对其进行介绍!

介绍

本文肝

首先," 2019年12月确认使用2020年1月的最新版本"!
另外,我们已经尽可能详细地描述了该过程(避免参考其他文章),以便任何人都可以轻松实现它。

环境

  • 构建环境:Ubuntu 18.04 LTS(我认为这不是必需的,但Windows是NG)
  • IDE:STM32CubeIDE 1.1.0

  • 评估板:STM32L4发现套件IoT节点-型号为B-L475E-IOT01A
  • Amazon FreeRTOS:在版本201910.00之后的版本201912.00中确认

如上所述,不幸的是,如果将Windows用作构建环境,则会发生错误。因此,让我们使用Linux。
(我将省略详细信息,但是自动生成Makefile会出现问题,导致在此处发布无效的命令行信息)

参考1

我提到了开拓者加藤裕隆的以下文章。谢谢你的超越!
(这是2017年12月的文章,但是自那时以来,FreeRTOS软件包已发生重大变化?)

STM32L4发现套件将Amazon FreeRTOS引入IoT节点·Yutaka ??加藤
https://mikan.github.io/2017/12/13/setup-amazon-freertos-on-stm32l4-discovery-kit-iot-node/

参考2

有关STM32CubeIDE的安装方法和调试方法,请参阅以下文章(前味mis)。

使用STM32Cube IDE FreeRTOS加快工作--Qiita
https://qiita.com/imagou/items/8af2ad999b2a80009c6f

主要故事

1. AWS IoT设置

此后,该AWS账户将被视为已注册。

1-1。制造

首先,连接到AWS IoT。
https://console.aws.amazon.com/iot

接下来,从左侧菜单中选择"管理"-"事物",然后单击"注册事物"。

SnapCrab_AWS IoT - Google Chrome_2019-12-11_16-30-26_No-00.png

单击"创建单个事物"。

SnapCrab_AWS IoT - Google Chrome_2019-12-11_16-30-38_No-00.png

给事物起一个适当的名称。在这里,是"我的事"。
然后向下滚动并...

SnapCrab_AWS IoT - Google Chrome_2019-12-11_16-30-53_No-00.png

单击"下一步"。

SnapCrab_AWS IoT - Google Chrome_2019-12-11_16-31-0_No-00.png

将出现"向事物添加证书"屏幕。
在建议的顶部,单击"创建证书"。

SnapCrab_AWS IoT - Google Chrome_2019-12-11_16-35-15_No-00.png

证书是在晴天创建的!哈哈
下载全部三个文件后,最后单击"激活"。

SnapCrab_AWS IoT - Google Chrome_2019-12-11_16-37-4_No-00.png

启用后,该按钮将变为"禁用"。
单击"完成"后,...

SnapCrab_AWS IoT - Google Chrome_2019-12-11_16-41-20_No-00.png

已经创建了"我的东西"!

SnapCrab_AWS IoT - Google Chrome_2019-12-11_16-41-32_No-00.png

1-2。政策制定

从左侧菜单中选择"安全"-"策略",然后单击"创建策略"。

SnapCrab_AWS IoT - Google Chrome_2019-12-12_16-24-49_No-00.png

名称是" MyPolicy"。

SnapCrab_AWS IoT - Google Chrome_2019-12-12_16-25-2_No-00.png

在同一屏幕上,添加以下四个语句。
资源ARN是自动输入的,但重点是"手动"用" *(星号)"结尾处的"替换nachara"。

<表格>

动作

资源ARN

效果


<身体>

物联网:连接

带*的ReplaceWithAClientId

检查权限

物联网:发布

用*替换aTopic

检查权限

iot:订阅

replacewithATopicFilter替换为*

检查权限

物联网:接收

用*替换aTopic

检查权限


2020/1/6后记
将操作设置为" iot:*"非常容易,而将资源ARN设置为简单的" *"非常简单。

输入后,单击"创建" ...

SnapCrab_AWS IoT - Google Chrome_2019-12-13_11-43-36_No-00.png

"我的策略"已创建。

SnapCrab_AWS IoT - Google Chrome_2019-12-13_11-43-51_No-00.png

1-3。附加政策

从左侧菜单中选择"安全性"-"证书"以显示创建的证书。
单击证书右上角" ???"中的"附加策略"。

SnapCrab_AWS IoT - Google Chrome_2019-12-13_11-48-0_No-00.png

检查先前创建的"我的策略",然后单击"附加"。

SnapCrab_AWS IoT - Google Chrome_2019-12-13_11-48-12_No-00.png

(我将省略屏幕,但这会将策略附加到证书上)

1-4。避免使用端点

从左侧菜单中单击"设置",然后记下"自定义端点"字符串。

SnapCrab_AWS IoT - Google Chrome_2019-12-16_15-42-38_No-00.png

2. Amazon FreeRTOS演示程序准备(直到构建)

在Yutaka Kato和作为参考源的Amazon文档的文章中,使用了STM32的System Workbench,但是如上所述,使用了最新的IDE STM32CubeIDE。

2-1。下载并解压缩

从以下下载演示程序。

https://console.aws.amazon.com/freertos

其中的"下载"中的"连接到AWS IoT --STM32-B-L475E-IOT01A"。

SnapCrab_AWS IoT - Google Chrome_2019-12-16_9-52-56_No-00.png

之后,让我们将其扩展到适当的文件夹。

1
2
3
4
5
6
user@user-VirtualBox:~/STM32CubeIDE$ ls -la
合計 16
drwxrwxr-x  4 user user 4096 12月 16 14:28 .
drwxr-xr-x 58 user user 4096 12月 16 14:27 ..
drwxrwxr-x  3 user user 4096 11月 25 09:09 .metadata
drwx------  5 user user 4096 12月 16 14:28 AmazonFreeRTOS

2-2。项目转换

启动STM32CubeIDE。
将工作空间目录设置为提取目标似乎很好。

SnapCrab_Ubuntu [実行中] - Oracle VM VirtualBox_2019-12-16_14-30-3_No-00.png

启动

后,单击"文件"-"导入"。

SnapCrab_Ubuntu [実行中] - Oracle VM VirtualBox_2019-12-16_14-30-55_No-00.png

选择"为STM32项目导入ac6系统工作台",然后选择"下一步"