MQTT 테스트하기

오늘은 PC용 MQTT Client를 소개시켜드리고자 합니다.

이를 이용하면 디바이스를 IoT Platform에 연결하기 전에, 먼저 PC에서 MQTT로 서버에 데이터를 퍼블리시 해볼 수 있습니다.

MQTT.fx 라는 이름의 프로그램인데요, JavaFX를 기반으로 제작되었으며, Windows, Linux, Mac 등 여러 운영체제를 지원합니다.

https://mqttfx.jensd.de

오늘은 MathWorks의 Thingspeak을 이용해보겠습니다.

Thingspeak의 접속 정보는 다음과 같습니다.

  • Server : mqtt.thingspeak.com
  • Port : 1883 (MQTT 기본 포트)
  • Topic : channels/<channel ID>/publish/<apikey>

Thingsboard를 사용하시는 분들을 위해서 TB 접속 정보도 알려드립니다.

  • Server : TB를 설치한 호스트나 IP
  • Port : 1883 (MQTT 기본 포트)
  • Username : <token>
  • Topic : v1/devices/me/telemetry

Thingspeak과 인증 방식이 다소 다릅니다. Thingspeak은 Topic에 인증 정보에 해당되는 apikey를 넣지만, Thingsboard는 Username에 token을 삽입합니다.

Thingsboard에서 token은 고유한 값이기 때문에 별도의 device ID(channel ID)를 넣을 필요는 없습니다. Thingsboard에 대한 자세한 MQTT 사용법은 여기를 참조하세요.

Channel ID와 Write API Key를 기록해둔다.

Thingspeak에 접속해서 channel ID와 apikey를 확인합니다.

톱니바퀴 버튼을 누르면 나오는 “Edit Connection Profiles” 창에서, + 버튼을 눌러 새로운 서버를 추가합니다.

Client ID에는 아무거나 입력하면 된다.

Connect 버튼을 눌러서 접속을 하면, 하단의 텍스트를 입력할 수 있는 드롭다운 박스가 활성화 됩니다.

해당 드롭다운 박스에 Topic을 입력합니다. <channel ID>와 <apikey>에는 본인의 채널의 ID와 key를 입력해야 한다는 것을 잊지 마시기 바랍니다.

그리고 나서 아래 큰 네모 박스 안에 전송할 데이터를 입력하면 됩니다. Thingspeak에서 여러분들이 Field 1 ~ 8 까지를 정의해두셨을 것입니다. 차례차례 데이터를 기입하도록 합니다. 모두 기입을 했으면 드롭다운 박스 옆에 있는 [Publish] 버튼을 클릭합니다.

클릭을 해도 아마 아무 반응이 없을 것입니다. 잘 전송됐는지 보기 위해 [Log]에 들어갑니다.

잘 전송이 되었다고 나오네요! Thingspeak에 들어가서 확인해보겠습니다. 저는 [Export recent data] 들어가서 CSV 파일을 다운로드 받아 확인해보겠습니다.

새로운 데이터가 잘 들어온 것을 확인할 수 있습니다.

MQTT는 Thingspeak, Thingsboard 뿐만 아니라 대부분의 IoT Platform에서 데이터를 주고받을 때 사용하는 프로토콜입니다. 따라서 여러분들께서 디바이스의 데이터를 MQTT로 전송하도록 코딩을 해두신다면, 다른 종류의 IoT Platform을 이용하시더라도 그 코드를 그대로 사용하실 수 있을 것입니다~

About: Seok-Hyun Ga

서울대학교 과학교육과 박사수료


댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다