SORACOM LTE-M 버튼으로 룸바 e5 원격 조작

소개



SORACOM LTE-M Button powered by AWS와 룸바 e5가 같은 날에 배송되어 왔습니다.

htps : // 소라코 m. jp / p 로즈 cts /
htps //w w. 이로보 tjp. 코 m/p 로즈 ct/에 5/

룸바 e5는 브러시가 고무제로 구형의 5배의 흡인력, WiFi 기능이 붙어 있어
더스트 용기도 물로 씻을 수 있음에도 불구하고, 정가로 5만엔을 자른다고 하는,
현시점에서 구입한다면 이것 이외에는 없다고 하는 THE·룸바입니다.

룸바의 500 시리즈를 5년 이상 사용해 온 나에게는,
다른 구매 옵션은 없다는 룸바였습니다.

모처럼이므로 LTE-M Button으로 그런 룸바 e5를 원격 조작 할 수 있도록 해 보았습니다.
룸바 e5는 WiFi 대응이기 때문에 IFTTT 경유로 조작이 가능합니다.
아래의 흐름에서 LTE-M Button의 클릭으로 룸바 e5를 조작할 수 있도록 합니다.

LTE-M Button → AWS IoT 1-click → Lambda → IFTTT → 룸바 e5

1. IFTTT에서 Maker Webhooks 활성화



아래 URL로 이동하여 "Connect"를 클릭하여 Maker Webhooks를 활성화하십시오.
htps : //이 ftt. 코 m / 마케 r_ 우에 b 호오 ks

활성화한 후 오른쪽 상단의 "Documentation"을 클릭하여 Webhooks를 이용하기 위한 키를 확인합니다.

이 Key는 3단계에서 사용하므로 어딘가에 메모해 둡니다.

2. IFTTT 애플릿 만들기



LTE-M Button은 세 가지 유형의 클릭(단일, 더블, 길게 누르기)을 지원합니다.
각각의 타입의 클릭에 액션을 할당하고 싶기 때문에, 애플릿을 3개 만듭니다.

신규 애플릿의 작성은 이하로부터 실시합니다.
htps : //이 ftt. 이 m/c레테테

+this
Step1: Webhooks를 선택.
Step2: Receive a web request를 선택한 후 Event Name에 roomba_start를 입력합니다.

+that
Step3: iRobot을 선택.
Step4: Start robot의 액션을 선택.
Step5: Robot name의 항목으로 움직이고 싶은 룸바의 이름을 선택. (iRobot 계정과 협력 필요)
Step6: Finish를 선택.

위의 절차를 두 번 반복합니다.
두 번째 애플릿 작성은 Step2에서 Event Name을 roomba_stop이라고 입력하고, Step4에서 Stop robot의 액션을 선택하고,
세 번째 애플릿은 Step2에서 Event Name을 roomba_home을 입력하고 Step4에서 Dock robot의 액션을 선택합니다.

3. Lambda 함수 준비



Runtime: Python 3.6에서 Lambda 함수를 준비합니다.
순서 1에서 메모하고 있던 Key를 iftttSecretKey에 넣어 주세요.
import json
import urllib.request

# 手順1でメモしたIFTTTのSecret keyを入れる
iftttSecretKey = 'YOUR SECRET KEY'

def lambda_handler(event, context):

    # Buttonのclicktypeを引っ張ってくる (SINGLE, DOUBLE, LONGのいずれか)
    clicktype = event['deviceEvent']['buttonClicked']['clickType']

    if clicktype == "SINGLE":
        iftttEventName = "roomba_start" #シングルクリックでルンバを起動する
    elif clicktype == "DOUBLE":
        iftttEventName = "roomba_stop" #ダブルクリックでルンバを止める
    elif clicktype == "LONG":
        iftttEventName = "roomba_home" #長押しでルンバをドックに戻す

    # WebhookのURL
    url = 'https://maker.ifttt.com/trigger/' + iftttEventName + '/with/key/' + iftttSecretKey

    # urllibによるGET 
    req = urllib.request.Request(url)
    with urllib.request.urlopen(req) as res:
        body = res.read()

4. LTE-M Button 설정



LTE-M 버튼 설정은 아래 항목을 참조하십시오.
htps : //에서 v.ぁsss d. jp / 소라코 m / 세츠 p 소라코 m 1 m 뵈 톤 - 바이 안 d 로이 d /

등록이 완료된 LTE-M 버튼에 3단계에서 만든 Lambda 함수를 연결합니다.


이것으로 준비 완료입니다!

실제 동작



LTE-M Button을 싱글 클릭하면 룸바 e5가 움직이기 시작합니다.

룸바와 버튼 피 c. 라고 r. 이 m/32qj07v29M - K. Taka (@stripes1120) 2018년 11월 8일



(동영상에는 찍지 않았지만 더블 클릭으로 정지, 길게 누르면 룸바가 도크로 돌아갑니다)

만들어 본 소감



무엇인가 움직이는 시스템을 만들려고 할 때에 막히는 것은 개발 환경 구축이라고 한다고 생각합니다만,

SORACOM LTE-M Button이 연결되는 IoT 1-click, Lambda, IFTTT는 모두 웹 브라우저에서 완결되므로

나 같은 초보자라도 환경 구축에 번거로움 없이 쉽게 만들 수 있었습니다.


좋은 웹페이지 즐겨찾기