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 생성


  • 최저한 보이스와 문언 설정하고 전화 끊으면 OK!

  • 왼쪽에 표시된 ARN의 instance id와 contact flow id를 나중의 구현에 사용합니다.


    Step2. AWS IoT 1-Click에 디바이스 등록


  • 스마트 폰에 AWS IoT 1-Click 앱을 설치하고 디바이스 등록
  • 장치 사용
  • WiFi 설정


  • 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 프로젝트 생성


  • AWS 콘솔에서 AWS IoT 1-Click 서비스를 열고 프로젝트 만들기
  • 위의 Lambda function을 연결하는 장치 템플릿 만들기
  • 장치 템플릿에 위의 버튼을 연결하는 게재 위치 만들기


  • 소통 확인



    옆자리의 사람에게 걸도록 설정했습니다

    버튼을 누릅니다.

    전화했습니다.

    「3층 남자 화장실 앞쪽입니다. 똥이 막혔습니다. 대응 잘 부탁드립니다.」


    잘 했으므로 나중에 전화를 빌딩 관리로 변경하고 버튼을 화장실에 놓고 완료되었습니다.

    요약


  • 버튼은 2.4GHz 만 연결합니다
  • 버튼의 전지는 교환할 수 없고, 수명은 약 2000회.
  • 하지만 막히는 것은 월 1 페이스이므로 약 166년간 사용할 수 있다.
  • 출처: htps : // 기주 b. 코 m / 보이 야아 / c ㎉ 게 d - ぇ t - rpo r r


  • 참고 링크


  • [Amazon Connect] 자동 발신(Automated Outbound Calling)을 이용한 샘플(그 1)~캠페인의 안내를 보내 흥미있는 고객을 리스트 업~
  • 쉽게 콜 센터! IoT Button을 포치하면 amazon connect로부터 자동 아웃바운드 콜이 온다!
  • 좋은 웹페이지 즐겨찾기