WebRTC를 통해 MQTT를 pub/sub 해보기

이게 뭐야?



마지막 기사 계속. SkyWay IoT SDK의 MQTT 릴레이 기능을 사용하여 글로벌 MQTT 브로커를 사용하지 않고 P2P를 사용하여 브라우저에서 홈 MQTT로 pub/sub를 시도합니다.

이번 기사는 그것의 터치

개요



일반적으로 집에서 MQTT 클라이언트를 원격으로 pub/sub하기 위해서는 AWS IoT를 사용하여 글로벌 MQTT 브로커 over WebSocket을 사용해 줄 것이라고 생각하지만, 이것을 WebRTC를 사용하여 글로벌 브로커를 사용하지 않습니다. 에 P2P 로 해 버리자고 하는 것. 이것을 사용하면, 간단·저렴하게 택내 MQTT를 풀 수 버린다.

아키텍처로서는 ssg 가 로컬의 MQTT 브로커에 접속해, MQTT 클라이언트와 브라우저간의 MQTT 데이터를 WebRTC 로 릴레이 중계해 준다고 하는 것. 1



프로세스 시작



SkyWay IoT SDK 설치 후에,
$ /opt/janus/bin/janus
$ MQTT_URL=mqtt://localhost MQTT_TOPIC=testtopic/+ ssg start

로 로컬 MQTT 브로커의 URL과 subscribe 할 MQTT의 topic을 환경 변수 지정하여 ssg를 시작합니다.

샘플 웹 앱 시작



마지막 기사 마찬가지로,
h tps : /// t t m. 기주 b. 이오 / 스키와 y - 시루 - c 엔 t / 에 mp ぇ s /
열기. SkyWay의 APIKEY를 양식에 입력하고 start를 클릭하여 IoT SDK에 연결합니다.

MQTT 클라이언트에서 데이터 수신



우선, MQTT client로부터 publish된 데이터를 수신해 본다. 여기서, 샘플 webapp 에서는 testtopic/from_dev 에 subscribe 하고 있으므로, mosquitto_pub 를 사용해 테스트 데이터 송신해 보자.
$ mosquitto_pub -t testtopic/from_dev -m 'hello'

그러면 화면 오른쪽 하단의 MQTT Relay via datachannel에 위에서 게시 한 메시지가 표시됩니다. 2



MQTT 클라이언트로 데이터 보내기



다음으로, 브라우저로부터의 데이터 송신의 차례. 여기에서는 testtopic/from_cli 의 주제로 데이터를 보내기로 하고, mosquitto_sub 를 그 주제로 기동해 둔다.
$ mosquitto_sub -t testtopic/from_browser

그런 다음 화면 오른쪽 하단의 양식에서 topic으로 testtopic/from_browser를 메시지로 적절한 메시지를 입력하고 send를 클릭합니다. 그리고 mosquitto_sub 쪽에 그 메시지가 표시된다. 3



요약



SkyWay IoT SDK에서 P2P로 택시 MQTT에 pub/sub하는 방법(접촉)을 소개했다. 이것을 사용하면 가정 내의 온도 센서 모니터링이나 가정 장치 제어 등을 손쉽게 실현할 수 있습니다. 또, 클라우드를 경유하거나, 일부러 글로벌 IP를 겟트 -> NAT라든지에 구멍을 뚫지 않아도, 퍼블릭인 메시징 서비스를 집내 Linux로부터만으로 실현할 수도 있다. 즐거움



IoT SDK에서는 설치 프로그램을 사용하면 MQTT 브로커(mosquitto)도 함께 설치됩니다.

16자 이상의 메시지를 수신하면 수신 데이터의 바이트 수가 표시됩니다.
message 로 숫자를 입력하면 해당 바이트 수분의 a 가 전송됩니다 만들기 때문에 주의. 예를 들어 4를 입력하면 aaaa가 전송됩니다.

좋은 웹페이지 즐겨찾기