AWS IoT 버튼을 사서 슬랙에 게시했습니다.

5835 단어 awsIoTIoTAWS
zenn으로 마이그레이션 : htps : // 전. 에서 v / 쿠메 t04 / 아르치 c ぇ s / 아 ws 이오 t 부탄 - s ぁ CK 포 st
qiita측의 기사를 지울 예정은 특별히 없습니다만, 갱신하지 않습니다.

보이는



문득 그물을 방황하고 있으면, 이런 것을 발견했습니다.
htps //w w. 아마존. 이. jp / dp / B075FP

「어...이건!」

다음날 아침에 도착했습니다.

AWS IoT 버튼이란?



htps : // 아 ws. 아마존. 코 m / jp / 이오 t 부톤 /
Amazon 대시 버튼과 거의 같은 하드웨어로, AWS IoT에 연결해 자유로운 액션을 일으키는 등 하기 쉬워진 버튼입니다.
WiFi 등 1 에서 인터넷에 연결하고 버튼 누르기 이벤트를 보낼 수 있습니다.

버튼 누르기 이벤트는 AWS IoT에서 가져오고 거기에서 SNS나 Lambda 시작 등을 할 수 있습니다.
Lambda가 시작된다는 것은 무엇이든 할 수 있습니다. 꿈이 퍼지네요.

움직여 보자



이 기사에서는 샘플로 "버튼을 누르면 slack에 메시지를 게시"한다는 것입니다.

버튼을 AWS IoT에 인식



최근의 이 손의 디바이스의 초기 설정은 스마트폰 경유로 실시하는 경우가 많습니다만, 이쪽도 예에 새지 않고 앱으로부터 접속합니다.

스마트폰의 앱 스토어에서 AWS IoT 1-Click이라는 것을 찾아서 설치하고 시작합니다.
AWS 계정을 입력하고 로그인하고 "장치 ID로 등록"에서 바코드 스캔을 시작하고 IoT 버튼 뒷면을 스캔하면 등록할 수 있었습니다.

다음으로 PC 브라우저에서 AWS Console > AWS IoT 1-Click 서비스를 열고 디바이스가 보이지 않는 경우 2 등록 화면에서 등록합니다.
기기 ID는 스마트폰 앱에서 확인할 수 있는 영숫자 16자입니다. 덧붙여 이것은 Amazon의 주문 메일에도 써 있었습니다.

사이드 메뉴 관리 > 장치에 IoT 버튼이 등록되어 있으면 OK입니다.

slack에 게시하는 lambda 함수 준비



버튼 누르기 이벤트에서 발화시키는 함수를 준비합니다.

slack에서 incoming webhook의 URL을 가져와 3 , 거기에 메시지를 게시하는 과정을 씁니다.
자신은 루비를 사용하는 경우가 많기 때문에 루비로 씁니다. 최근에는 런타임의 선택사항이 늘어나서 무엇보다 네요.
이번에 준비한 코드는 다음과 같습니다.

lambda.rb
require "net/https"
require "uri"

def lambda_handler(event:, context:)
    uri = URI.parse('https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/xxxxxxxxxxxxxxxxxxxxxxxx')
    res = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == "https") { |http|
        http.request(Net::HTTP::Post.new(uri).tap { |req|
            req.body = {
                channel: 'random',
                username: 'dash',
                text: 'time',
            }.to_json
        })
    }
    { statusCode: 200, body: res.to_s }
end

테스트 실행하고 메시지가 게시되면 괜찮습니다.

버튼에서 함수 발화



AWS IoT 1-click 서비스 화면으로 돌아가서 프로젝트를 생성합니다.
기본적으로 다이얼로그에 따라 적당하게 입력해 가면 문제 없습니다. 장치 템플릿에서 만든 Lambda 함수를 지정합니다.

생성이 완료되면 프로젝트 화면으로 이동하여 게재위치를 생성합니다(장치 연결).
게재위치에 적절한 이름을 지정하고 템플릿에 대해 기기를 선택합니다.

작업이 끝나면 손쉽게 버튼을 누릅니다.



요약



"버튼을 눌러 Lambda 함수를 발화"할 수있었습니다.

그리고는 아이디어가 가는대로 처리를 쓰면 뭐든지 할 수 있네요.



별로 아무것도 확인하지 않고 구입했기 때문에 WiFi 이외를 사용할 수 있는지는 확인할 수 없습니다.

이 시점에서 시행착오했기 때문에, 스마트폰 측을 먼저 완료하면 브라우저 측에서의 조작이 필요한지 모르겠습니다.

취득 방법은 여기에서 할애

좋은 웹페이지 즐겨찾기