2

我有一个 python 函数,可以在我的树莓派上独立运行时访问本地 USB 打印机。当我尝试将该 python 函数作为部署在同一个树莓派上的 AWS greengrass 函数的一部分运行时,它无法访问 USB 打印机设备

greengrass lambda 日志中的异常:

raise USBNotFoundError("未找到设备或未插入电缆。")

即使我已经使用 AWS greengrass 控制台为函数提供了对 aws greengrass 所需的本地资源访问权限。更新了带有路径的“设备”类型的本地资源,/dev/bus/usb/001/009并更新、部署、重新启动了 GG 守护程序。

使用/dev/usb/文件夹验证设备的路径

pi@raspberrypi:/greengrass/ggc $ find /dev/bus/usb
/dev/bus/usb
/dev/bus/usb/001
/dev/bus/usb/001/009 //USB Printer
4

1 回答 1

0

我假设您使用的是 Greengrass v1。

您需要授予 GGC 组访问本地资源的权限。要做到这一点,你将不得不去AWS IoT > Greengrass > Groups > <Group-name>

然后,去Resources > Add Local Resource选择类型为Device并通知设备路径,如/dev/ttyUSB0。此外,选择 Lambda 函数从属关系以告知哪个函数可以访问它。

usb配置示例

于 2021-08-06T12:38:28.047 回答