프로젝트/cloudIOT

AWS 기반 주차 관리 시스템 (1) AWS IoT Core

sssbin 2022. 6. 16. 12:15

 

 

mqtt를 이용하여 간단한 AWS 기반 주차 관리 시스템을 만들어보고자 한다.

camera.js -> 번호판 이미지를 S3에 업로드하고 request 토픽에 publish 하고

이때 람다함수가 호출되어 rekognition 진행 후 detect 토픽에 publish 하면

manage.js -> detect 토픽에 subscribe 하고 받은 메시지를 출력한다.

 

 

시스템을 만들기 위해 AWS IoT Core을 이용했다.

 

 

 

1. AWS IoT > 관리 > 사물 > 사물 생성

 

정책 설정은 일단 건너뛰고 사물 생성하면 인증서 키 다운로드 창 나오는데 모두 다운 받기

이때 무조건 다운받아야 함!!!!!!!! ⭐️⭐️⭐️

 

 

만든 사물 ARN 복사

 

 

2. AWS IoT > 보안 > 정책 > 정책 생성

 

정책 효과에 

iot:Connect

iot:Publish

iot:Receive

iot:Subscribe

추가

 

Connect 정책 리소스에 위에서 만들었던 사물 ARN 넣어주기

나머지는 일단 * 로 설정

 

 

- 마찬가지로 manage 사물과 ManagePolicy 정책 생성

 

3. AWS IoT Device SDK 설치

https://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/connecting-to-existing-device.html

운영체제 업데이트 및 필수 라이브러리 설치

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install cmake
$ sudo apt-get install libssl-dev
git 설치

$ sudo apt-get install git
최신 버전의 Node.js 설치

$ cd ~
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
$ sudo apt-get install -y nodejs


노드, npm 설치 확인

$ node -v
$ npm -v
AWS IoT Device SDK 설치

$ cd ~
$ git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
$ cd ~/aws-iot-device-sdk-js-v2
$ npm install

 

 

4. 인증서 폴더 만들기

certs 폴더 생성 -> 그 안에 camera, manage 폴더 생성 -> 그 안에 각각 해당하는 인증서 파일들 넣어주기

쓰기 쉽도록 이름 바꿔줬다

~샘플 앱 실행은 생략 위 링크 타고 들어가서 따라하면 됨~

 

// access-keys.js

exports.access_key = "액세스 키"
exports.secret_key = "시크릿 키"

폴더 안에 access-keys.js 도 만들어주기

액세스키 / 시크릿키 는 IAM 계정 생성할 때 다운 받은 인증서 csv 파일 안에 들어있음

 

 

https://sssbin.tistory.com/188

 

AWS 기반 주차 관리 시스템 (2) Lambda 설정

https://sssbin.tistory.com/187 번호판 이미지를 S3에 업로드하고 request 토픽에 publish 하고 이때 람다함수가 호출되어 rekognition 진행 후 detect 토" data-og-host="sssbin.tistory.com" data-og-source-ur..

sssbin.tistory.com