AWS IoT 버튼과 Amazon Connect로 화장실이 막히면 관리 사무실에 자동으로 전화
우리 회사의 화장실은 막히기 쉽습니다.
어떤 사무실인지
회사의 점유 지역에 관해서는 깨끗
![](https://s1.md5.ltd/image/45e2f5e1d244ca73ddd7a09ae4401d90.jpeg)
그러나 건물이 매우 연간 들어간 맛있는 건물
![](https://s1.md5.ltd/image/1c8f9cf715f7e04157de2a9a63e8d3e0.jpeg)
![](https://s1.md5.ltd/image/cdb0cfcb574d48d65f2fe83c0f7d8ff8.jpeg)
공유 설비의 화장실도 낡기 때문에 막히기 쉽다고 생각합니다.
막히면 붉은 수치심
![](https://s1.md5.ltd/image/90ba2740d4da2c9d3aec2431261c2fed.png)
![](https://s1.md5.ltd/image/03306119c0869dd74a517314dadf40c2.png)
![](https://s1.md5.ltd/image/f54effbd097582771b40cfa7f1ef2a15.png)
매일 배고프는 나로서는, 언제 자신의 차례가 올까 궁금하지 않다
현재 막혔을 때의 대응 흐름
즉, 빌딩 관리 전화 번호를 삼가면 스스로 전화하여 대중에게 노출하지 않고 사태를 수습 할 수 있습니다.
그러나 여기는 낭비적으로 엔지니어링됩니다.
익명으로 연락하는 메커니즘
아키텍처
![](https://s1.md5.ltd/image/9e43795afbe2624787e0623f25d05d68.png)
AWS IoT 1-Click
대응 기기의 버튼을 트리거로 Lambda 등에 연계할 수 있는 서비스
$0.25/device
AWS IoT 버튼
AWS IoT 1-Click 지원 기기
WiFi에 연결하여 사용
¥ 2,500/개
![](https://s1.md5.ltd/image/52585c7771480bb285091d42c02d03c6.jpeg)
Amazon Connect
클라우드 콜 센터
이 API로 빌딩 관리에 전화하기
전화번호: $0.10/일
발신(일본): $0.1000/분
AWS Lambda
서버리스 컴퓨팅 서비스
이제 Amazon Connect API를 치십시오.
수수료
건설
Step1. Amazon Connect용 contact flow 생성
Step1. Amazon Connect용 contact flow 생성
![](https://s1.md5.ltd/image/7b86f150555fb83b3f7ab5c05ad727d9.png)
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 프로젝트 생성
소통 확인
옆자리의 사람에게 걸도록 설정했습니다
![](https://s1.md5.ltd/image/d1dd90bfbbe78801becb7f7d0176b524.jpeg)
버튼을 누릅니다.
![](https://s1.md5.ltd/image/5c1b6654257e8fe2b42e67488a5cfeaa.jpeg)
전화했습니다.
![](https://s1.md5.ltd/image/5eedd3406dfbb89d2907cd45ac62efd9.jpeg)
「3층 남자 화장실 앞쪽입니다. 똥이 막혔습니다. 대응 잘 부탁드립니다.」
![](https://s1.md5.ltd/image/621dbf0a8b9bd38b72432a0191ac56d3.jpeg)
잘 했으므로 나중에 전화를 빌딩 관리로 변경하고 버튼을 화장실에 놓고 완료되었습니다.
요약
참고 링크
Reference
이 문제에 관하여(AWS IoT 버튼과 Amazon Connect로 화장실이 막히면 관리 사무실에 자동으로 전화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/boiyama/items/cb0594defa3b554d8086텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)