최종 수정 : September 1, 2020, 11:06 AM
IBM Watson IoT Platform with MQTT.fx 시작하기
먼저, IBM에서 제공하는 사물 인터넷(IoT) 클라우드 IBM Watson IoT Platform 소개 페이지 를 살펴보는 것이 좋다. 머든 서비스 제공자가 모든 정보를 가지고 있으니 존중해야 한다.
IBM Watson IoT Platform - 개요 - 대한민국 데이터 수집 데이터의 시계열 뷰를 수집, 관리하고 거의 실시간으로 IoT 데이터를 시각화하여 디바이스의 현재 상태를 확인할 수 있습니다.
무료 체험하기 버튼을 눌러주면, 서비스를 선택할 수 있다. 지역은 댈러스로 버터향기 나게….ㅋㅋ 한국 지역은 선택에서 아예 없군 😥
심플 예제 만들기
아주 간단한 예제를 만들어 보는 것으로 체험해 보자. (일단, 저장해둔 그림만 쭉 올려두자 ^^) 실제 물리적인 IoT 디바이스(라즈베리파이나 아두이노 와이파이 등)를 만들고 세팅하는 것은 당장 힘드니, 그냥 디바이스 대신해서 메시지를 만들어서 보낼 수 있는 MQTT.fx 툴을 이용하여 기능을 대신해 보도록 하자.
예제의 목표는 IoT 기기가 임의의 데이터를 보내고, 그 데이터를 IBM Cloud에서 받을 수 있도록 해주는 Watson IoT Platform을 경험하는 것으로 한다.
가입하는 것은 누구나 다 할 수 있을 테니, <–
간단하게 서비스 가입 화면 처럼 해당 서비스를 구독해 주시고,
디바이스를 실제 등록하고, 어떻게 데이터를 올릴 수 있는지를 아래 화면으로 살펴보자. (왠만하면 설명이 필요없도록…. 아마도 보는게 최고 쉬운 방법일꺼야 🙂 )
먼저, 내가 사용하는 디바이스를 추가해야 한다. 추가할 때 사용한 정보로 나중에 로그인 같은 것을 할 수 있으니 몇가지 정보는 따로 저장해 둬야 한다. 하나씩 따라가보자. IoT 디바이스 추가 디바이스 유형은 이 화면이전에 미리 하나 등록해 두었다. 그냥 텍스트 박스에 자신이 원하는 문자열을 넣는 것이니 따로 스샷을 올리지는 않지만, 나중에 시간이 지난 후에 보더라도 ㅎㅎ 잘 할 수 있을 것이라 믿어 의심치 않음… 디바이스 ID 도 일단 그냥 아무 문자열이나 넣으면 된다.
일련번호와 디바이스의 각종 메타 정보를 추가하고 다음을 누른다.
(나중에 결과 화면을 보면 알겠지만, 여기서 입력한 “KTS-DEVICE-001” 대신 디바이스 유형 등록화면에서 등록한 정보로 디바이스가 등록되네 흠……다시 살펴봐야 할 부분이긴 하다….)<= 잘 들어가 있네, 오해한듯 ^^;;;;
인증 방식은 인증 토큰 방식으로 두고, 그냥 다음을 누른다. 단, 여기서는 한글로 인증 토큰이라고 나오는데 영어로는 “use-token-auth” 이라는 문자열로 쓰인다. 이 정보는 중요하므로 꼭 영어 표현을 알아두도록 하자.
이제 디바이스 추가가 다 되었다. 인증에 사용할 보안 토큰은 “생성될 예정” 이라고 하니, 반드시 맘속으로 믿고 “완료” 버튼을 눌러 마무리 허자 😀
짠~~~~~ 디바이스 정보가 나온다. 주의할 점은 여기에 나오는 정보는 반드시 머리로 기억하거나 어디 다른 곳에 텍스트 파일로 저장해 두자..꼭꼭
IBM Watson IoT Platform 디바이스 연결하기
이제 실제 디바이스를 대신할 PC에 MQTT.fx (MQTT 메시지 보내는 놈으로 하기로 했다)을 설치하고, (따로 설치하는 방법은 여기에 거론하지 않았는데……….나중에 다른 포스트로 추가해볼까 ^^) 아래와 같이 연결 정보를 입력하도록 한다. 여기에서 아까 저장해둔 정보가 쓰이게 된다. 아래글을 참고하면서 자세히 살펴보기 바란다.
- IBM MQTT 도움글 : Communicating with devices (MQTT)
(무조건 IBM 클라우드 페이지는 그냥 영어 페이지로 보는게 낫겠다. 괜히 한글을 써서 헷갈리는군)
여튼, MQTT Broker 주소 정보에 “조직ID.messaging.internetofthings.ibmcloud.com” 을 입력하고 포트 넘버는 8883 <- SSL/TLS 를 쓸 예정이므로 이 번호를 쓴다. 일반 MQTT는 1883 를 쓴다. Client ID는 “d:조직ID:디바이스유형:디바이스Id” 로 기록하고, 중요한 로그인을 할 아이디 / 비밀번호 정보는 사용자 이름은 아까 선택한 인증 방법을 써 넣으면 되고 “use-token-auth” 비밀번호란에는 생성된 인증 토큰 값을 넣어야 한다. 이젠 어려운 것은 다 끝남.
연결 방식은 SSL/TLS로 선택만 하고 나머지는 건드리지 말고, 저장하고 빠져나오면 연결 정보 설정은 끝.
이제 “Connect” 버튼을 눌러 내가 만들어 놓은 IBM Watson IoT Platform에 접속 되는지 기다려 보자. 두둥
짠, 오른쪽 상단에 그린라이트 가 들어왔네. ㅋㅋ 잘 되었나 보다.
IBM Watson IoT Platform 디바이스 - 데이터 보내기 이제, 디바이스가 데이터를 보내고, 그값을 클라우드 대시보드에서 확인하면 대충 기본 동작은 끝나는 것이여~~~~ 쓰는 것이 더 힘드네…ㅠㅠ
무튼 다시 대시보드로 들어와서 디바이스 화면에서 디바이스ID 를 살짝 눌러, “최근 이벤트” 라는 곳을 눌러보면 디바이스가 보내는 이벤트 정보가 보일 것이다. 아직 아무것도 보내지 않았으니 아래 그림처럼 비어 있네.
그럼 디바이스가 “안녕” 이라고 메시지를 보내 보자. 아래 처럼 하면 된다. 토픽 이름은 아래처럼 보내야 한다. 이것도 아까 살펴보라는 IBM 문서페이지에 친절하게 나와 있다.
- IBM MQTT 도움글 : Communicating with devices (MQTT)
아래 문자열에서 “이벤트아이디”만 원하는 대로 적고 나머지는 그대로 쓰도록~~ “iot-2/evt/이벤트아이디/fmt/json” 그리고, 실제 JSON 데이터는 원하는 대로 적으면 된다. 나는 그냥 가장 기본인 텍스트 메시지 “Hello World!”를 보내보기로…너무 창의성이 없어 😅
다 작성했으면, “Publish” 버튼을 누르면 디바이스 보내는 메시지가 클라우드로 쓩~~~가겠지?
와~~~~ 아래와 같이 잘 도착했네 🤗🤗 이제 퇴근합니다.