IoT Wireless

PubNub with WizFi250 본문

WiFi module

PubNub with WizFi250

DH0815 2015. 2. 12. 17:27

WizFi250에 PubNub을 연동시켜 보자.


PubNub는 실시간 사물 연동 플랫폼을 제공하는 클라우드 업체이다.

대부분의 Open Cloud 업체와 마찬가지로 회원 가입만 하면, 기본적인 테스트를 진행할 수 있다.


그럼, 먼저 회원 가입부터 시작해보자.



회원 가입이 끝났으면, 테스트에 사용할 APP을 생성해 본다.

아래 그림처럼, WizFi250-demo라는 이름으로 APP을 생성하였다.


APP이 생성되었으면, <Publish Key>와 <Subscribe Key>를 기억하자.

WizFi250이 접속할 때, 필요한 키로 사용될 예정이다.

그리고, <Quick Links> => <Debug Console>을 선택하면, 테스트를 진행할 수 있는 콘솔 화면이 나타날 것이다. 


PubNub에서의 세팅이 끝났으면, 간단히 웹브라우저를 이용해서 채널 테스트를 해보겠다.

이는 웹브라우저에서 RESTful API를 호출해서 이 값이 PubNub에 있는 채널에 도착하는지 확인해보기 위함이다. 


웹브라우저의 URL 입력창에 다음의 주소를 호출한다.

http://pubsub.pubnub.com/publish/pub-c-34a73e4e-51d6-41d6-a0d1-83c7fa5xxxxx/sub-c-6d25288a-b26d-11e4-8fcd-0619f89xxxxx/0/WizFi250-channel/0/"test-message"

pub-c-....., sub-c-..... 부분에는 실제로 APP 생성시에 부여 받은 키값을 정확히 입력해야 한다.

마지막 부분의 "test-message"가 실제 채널에 전달되는 데이터이다.

특별한 문제가 발생하지 않았다면, 웹브라우저는 아래의 화면이 나타난다.


이 때, PubNub Developer Console의 WizFi250-Channel에서는 아래와 같이 Publish된 "test-message"가 보일 것이다.



자, 이번에는 WizFi250으로 PubNub 채널에 데이터를 보내 보겠다.

WizFi250-demo 채널에는 "vlaue-1", "vlaue-2", "vlaue-3"의 3개의 데이터를 보낼 예정이다.

참고로, 불필요한 HTTP 헤더는 제거하고 아래의 데이터(167 Byte)를 사용하였다. 

(CR, LF에 주의하자.)

GET /publish/pub-c-34a73e4e-51d6-41d6-a0d1-83c7fa5xxxxx/sub-c-6d25288a-b26d-11e4-8fcd-0619f89xxxxx/0/WizFi250-channel/0/"vlaue-1" HTTP/1.1
Host: pubnub.pubnub.com

실제 전송된 파일을 다운로드해서 참조하자.

pubnub-test.txt


WizFi250의 운용 로그는 아래와 같다.

(AP 접속을 위한 기본 명령어는 생략한다.)

AT+WJOIN
Joining : WizFiDemoAP
Successfully joined : WizFiDemoAP

[Link-Up Event]
  IP Addr    : 192.168.3.59
  Gateway    : 192.168.3.1
[OK]


(54.249.82.170는 PubNub 서버의 IP 주소)
AT+SCON=O,TCN,54.249.82.170,80,,0

[CONNECT 0]
[OK]

AT+SSEND=0,,,167
[0,,,167]
(여기에서 위에 설명된 파일을 value-1로 수정하고 167 Byte를 정확히 보낸다.)
[OK]
{0,54.249.82.170,80,270}HTTP/1.1 200 OK
Date: Thu, 12 Feb 2015 07:08:42 GMT
Content-Type: text/javascript; charset="UTF-8"
Content-Length: 30
Connection: keep-alive
Cache-Control: no-cache
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET

[1,"Sent","14237249220804907"]

AT+SSEND=0,,,167
[0,,,167]
(value-2로 수정하고 167 Byte를 정확히 보낸다.)
[OK]
{0,54.249.82.170,80,270}HTTP/1.1 200 OK
Date: Thu, 12 Feb 2015 07:08:49 GMT
Content-Type: text/javascript; charset="UTF-8"
Content-Length: 30
Connection: keep-alive
Cache-Control: no-cache
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET

[1,"Sent","14237249292661479"]

AT+SSEND=0,,,167
[0,,,167]
(value-3로 수정하고 167 Byte를 정확히 보낸다.)
[OK]
{0,54.249.82.170,80,270}HTTP/1.1 200 OK
Date: Thu, 12 Feb 2015 07:08:58 GMT
Content-Type: text/javascript; charset="UTF-8"
Content-Length: 30
Connection: keep-alive
Cache-Control: no-cache
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET

[1,"Sent","14237249383451324"]


위에서처럼, WizFi250에서 데이터(value-1, value-2, value-3)를 보낼 때마다, 이 값들이 PubNub 채널에서 실시간으로 적용되는 것을 (아래 그림처럼) 확인할 수 있다.