M5Stack에서 Amazon FreeRTOS를 사용하는 7(Greengrass편)

소개



M5Stack에서 Amazon FreeRTOS를 실행하면 효율적으로 애플리케이션 개발, 디바이스 관리가 가능하다는 것이 밝혀졌습니다. 그럼에도 불구하고 많은 M5Stack 장치가 클라우드에 직접 연결되지 않으면 잘 관리할 수 없는 상황은 비효율적입니다. 그래서 AWS IoT Greengrass를 활용해 봅시다.
AWS IoT Greengrass를 사용하면 IoT 디바이스의 통신을 로컬 네트워크에서 수행할 수 있으며 서버리스 친숙한 Lambda를 사용하여 처리하거나 데이터를 저장할 수 있습니다.



AWS IoT Greengrass의 요건은 이쪽. 있는 스피커에서 AWS IoT Greengrass를 실행해 봅니다. 이 스피커는 유감스럽지만 일반적으로 시판되고 있지 않습니다만, 이 투고에서는 이후 Raspberry Pi와 바꾸어 주시면 문제 없다고 생각합니다.

지원되는 플랫폼 및 요구 사항

설치



AWS 설명서 Record Meeting에 따라 AWS IoT Greengrass를 구성합니다.

또, 이쪽 의 페이지에서도 상세하게 설명해 주시고 있으므로, 매우 살아났습니다.

자습서에 설명되어 있지만 IoT Greengrass 종속성 검사기를 사용하면 AWS IoT Greengrass의 운영 환경을 확인할 수 있습니다. (이하 샘플)
==========================Checking script dependencies==============================
The device has all commands required for the script to run.

========================Dependency check report for GGC v1.10.x=========================
System configuration:
Kernel architecture: armv7l
Init process: /lib/systemd/systemd

(省略)

------------------------------------Results-----------------------------------------
Note:
1. It looks like the kernel uses 'systemd' as the init process. Be sure to set the
'useSystemd' field in the file 'config.json' to 'yes' when configuring Greengrass core.

Missing optional dependencies:
1. Could not find the binary 'python3.7'.

If Python 3.7 is installed on the device, name the binary 'python3.7' and add its parent
directory to the PATH environment variable. Python 3.7 is required to execute Python 3.7
lambdas on Greengrass core.

2. Could not find the binary 'nodejs8.10'.

If NodeJS 8.10 or later is installed on the device, name the binary 'nodejs8.10' and
add its parent directory to the PATH environment variable. NodeJS 8.10 or later is
required to execute NodeJS lambdas on Greengrass core.

3. Could not find the binary 'java8'.

If Java 8 or later is installed on the device name the binary 'java8' and add its
parent directory to the PATH environment variable. Java 8 or later is required to
execute Java lambdas as well as stream management features on Greengrass core.

(Optional) Greengrass container dependencies
Missing required dependencies:
1. The 'memory' cgroup is not enabled on the device.
Greengrass will fail to set the memory limit of user lambdas.

Supported lambda isolation modes:
No Container: Supported
Greengrass Container: Not supported

----------------------------------Exit status---------------------------------------
You can now proceed to installing the Greengrass core 1.10.x software on the device.
Please reach out to the AWS Greengrass support if issues arise.



Greengrass 그룹을 작성할 때, 튜토리얼에서는 「간단한 그룹의 작성」으로 실시합니다만, 이 경우 스트림 매니저가 유효하게 됩니다. 스트림 관리자가 Java8을 사용하기 때문에 Java8을 설치하는 것이 좋습니다. 이번 환경에서는 스토리지의 나머지 부분이 적기 때문에 Python3.7, Java8을 설치하지 않았습니다.

Python2.7은 지원이 AWS IoT Greengrass 시작이므로 사용은 권장되지 않지만 아직 사용할 수있는 것 같습니다.

절차에 따라/boot/cmdline.txt에 다음 줄 추가를 추가했지만 'memory' cgroup이 유효하지 않다고합니다. 이번에는 컨테이너를 사용하지 않으므로 그대로 두었습니다.
cgroup_enable=memory cgroup_memory=1

설치 후 역할 설정 및 스트림 관리자를 비활성화합니다.

Raspberry Pi에서 AWS GreenGrass를 설정하고 AWS Lambda 함수를 설정할 때까지

종료 예정



Greengrass 설치가 완료되었습니다.



메모





제1회 Amazon FreeRTOS 설치
제2회 L치카
제3회 TFT
제4회 SD 카드

좋은 웹페이지 즐겨찾기