M5Stack의 원격 제어를 Azure IoT Central에서 확인
소개
클라우드에서 디바이스 제어를 시도하고 싶었기 때문에 M5Stack과 Azure IoT Central을 사용하여 M5Stack을 원격으로 제어합니다.
현재, 어느 근처까지 간단하게 실장할 수 있을 것 같고, 어디에서가 좀 더 찢어져 조사하면서 하지 않으면 안 되는지가 보여 왔기 때문에, 조금 시도해 보는 것만으로, 이 근처의 공부는 나름대로 할 수 있다고 생각합니다. 그리고는, 심플하지만 원격으로부터의 디바이스 제어의 방법이 있으므로, 아이디어 나름으로는 충분히 사용할 수 있는 기능인가라고 생각합니다.
원격 조작 절차
이번에는 Azure IoT Central의 서비스 화면에서 조작하여 M5Stack의 표시되는 정보를 만들려고 합니다. 채취적인 조작 절차 자체는 다음과 같습니다.
1. Azure IoT Central 서비스 화면에서 명령 실행
2. M5Stack 디스플레이에 표시되는 문자가 변경됨
또, 이번 예에서는, 디스플레이에 표시되고 있는 문자를 변경시킬 뿐입니다만, 디바이스측의 처리를 보다 제대로 실장하면, 여러가지 사용법을 할 수 있다고 생각합니다.
M5Stack측(UI Flow)
화면
Blockly
[scope id] [device id] [device key] 는, 각자의 환경에 맞추어 기입해 주세요.
파이썬
from m5stack import *
from m5ui import *
from uiflow import *
from IoTcloud.Azure import IoT_Central
import time
setScreenColor(0x222222)
methodmsg = None
labelCommand = M5TextBox(58, 98, "command", lcd.FONT_DejaVu40, 0xFFFFFF, rotate=0)
def azure_direct_Hello(payload, rid):
global methodmsg
methodmsg = payload
labelCommand.setText('Hello')
azure.response_direct_method(0, rid, body='ok')
def azure_direct_Bye(payload, rid):
global methodmsg
methodmsg = payload
labelCommand.setText('Bye')
azure.response_direct_method(0, rid, body='ok')
azure = IoT_Central(scope_id='', device_id='', device_key='')
azure.subscribe_direct_method('Hello', azure_direct_Hello)
azure.subscribe_direct_method('Bye', azure_direct_Bye)
azure.start()
while True:
wait(1)
wait_ms(2)
Azure IoT Central 측면
장치 템플릿
[Command]를 추가합니다 (이번에는 Hello와 Bye라는 명령 추가).
명령
장치를 만들면 명령이 표시됩니다.
각 명령의 실행을 클릭하면 Azure 측에서 명령이 발행되어 M5Stack 측의 처리가 수행되는지 확인할 수 있습니다.
또한 M5Stack 측과 연계 할 수 있도록 연결을 별도로 설정하십시오.
M5Stack과 Azure IoT Central 간의 연결에 불안한 사람은 다음 기사를 참조하십시오.
『M5StickC와 Azure IoT Central을 연계해 데이터를 가시화하는 ③~M5StickC와 Azure IoT Central의 접속편~』
명령 사용시주의 사항
짧은 시간에 연속으로 명령을 발행하면 다음 오류가 발생했습니다.
뭐, 그런 사용법을 하는 것이 아닐까요(웃음)
관계가 있을 것 같은 공식 문서
관계가 있을 것 같은 공식 문서를 정리해 둡니다.
Azure IoT Hub ≠ Azure IoT Central이 아니기 때문에 그 근처는 주의입니다.
아래의 기사를 읽으면 Azure IoT Central으로서 어느 부분까지 대응하고 있는지 조금 정리할 수 있었습니다.
Azure IoT Hub cloud-to-device 옵션: Azure IoT Hub
이번에는 Azure IoT Central의 서비스 화면에서 조작하여 M5Stack의 표시되는 정보를 만들려고 합니다. 채취적인 조작 절차 자체는 다음과 같습니다.
1. Azure IoT Central 서비스 화면에서 명령 실행
2. M5Stack 디스플레이에 표시되는 문자가 변경됨
또, 이번 예에서는, 디스플레이에 표시되고 있는 문자를 변경시킬 뿐입니다만, 디바이스측의 처리를 보다 제대로 실장하면, 여러가지 사용법을 할 수 있다고 생각합니다.
M5Stack측(UI Flow)
화면
Blockly
[scope id] [device id] [device key] 는, 각자의 환경에 맞추어 기입해 주세요.
파이썬
from m5stack import *
from m5ui import *
from uiflow import *
from IoTcloud.Azure import IoT_Central
import time
setScreenColor(0x222222)
methodmsg = None
labelCommand = M5TextBox(58, 98, "command", lcd.FONT_DejaVu40, 0xFFFFFF, rotate=0)
def azure_direct_Hello(payload, rid):
global methodmsg
methodmsg = payload
labelCommand.setText('Hello')
azure.response_direct_method(0, rid, body='ok')
def azure_direct_Bye(payload, rid):
global methodmsg
methodmsg = payload
labelCommand.setText('Bye')
azure.response_direct_method(0, rid, body='ok')
azure = IoT_Central(scope_id='', device_id='', device_key='')
azure.subscribe_direct_method('Hello', azure_direct_Hello)
azure.subscribe_direct_method('Bye', azure_direct_Bye)
azure.start()
while True:
wait(1)
wait_ms(2)
Azure IoT Central 측면
장치 템플릿
[Command]를 추가합니다 (이번에는 Hello와 Bye라는 명령 추가).
명령
장치를 만들면 명령이 표시됩니다.
각 명령의 실행을 클릭하면 Azure 측에서 명령이 발행되어 M5Stack 측의 처리가 수행되는지 확인할 수 있습니다.
또한 M5Stack 측과 연계 할 수 있도록 연결을 별도로 설정하십시오.
M5Stack과 Azure IoT Central 간의 연결에 불안한 사람은 다음 기사를 참조하십시오.
『M5StickC와 Azure IoT Central을 연계해 데이터를 가시화하는 ③~M5StickC와 Azure IoT Central의 접속편~』
명령 사용시주의 사항
짧은 시간에 연속으로 명령을 발행하면 다음 오류가 발생했습니다.
뭐, 그런 사용법을 하는 것이 아닐까요(웃음)
관계가 있을 것 같은 공식 문서
관계가 있을 것 같은 공식 문서를 정리해 둡니다.
Azure IoT Hub ≠ Azure IoT Central이 아니기 때문에 그 근처는 주의입니다.
아래의 기사를 읽으면 Azure IoT Central으로서 어느 부분까지 대응하고 있는지 조금 정리할 수 있었습니다.
Azure IoT Hub cloud-to-device 옵션: Azure IoT Hub
from m5stack import *
from m5ui import *
from uiflow import *
from IoTcloud.Azure import IoT_Central
import time
setScreenColor(0x222222)
methodmsg = None
labelCommand = M5TextBox(58, 98, "command", lcd.FONT_DejaVu40, 0xFFFFFF, rotate=0)
def azure_direct_Hello(payload, rid):
global methodmsg
methodmsg = payload
labelCommand.setText('Hello')
azure.response_direct_method(0, rid, body='ok')
def azure_direct_Bye(payload, rid):
global methodmsg
methodmsg = payload
labelCommand.setText('Bye')
azure.response_direct_method(0, rid, body='ok')
azure = IoT_Central(scope_id='', device_id='', device_key='')
azure.subscribe_direct_method('Hello', azure_direct_Hello)
azure.subscribe_direct_method('Bye', azure_direct_Bye)
azure.start()
while True:
wait(1)
wait_ms(2)
장치 템플릿
[Command]를 추가합니다 (이번에는 Hello와 Bye라는 명령 추가).
명령
장치를 만들면 명령이 표시됩니다.
각 명령의 실행을 클릭하면 Azure 측에서 명령이 발행되어 M5Stack 측의 처리가 수행되는지 확인할 수 있습니다.
또한 M5Stack 측과 연계 할 수 있도록 연결을 별도로 설정하십시오.
M5Stack과 Azure IoT Central 간의 연결에 불안한 사람은 다음 기사를 참조하십시오.
『M5StickC와 Azure IoT Central을 연계해 데이터를 가시화하는 ③~M5StickC와 Azure IoT Central의 접속편~』
명령 사용시주의 사항
짧은 시간에 연속으로 명령을 발행하면 다음 오류가 발생했습니다.
뭐, 그런 사용법을 하는 것이 아닐까요(웃음)
관계가 있을 것 같은 공식 문서
관계가 있을 것 같은 공식 문서를 정리해 둡니다.
Azure IoT Hub ≠ Azure IoT Central이 아니기 때문에 그 근처는 주의입니다.
아래의 기사를 읽으면 Azure IoT Central으로서 어느 부분까지 대응하고 있는지 조금 정리할 수 있었습니다.
Azure IoT Hub cloud-to-device 옵션: Azure IoT Hub
관계가 있을 것 같은 공식 문서를 정리해 둡니다.
Azure IoT Hub ≠ Azure IoT Central이 아니기 때문에 그 근처는 주의입니다.
아래의 기사를 읽으면 Azure IoT Central으로서 어느 부분까지 대응하고 있는지 조금 정리할 수 있었습니다.
Azure IoT Hub cloud-to-device 옵션: Azure IoT Hub
IoT 애플리케이션에서 디바이스로의 명령: Azure IoT Hub
Azure IoT Central에서 REST API를 사용한 디바이스 관리: Azure IoT Central
참고 자료
하향 통신에 관해서는 다음 자료를 잘 알았습니다.
덤
이 기사는 다음 캠페인에 참여합니다.
Reference
이 문제에 관하여(M5Stack의 원격 제어를 Azure IoT Central에서 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yukimatsu/items/a81b30298200ec350a1f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 기사는 다음 캠페인에 참여합니다.
Reference
이 문제에 관하여(M5Stack의 원격 제어를 Azure IoT Central에서 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yukimatsu/items/a81b30298200ec350a1f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)