MQTT v3.1의 IoT가스밸브체커 실험

My Instruction Manual:  http://www.instructables.com/id/Smart-Gas-Valve-Checker-for-Home-Safety

YouTube : My demonstration For home safety with automatic voice

YouTube : My demonstration for M2M communication by MQTT

이번주는 사물인터넷의 통신 프로토콜의 하나인 MQTT(Message Queue Telemetry Transport) 통신 실험을 저렴한 라즈베리파이로 이용해보았다. 다음엔 CoAP 프로토콜을 실험할예정이다. 오늘 아침에 이 프로토콜의 사물인터넷 임베디드안에 수 많은 공통 토픽 메시지가 있으면 공통으로 묶어서 보내주고 트래픽잼을 줄이면서 효율적으로 데이타 큐로 처리된다는것을 발견했다. 예를 들면 Publisher(발행자) 가 ‘Hello’ 라는 메시지를 보내면 Subscriber(수령자)가 메시지 Broker(모스키토) 를 통해서 그 메시지를 받는 것이다. 구독하지 않은 토픽과 Subscriber 는 메시지를 받을 수 없다. 나의 가스밸브체커 실험안에  메시지 발행자(Publisher)가 ‘topic/gasvalve’방에 메시지를 발행하면 메시지브로커인(모스키토)가  가스벨브센서 데이타값(o/1)을 받아갈수 있도록 수령자(Subscriber)한테 ‘topic/gasvalve’ 방을 연결해준다. 아주쉽게 말하면 우편배달부(e-mail/p2p)는  아니고 우체국 혹은 게시판 개념과 비슷하다고 볼수있다. 처음에는 이해 못했지만 실제로 실험 해보니깐 조금씩 깨달아갔다.  MQTT는 IBM에 의하면 프로토콜의 장점은 저 전력 소모, 낮은 네트워크 대역폭, 적은 코드작성이다. MQTT 는 1999년에 IBM  Andy Stanford-Clark 가  발명했다. 나는 Andy Stanford-Clark의 TED동영상을 링크할것이다.  Facebook messenger도 이 통신 프로토콜을 사용한다.

Screenshot 2016-10-22 11.18.54.png

AddingPullupResistor4.7kohm.png

나의 가스밸브 체커로 나의 MQTT실험을 Node-RED로 구현한것이다.  제작방법과 코드작성은 너무나 길어서 생략하겠다.  제작 및 코딩방법은 여기 http://www.instructables.com/id/Smart-Gas-Valve-Checker-for-Home-Safety 에 링크했다.

가스밸브이 장착되어있는 마그네틱센서와 가스밸브이다.

gasvv

오픈 소스의 노드레드를 이용해서 MQTT v3.1 을 비주얼 (JavaScript) 프로그래밍했다. 비주얼 프로그래밍이라서 쉬울줄알았는데 생각보다 쉽지않았다. 각 펑션에 자바스크립트로 코딩해야기때문이다. 노드와 노드끼리 잘 연결할수있도록 context.global / context.flow 잘써서 센서 데이타를 전달해주어야기때문에 삽질 정말 많이했다. 약 3주 정도 삽집했었다. ..

mqtt-gas-vv01mqtt-gas-vv02

여기에 메시지 브로커 모스키토가 토픽 3개( ping, cpuTemp, 그리고 gasvalve) 물건(데이타)를 잘전달할수있도록 수령자에 소개해준다.  우편배달부 개념은 아닌것같다.  IBM에서 강의를 들을때 P2P, e-mail 전혀 틀리다고 들었다.  게시판 개념과 비슷하다고 볼수있다.

screenshot-2016-10-19-12-58-16

screenshot-2016-10-24-11-59-13

mqtt-gas-vv_phone-png

mqtt-gas-vv_web

Advertisements

Author: iotmaker

I am interested in IoT, robot, figures & leadership. Also, I have spent almost every day of the past 15 years making robots or electronic inventions or computer programs.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s