Skip to main content

WizFi360 MQTT AT Command를 이용하여 Azure IoT Hub에 연동

시작하기 전에#

Azure Portal에 Login을 합니다. 계정이 없는 경우, 계정 생성 후에 Login을 진행합니다.

※ 본 문서는 체험 계정으로 진행합니다.

Azure Portal을 사용하여 IoT Hub 만들기 등 앞선 일련의 과정에 대하여 Azure Cloud 서비스 소개를 참조하시기 바랍니다.

소개#

Microsoft Azure ServiceWizFi360연동하여, Data를 Cloud로 전송하고, Monitoring을 할 수 있습니다.

Data 통신은 다음과 같은 구조로 이루어집니다.

MQTT AT Command를 이용하여, IoT Hub Service 연결 및 Data 송신을 합니다.

IoT Hub로 송신이 된 Data는 Stream Analytics를 통하여 Data 저장소 Blob Storage로 저장이 됩니다.

본 문서는 WizFi360 MQTT AT Command 이용하여 Microsoft Azure Service 연결 방법에 대한 Guide를 제공합니다.

Step 1: 필수 구성 요소#

본 문서를 따라하기에 전에 다음 항목이 준비되어야 합니다.

Hadrware#

Software#

  • Preferred Serial Terminal (TeraTerm, Hercules, etc . . .)

Step 2: Device 준비#

1. Hardware 준비#

WizFi360-EVB-Shield는 Standalone Mode로 사용되어 집니다. 따라서 WizFi360-EVB-Shield의 DIP Switch를 다음과 같이 설정이 필요합니다.

  • SW1 : On
  • SW2 : Off
  • SW3 : Off

2. Device 연결#

Hardware 설정 후, Micro 5 Pin USB Cable을 이용하여 WizFi360-EVB-Shield를 Desktop 혹은 Laptop Computer와 연결을 합니다.

장치 관리자에서 WizFi360-EVB-Shield와 연결된 COM Port를 확인 할 수 있습니다.

장치 관리자에서 COM Port를 확인 할 수 없는 경우, 다음 Link에서 Driver를 Downlonad하여 설치하시기 바랍니다.

Step 3: 동작 예제#

WizFi360의 조금 더 상세한 사용 방법Quick Start Guide, AT CommandAT Instruction Set을 참고 바랍니다.

1. Mode 설정#

CommandResponse
AT+CWMODE_CUR=1OK

2. DHCP 설정#

CommandResponse
AT+CWDHCP_CUR=1,1OK

3. AP 접속#

CommandResponse
AT+CWJAP_CUR="ssid","password"

Example :
AT+CWJAP_CUR="wiznet","0123456789"
WIFI CONNECTED
WIFI GOT IP

OK

4. MQTT 연결 설정#

CommandResponse
AT+MQTTSET="iot_hub_host_name/device_id/?api-version=2018-06-30","sas_token","device_id",60

Example :
AT+MQTTSET="MyWizFi360IoTHub.azure-devices.net/MyWizFi360IoTDevice/?api-version=2018-06-30","SharedAccessSignature sr=MyWizFi360IoTHub.azure-devices.net%2Fdevices%2FMyWizFi360IoTDevice&sig=t3R9nDS7ezMGBdb%2FNd5ktb3xQx5jx4NC02n325vRA6c%3D&se=1611895717","MyWizFi360IoTDevice",60
OK

SAS Token 생성은 다음을 참고 바랍니다.

5. Topic 설정#

CommandResponse
AT+MQTTTOPIC="devices/device_id/messages/events/",devices/device_id/messages/devicebound/#

Example :
AT+MQTTTOPIC="devices/MyWizFi360IoTDevice/messages/events/","devices/MyWizFi360IoTDevice/messages/devicebound/#"
OK

6. Broker 연결#

CommandResponse
AT+MQTTCON=1,"iot_hub_host_name",8883

Example :
AT+MQTTCON=1,"MyWizFi360IoTHub.azure-devices.net",8883
CONNECT

OK

7. Publish Message#

Note :

Data를 Publish 할 때, Stream Analytics 실행 중이어야 Blob Storage로 Data가 전달됩니다.

CommandResponse
AT+MQTTPUB="publish_data"

Example :
AT+MQTTPUB="{"deviceId":"MyWizFi360IoTDevice","temperature":21.97,"humidity":43.58}"
OK

Note :

Publish Data는 어떤 형태라도 가능하지만, Azure Guide의 Stream Analytics에서 작업 입력 구성 설정 중,

Event Serialization 형식이 기본 JSON 형태이므로 맞춰주어야 합니다.

Step 4: 동작 예제 결과#

1. Stream Analytics 작업 시작#

Stream Analytics에서 개요 > 시작 > 현재 > 시작을 선택합니다.

2. 출력 확인#

1) Blob Storage에서 개요 > 컨테이너를 선택합니다.

2) 목록에서 Container를 선택하여 엽니다.

3) 목록에서 Blob을 선택하여 엽니다.

4) 편집을 눌러 WizFi360으로부터 수신한 Data를 확인합니다.

더 보기#

  1. Azure Portal을 사용하여 Stream Analytics 작업 입 · 출력 구성 및 변환 Query 정의

  2. WizFi360 MQTT AT Command를 이용한 Azure IoT Hub 연동 예제