SORACOM LTE-M 버튼으로 룸바 e5 원격 조작
6527 단어 iot-1-clickSORACOMLTE-MiftttAWS
소개
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일
(동영상에는 찍지 않았지만 더블 클릭으로 정지, 길게 누르면 룸바가 도크로 돌아갑니다)
만들어 본 소감
아래 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일
(동영상에는 찍지 않았지만 더블 클릭으로 정지, 길게 누르면 룸바가 도크로 돌아갑니다)
만들어 본 소감
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일
(동영상에는 찍지 않았지만 더블 클릭으로 정지, 길게 누르면 룸바가 도크로 돌아갑니다)
만들어 본 소감
LTE-M Button을 싱글 클릭하면 룸바 e5가 움직이기 시작합니다.
룸바와 버튼 피 c. 라고 r. 이 m/32qj07v29M - K. Taka (@stripes1120) 2018년 11월 8일
(동영상에는 찍지 않았지만 더블 클릭으로 정지, 길게 누르면 룸바가 도크로 돌아갑니다)
만들어 본 소감
무엇인가 움직이는 시스템을 만들려고 할 때에 막히는 것은 개발 환경 구축이라고 한다고 생각합니다만,
SORACOM LTE-M Button이 연결되는 IoT 1-click, Lambda, IFTTT는 모두 웹 브라우저에서 완결되므로
나 같은 초보자라도 환경 구축에 번거로움 없이 쉽게 만들 수 있었습니다.
Reference
이 문제에 관하여(SORACOM LTE-M 버튼으로 룸바 e5 원격 조작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/stripes1120/items/8b1391232988a4d63745텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)