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로 저장이 됩니다.

본 문서는 Mbed 기반 WizFi360 MQTT AT Command 이용한 Microsoft Azure Service 연동 예제에 대하여 Guide를 제공합니다.

Step 1: 필수 구성 요소#

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

Hadrware#

Software#

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

Step 2: Device 준비#

1. Hardware 준비#

WizFi360-EVB-Shield는 NUCLEO-L476RG와 결합을 하여 사용되어 집니다. 따라서 WizFi360-EVB-Shield의 DIP Switch 및 UART Jumper Pin을 다음과 같이 설정이 필요합니다.

  • SW1 : Off
  • SW2 : Off
  • SW3 : On
  • D2 : UART Tx
  • D8 : UART Rx

2. Device 연결#

Hardware 설정 후, Mini USB Cable을 이용하여 NUCLEO-L476RG를 Desktop 혹은 Laptop Computer와 연결을 합니다.

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

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

Step 3: 동작 예제#

1. 예제 Download 및 실행#

예제 Download를 한 후, File > Open Workspace을 선택하여 Project 실행합니다.

예제는 다음 경로에 위치하고 있는 Project를 참고 바랍니다.

  • samples/Wi-Fi/Mbed_Mqtt_Atcmd_Wizfi360

  • samples/Wi-Fi/Mbed_Mqtt_Atcmd_Wizfi360_Azure_C_Shared_Utility

Mbed_Mqtt_Atcmd_Wizfi360 경우에는 Device Explorer 혹은 Azure IoT Explorer와 같은 Tool을 이용하여 별도의 SAS Token 생성 과정이 필요합니다.

Mbed_Mqtt_Atcmd_Wizfi360_Azure_C_Shared_Utility 경우에는 Azure IoT Common Library인 azure_c_shared_utility Library를 Porting을 한 Project이므로 별도의 SAS Token 생성 과정이 필요 없으며, Project 내부에서 SAS Token 생성 과정을 처리합니다.

2. Parameter 값 수정#

Azure IoT Hub에 연결을 하기 위하여, 다음의 Parameter를 수정합니다.

/* Wi-Fi info */
char ssid[] = "xxxxxxxxxx";
char password[] = "xxxxxxxxxx";
/* MQTT info */
int alive_time = xx; // range : 30 ~ 300
/* Azure info */
char hub_name[] = "xxxxxxxxxx";
char host_name[] = "xxxxxxxxxx";
char device_id[] = "xxxxxxxxxx";
char device_key[] = "xxxxxxxxxx";
char sas_token[] = "xxxxxxxxxx";

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

3. Project Build 및 Run#

Run Program을 눌러 Project Build 및 Run을 합니다.

Note :

Stream Analytics 실행 중이어야 Blob Storage로 Data가 전달됩니다.

Step 4: 동작 예제 결과#

Terminal Program으로 WizFi360에서 Azure IoT Hub로 전송하는 Data, Blob Storage에서 WizFi360으로부터 수신한 Data를 확인 할 수 있습니다.

더 보기#