系统与设计
的意见

为基于云的物联网服务建立嵌入式开发板

允许物联网设备在没有连接到互联网的情况下保持数据同步。

受欢迎程度

每天都有新设备出现在家庭、办公室、医院、工厂和成千上万的其他地方,这些都是物联网(IoT)的一部分。显然,它们需要连接到互联网,需要在云端收集、存储和处理大量原始数据。

有许多数据中心可用来存储数据。然而,只有一些专门为物联网应用程序提供功能。最完整的基于云的物联网服务之一是亚马逊网络服务(AWS)物联网Greengrass。它使边缘设备能够在网络设备生成的数据上进行本地操作,并在物联网设备和AWS云之间提供安全的双向通信,以进行管理、分析和存储。

通过使用AWS Greengrass IoT,即使没有连接到互联网,设备也可以保持数据同步。此外,他们还可以运行AWS Lambda函数,并根据AWS提供的机器学习模型进行预测。

基于fpga的片上系统设备作为边缘处理单元在物联网设备中越来越受欢迎。它们的高性能和低功耗,以及它们的可重构性,为物联网设备创造了理想的设置。

在所有的soc中,Xilinx Zynq器件已经变得非常受欢迎,这要归功于它提供的多核ARM处理器和FPGA空间的灵活性,所有这些都集成在一个芯片中。作为Xilinx的一个值得信赖的老合作伙伴,Aldec已经生产了一系列嵌入式开发板(我们的TySOM产品线),以Zynq 7000和MPSoC设备以及各种板上外设为特色。最近,TySOM嵌入式开发板获得了AWS运行AWS IoT Greengrass核心的资格。图1显示了TySOM板和AWS IoT Greengrass的设置。

在这篇博客中,我将介绍为AWS IoT Greengrass启用TySOM板的过程。

所涉及的主要概念是:

  • 为满足AWS IoT Greengrass要求的TySOM板构建新的Linux内核映像。
  • 准备一个具有适当内核映像、引导加载程序、设备树和Linux文件系统的可引导SD卡。
  • 运行IoT Greengrass资格测试,包括MQTT通信、依赖项检查等。

为了这个博客,我们选择了我们的TySOM-3-ZU7EV板。顺便说一下,Aldec提供了一个完整的参考设计,其中包括现成的HW和SW,以支持板上的所有外围设备。还有BSP文件,其中包括devicetree,内核映像,引导加载器和比特流文件。

AWS IoT Greengrass要求目标设备支持特定的内核特性,这需要重新编译内核。Petalinux是一套使用Yocto进行嵌入式linux开发的软件工具。为了重新编译内核,我们可以使用SDK生成的HDF文件,也可以使用Aldec为单板提供的BSP文件。

通过输入以下命令" petalinux-config -c kernel ",我们可以访问需要添加新配置的环境。要查找每个配置的位置,可以使用“/”,如图2所示。

下面是一些内核特性以及它们的位置:

命名空间的内核配置:

CONFIG_IPC_NS常规设置->名称空间支持-> IPC名称空间CONFIG_UTS_NS常规设置->名称空间支持-> UTS名称空间CONFIG_USER_NS常规设置->名称空间支持->用户名称空间CONFIG_PID_NS常规设置->名称空间支持-> PID名称空间

cgroups的内核配置:

CONFIG_CGROUP_DEVICE通用设置->控制组支持->设备控制器CONFIG_CGROUPS通用设置->控制组支持CONFIG_MEMCG通用设置->控制组支持->内存控制器

其他必需的内核配置:

CONFIG_POSIX_MQUEUE常规设置-> POSIX消息队列CONFIG_OVERLAY_FS文件系统->覆盖文件系统支持CONFIG_SECCOMP内核功能->启用seccomp安全计算不可信字节码CONFIG_KEYS安全选项->启用访问密钥保留支持CONFIG_SHMEM常规设置->使用全shmem文件系统

还需要一些额外的包,如Python 2.7和3.7 + Java。它们也可以稍后安装。

配置内核之后,就可以构建项目了。如果我们使用的是Zynq 7000, zImage将默认提供。在TySOM中,我们使用uImage,它可以通过以下命令生成" petalinux-package -image -c kernel -format uImage "。

可以在没有任何GUI的情况下运行Linux,但是Aldec为TySOM用户提供了Linaro嵌入式Linux发行版。为了使用它,SD卡需要引导分区和根分区。新的uImage文件,由Aldec提供的预构建的devicetree(如果在使用额外硬件的情况下尚未更新),BOOT.bin和uEnv.txt文件。如果设计没有改变,则可以使用预构建的BOOT.bin。如果有任何变化,可以使用以下命令:

Petalinux-package -boot -force -fsbl -pmufw -fpga -atf -u-boot

BOOT.bin主要包括bitstream, fsbl和uboot。uEnv.txt文件包含了船载加载器的信息(地址),以便查找内核、设备树和主文件系统的位置。

所以,引导分区将包括boot .bin, Image, devicetree和uEnv.txt。如前所述,根分区需要Aldec提供的Linaro嵌入式Linux发行文件,这些文件可用于TySOM板。

在准备好引导SD卡之后,我们将单板上电并通过UART连接到主机系统。在windows环境下,使用putty / tera term等终端有助于与单板通信和访问引导日志。

AWS IoT Greengrass要求目标板开启SSH通信。所选的用于SSH通信的用户应该添加到“sudoer”组中。这是因为AWS IoT Greengrass需要运行一些需要root访问权限的命令,所选用户应该具有该权限。最后,需要在设备上安装与当前架构兼容的AWS IoT Greengrass核心,并通过使用AWS设备测试器,将评估AWS IoT Greengrass的所有不同功能。

TySOM板既可以用作主要边缘处理设备,也可以用作AWS云的网关。

AWS IoT Greengrass核心将云功能扩展到TySOM板。它使TySOM板能够与物联网系统中的设备连接,运行Lambda函数,同步和保护设备之间的通信,即使它没有连接到互联网/云。

Aldec在这里帮助您实现物联网应用。所有所需的硬件和软件都是预先构建的,并将提供给TySOM物联网开发人员。更多信息,请访问Aldec物联网解决方案页面



留下回复


(注:此名称将公开显示)

Baidu