AWS IoT 버튼과 Amazon Connect로 화장실이 막히면 관리 사무실에 자동으로 전화
우리 회사의 화장실은 막히기 쉽습니다.
어떤 사무실인지
회사의 점유 지역에 관해서는 깨끗
그러나 건물이 매우 연간 들어간 맛있는 건물
공유 설비의 화장실도 낡기 때문에 막히기 쉽다고 생각합니다.
막히면 붉은 수치심
매일 배고프는 나로서는, 언제 자신의 차례가 올까 궁금하지 않다
현재 막혔을 때의 대응 흐름
즉, 빌딩 관리 전화 번호를 삼가면 스스로 전화하여 대중에게 노출하지 않고 사태를 수습 할 수 있습니다.
그러나 여기는 낭비적으로 엔지니어링됩니다.
익명으로 연락하는 메커니즘
아키텍처
AWS IoT 1-Click
대응 기기의 버튼을 트리거로 Lambda 등에 연계할 수 있는 서비스
$0.25/device
AWS IoT 버튼
AWS IoT 1-Click 지원 기기
WiFi에 연결하여 사용
¥ 2,500/개
Amazon Connect
클라우드 콜 센터
이 API로 빌딩 관리에 전화하기
전화번호: $0.10/일
발신(일본): $0.1000/분
AWS Lambda
서버리스 컴퓨팅 서비스
이제 Amazon Connect API를 치십시오.
수수료
건설
Step1. Amazon Connect용 contact flow 생성
Step1. Amazon Connect용 contact flow 생성
Step2. AWS IoT 1-Click에 디바이스 등록
Step3. Lambda Function 구현
main.ts
import Connect from "aws-sdk/clients/connect";
const connect = new Connect({ region: "ap-northeast-1" });
export const handler = async () => {
const result = await connect
.startOutboundVoiceContact({
InstanceId: process.env.INSTANCE_ID as string,
ContactFlowId: process.env.CONTACT_FLOW_ID as string,
SourcePhoneNumber: process.env.SOURCE_PHONE_NUMBER as string,
DestinationPhoneNumber: process.env.DESTINATION_PHONE_NUMBER as string
})
.promise();
return result;
};
lambda.tf
# Configure the AWS Provider
provider "aws" {
version = "~> 2.0"
region = "ap-northeast-1"
}
# Create a IAM role for Lambda
resource "aws_iam_role" "lambda" {
name = "CloggedToiletReporterLambdaRole"
assume_role_policy = data.aws_iam_policy_document.assume_role_lambda.json
}
data "aws_iam_policy_document" "assume_role_lambda" {
statement {
effect = "Allow"
actions = ["sts:AssumeRole"]
principals {
type = "Service"
identifiers = ["lambda.amazonaws.com"]
}
}
}
resource "aws_iam_role_policy_attachment" "lambda_basic_execution" {
role = aws_iam_role.lambda.name
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
}
resource "aws_iam_role_policy_attachment" "amazon_connect" {
role = aws_iam_role.lambda.name
policy_arn = "arn:aws:iam::aws:policy/AmazonConnectFullAccess"
}
// Create a Lambda function
data "archive_file" "function" {
type = "zip"
source_dir = "./dist"
output_path = "code.zip"
}
resource "aws_lambda_function" "clogged_toilet_reporter" {
filename = data.archive_file.function.output_path
source_code_hash = data.archive_file.function.output_base64sha256
function_name = "CloggedToiletReporter"
handler = "main.handler"
role = aws_iam_role.lambda.arn
runtime = "nodejs10.x"
timeout = 60
environment {
variables = {
INSTANCE_ID = var.INSTANCE_ID
CONTACT_FLOW_ID = var.CONTACT_FLOW_ID
SOURCE_PHONE_NUMBER = var.SOURCE_PHONE_NUMBER
DESTINATION_PHONE_NUMBER = var.DESTINATION_PHONE_NUMBER
}
}
}
variable "INSTANCE_ID" {}
variable "CONTACT_FLOW_ID" {}
variable "SOURCE_PHONE_NUMBER" {}
variable "DESTINATION_PHONE_NUMBER" {}
Step4. AWS IoT 1-Click 프로젝트 생성
소통 확인
옆자리의 사람에게 걸도록 설정했습니다
버튼을 누릅니다.
전화했습니다.
「3층 남자 화장실 앞쪽입니다. 똥이 막혔습니다. 대응 잘 부탁드립니다.」
잘 했으므로 나중에 전화를 빌딩 관리로 변경하고 버튼을 화장실에 놓고 완료되었습니다.
요약
참고 링크
Reference
이 문제에 관하여(AWS IoT 버튼과 Amazon Connect로 화장실이 막히면 관리 사무실에 자동으로 전화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/boiyama/items/cb0594defa3b554d8086텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)