AWS 무서버로 초인종을 만드는 방법
간단한 소개
최근 내 작업장의 모든 해커 경기에서 나와 한 동료는 AWS 서버 없는 서비스 + 트리베리 pi로 스마트 초인종을 만들었다.
누군가가'초인종'버튼을 눌렀을 때마다 이미지를 포착하고 아마존 Rekognition faces 집합을 통해 이미지의 얼굴이 색인되었는지 확인한다.이것은 그림의 인원수와 이름을 표시하는 타임 스탬프를 포함하는 메시지를 Slack에 보낼 것입니다. (만약 그들이 faces 집합 중이라면.)
이 글은 우리가 어떻게 이 프로젝트를 세우고 공부를 하는지를 묘사했다.
건축하다
건물
사진:상태기
작업 원리
두 가지 주요 구성 부분이 있는데 그것이 바로 얼굴 색인과 얼굴 식별이다.
면 색인
건물
사진:상태기
작업 원리
두 가지 주요 구성 부분이 있는데 그것이 바로 얼굴 색인과 얼굴 식별이다.
면 색인
얼굴 인식
출력
느슨한 채널에서 출력은 다음과 같습니다.
그림:예제 출력
여기, (내 아들들) 와누자와 Thenuja는 이미 faces 집합에서 내가 아닌 색인을 받았다.
비밀 번호
전체 소스 코드는 다음 웹 사이트에서 찾을 수 있습니다. https://github.com/pubudusj/serverless-bell
설정 방법
AWS SAM 프레임워크를 사용하여 스택을 쉽게 배포할 수 있습니다.
선결 조건:
전체 소스 코드는 다음 웹 사이트에서 찾을 수 있습니다. https://github.com/pubudusj/serverless-bell
설정 방법
AWS SAM 프레임워크를 사용하여 스택을 쉽게 배포할 수 있습니다.
선결 조건:
Create a Slack App at https://api.slack.com/apps/. Enable 'Incoming web hook' and add the created webhook to the workspace choosing a channel. This will generate a webhook url in the format of
https://hooks.slack.com/services/XXXX/XXXX/XXXXXX
배치하다
먼저 스택을 배치할 영역에 AWS Rekognion 컬렉션을 만듭니다.
aws rekognition create-collection \
--collection-id serverless-bell-faces-collection
클론github repo.다음과 같이 여러 가지 용도가 다른 디렉토리가 있습니다.
/backend
디렉터리sam build --use-container
이것은 필요한 의존성을 가진python 함수를 구축할 것이다.그런 다음 리소스를 배포하려면
sam deploy -g
를 실행하십시오.AWS에서 만들 스택의 이름, 영역, Rekognition face 집합, slack URL 등 자세한 정보를 입력해야 합니다.
Please make sure you create the stack in the same region as Rekognition faces collection.
FaceIndexHostingS3Bucket, FaceIndexWebsiteURL, GeneratePresignedUrl, GeneratePresignedUrlForTesting, FaceDetectUploadBucketName
face_index_frontend
디렉터리,face index 전단 소스 코드가 있는 디렉터리로 이동합니다..env
파일 복사.env.example
를 만듭니다.VUE_APP_GENERATE_URL_API
변수에 대해 GeneratePresignedUrl
출력 값을 사용합니다.npm install
구축 프로젝트를 실행합니다.이것은 npm run build
디렉터리를 만들 것입니다.그리고
dist
디렉터리의 내용을 s3에 업로드하여 s3의 위탁 관리 사이트로 사용하도록 하겠습니다.출력값dist
을 s3 저장통으로 사용합니다.aws s3 cp dist s3://[BucketName] --recursive
FaceIndexHostingS3Bucket
로face index 사이트를 방문할 수 있습니다.FaceIndexWebsiteURL
복분자 껍질
aws rekognition list-faces --collection-id "serverless-bell-faces-collection"
디렉토리의 예제 스크립트를 사용하여 이미지를 캡처하여 S3에 업로드합니다.Replace
bucket-name
with the output valueFaceDetectUploadBucketName
Use relevant gpiozero Button number as per your set up.
복분자피가 없는 국부 테스트
scripts_in_pi
파일 복사testing
를 만듭니다..env
변수에 대해 .env.example
출력 값을 사용합니다.VUE_APP_GENERATE_URL_API
및 GeneratePresignedUrlForTesting
약간의 경험과 교훈
npm install
영숫자만 허용됩니다.따라서 여러 개의 빈칸으로 이름을 저장하려면, 우리는 반드시 밑줄로 빈칸을 바꾸어야 하며, 반대로도 마찬가지다.따라서 SAM에서 생성한 S3 Bucket name이 아닌 S3 Bucket을 구축해야 하며 임의의 이름은 here에 설명되어 있습니다.
가능한 개선 사항
Reference
이 문제에 관하여(AWS 무서버로 초인종을 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/how-i-created-a-door-bell-with-aws-serverless-3n9j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)