---
title: "[WizFi310] MQTT 사용 관련 문의입니다."
url: "https://maker.wiznet.io/forum/12447"
markdown_url: "https://maker.wiznet.io/forum/12447/md"
type: "Forum topic"
category: "Wireless"
author: "yjs0064"
created: "2017-08-29T07:29:51+09:00"
last_activity: "2019-01-09T01:02:48+09:00"
language: "ko"
views: 3527
replies: 13
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# [WizFi310] MQTT 사용 관련 문의입니다.

## Question

Asked by yjs0064 on 2017-08-29 in Wireless.

안녕하세요,

Microsoft Azure와 연결하기 위해서 MQTT 프로토콜을 사용하고 있는데요,

현재 AT 커맨드를 통해 Wifi 연결은 한 상태입니다.

문제는 at+mqttcon 에서 발생하는 것 같습니다.

아래는 시리얼 통신 내용입니다.

아래 결과와 같이 CONNECT 되자마자 DISCONNECT 가 바로 출력됩니다. 그리고 계속 CONNECT 와 DISCONNECT가 반복됩니다.

어떤 경우에 이와같은 현상이 일어나는지 확인할 길이 어려워 도움 요청드립니다.

코드 중에 어떤 경우에 CONNECT 와 DISCONNECT가 반복되는지 봐주셨으면 합니다.

이상입니다.
감사합니다.

임정세 드림.

============**=============

WizFi310 Version 1.0.3.3 (WIZnet Co.Ltd)
at+wset=0,rnd
[OK]
at+wsec=0,wpa2,greengreen
[OK]
at+wnet=1
[OK]
at+wjoin
[Link-Up Event]
IP Addr : ~~~~~~
Gateway : ~~~~~~
[OK]
[at+mqttset=PVT-HUB.azure-devices.net/Wizmega_test/api-version=2016-11-14,SharedAccessSignature](http://at+mqttset=PVT-HUB.azure-devices.net/Wizmega_test/api-version=2016-11-14,SharedAccessSignature) [sr=PVT-HUB.azure-devices.net](http://sr=PVT-HUB.azure-devices.net)%2Fdevices%2FWizmega_test&sig=K5fydK0YBW1b6AYzBfinEUbd8gdGKTWY5QK0Rs2kPMg%3D&se=153544470
[OK]
at+sdname=PVT-HUB.azure-devices.n~(신규회원은링크가2개를넘을수없어 링크안되게 수정하였습니다.)
[OK]
at+mqttcon=1,0.0.0.0,8883,1
[MQTT CONNECT]
[OK]
[MQTT DISCONNECT]

============**=============

[![test1](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/f/f2f2d343bcb01a9db5959e1d3cfec30aaaef69b6.png) test1849×613 30.4 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/f/f2f2d343bcb01a9db5959e1d3cfec30aaaef69b6.png)

## Replies

### Reply 1 by wizdaniel, 2017-08-29

안녕하세요

로그를 보니, 해당 연결은 Azure에서 MQTT 연결을 끊고 있는 것으로 보입니다.

원인은, User name, password, Client ID와 같은 인증 관련 정보들이 틀린 것 같습니다.
위 내용이 맞는지 확인 부탁드립니다.

위에 입력해주신 내용으로 보아, username은 `PVT-HUB.azure-devices.net/Wizmega_test/api-version=2016-11-14`
password는 `SharedAccessSignature sr=PVT-HUB.azure-devices.net%2Fdevices%2FWizmega_test&sig=K5fydK0YBW1b6AYzBfinEUbd8gdGKTWY5QK0Rs2kPMg%3D&se=153544470` 인것으로 보이는데, Client ID가 입력되지 않았습니다.

### Reply 2 by yjs0064, 2017-08-30 (in reply to reply 1)

안녕하세요, 답변 감사드립니다.

ClientID는 Wizmega_test로 Azure에서 확인되는 DeviceID를 넣었습니다. username과 password(DeviceExplorer의 SAS 토큰 생성)도 규칙에 맞게 넣었습니다.
AliveTime은 60, 100, 200, 1000 등 다양하게 시도해 보았습니다.

[at+mqttset=PVT-HUB.azure-devices.net/Wizmega_test/api-version=2016-11-14,SharedAccessSignature](http://at+mqttset=PVT-HUB.azure-devices.net/Wizmega_test/api-version=2016-11-14,SharedAccessSignature) [sr=PVT-HUB.azure-devices.net](http://sr=PVT-HUB.azure-devices.net)%2Fdevices%2FWizmega_test&sig=KubreBcTmG5lntt414SeO8IbGi4lfiU8j0pKv%2Bf1HZU%3D&se=1535585475,Wizmega_test,60

그러나 마찬가지 현상을 보이는 것 같습니다.
지금 이 문제가 Azure 측의 문제인지, 사용 미숙이 문제인지, Device의 문제인지 파악이 어려운 것 같습니다.
도움주시면 감사하겠습니다.

이상입니다.
감사합니다.

임정세 드림.

### Reply 3 by wizdaniel, 2017-08-30

안녕하세요

위에 작성해주신 mqtt 정보를 바탕으로 mqtt 테스트 툴인 mqtt.fx로 테스트 해보았습니다.

그 결과, mqtt.fx 툴로도 azure mqtt에 접속하지 못하는 것으로 확인되었습니다…

username, password, client id가 맞다면, broker가 접속 가능한 상태인지도 확인부탁드립니다.

&lt;테스트 방법>

![](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/f/f53b710b6051c36402c12459e84bc73059eca5ed.png) [Instructables](https://www.instructables.com/Azure-IoT-Hub-Set-Up-MQTTfx-Sigfox-Callback-and-Dr/)

![](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/5/5175b372de03bcd8d93b12979dbd88538ff641ca.png)

### [Azure IoT Hub - Set Up MQTT.fx, Sigfox Callback and DragonBoard](https://www.instructables.com/Azure-IoT-Hub-Set-Up-MQTTfx-Sigfox-Callback-and-Dr/)

Azure IoT Hub - Set Up MQTT.fx, Sigfox Callback and DragonBoard: Connect, monitor and control millions of IoT devices using the Microsoft Azure IoT Hub, Sigfox Network and Qualcomm DragonBoard 410c. In this instructables you will se hot to configure...

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/1/1829e8bf332019f6afa2b5856ac01ccc6d5206d5.png) image715×501 8.35 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/1/1829e8bf332019f6afa2b5856ac01ccc6d5206d5.png)

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/2/26630a5f7b8583d30e23e987cee447056df59c89.png) image694×423 13.5 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/2/26630a5f7b8583d30e23e987cee447056df59c89.png)

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/1/12801006738619f13d026d199a2bdc590d66e1b5.png) image757×270 9.05 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/1/12801006738619f13d026d199a2bdc590d66e1b5.png)

### Reply 4 by yjs0064, 2017-08-30

안녕하세요, 답변 감사드립니다.

제가 해당 툴을 다운받아 설치하고 테스트 해 본 결과,

Connecting에 성공하였습니다.

아마 제가 이전에 올린 설정과 지금 상태에 변화가 있어 그런 듯 합니다.

올려주신 설정 중에 다른 부분만 알려드리겠습니다.

Client ID = Wizmega
User Name = [PVT-HUB.azure-devices.net/Wizmega/api-version=2016-11-14](http://PVT-HUB.azure-devices.net/Wizmega/api-version=2016-11-14)
Password = SharedAccessSignature [sr=PVT-HUB.azure-devices.net](http://sr=PVT-HUB.azure-devices.net)%2Fdevices%2FWizmega&sig=WQL0MIjpSRN%2BEQpMiS%2BkWtaBTm8kwOe3RNSiXr5ufaw%3D&se=1535590433

입니다.

위의 설정으로 테스트 해보신 뒤 피드백 주시기 바랍니다.
MQTT.fx 툴로 connecting에 성공했다면 이 문제를 어떻게 이해해야 할까요 ?

### Reply 5 by yjs0064, 2017-08-30

안녕하세요,
Azure에 IoT Hub 작업 모니터링 이라는 게 있는 것 같습니다.
Node.js를 설치하고 해당 프로그램을 설치하여 실행하고 로그인 하니 다음과 같은 것들이 올라옵니다.

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/9/97d7149078db09df55b8129e9791f296cff1c67a.png) image623×746 11.1 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/9/97d7149078db09df55b8129e9791f296cff1c67a.png)

ip를보면 Wizmega_test 는 제가 처음에 알려드렸던 정보로 wiznet사에서 접속을 시도하시는 것 같고,
제가 방금 디바이스ID를 하나 만들어서 시도하는 것이 Wizfi310_test 입니다.
두 디바이스 모두 접속을 못하고 있는 상태인 것 같습니다.

하지만 mqtt.fx로는 접속에 성공하는 것을 봤을 때 차이점을 찾아보니,
나머지는 모두 같은것 같은데 Wizfi310 디바이스 측에서는 mqtt.fx와 달리 SSL/TLS에 관한 설정은 없는 것 같습니다.
혹시 mqtt.fx의 Enable SSL/TLS 체크 박스, 혹은 Protocol이 TLS인지, SSL인지, 버전이 몇인지에 따라 상관이 있는걸까요?
그렇다면 Wizfi310에 퓨징되어있는 MQTT 프로토콜은 SSL.TLS와 관련한 버전이 무엇인지 궁금합니다.

그리고 위의 사진에서 보면 status 에 IoTHubUnauthorized 에 관련된 에러인것 같아서 이쪽이 더 의심이 가는 것 같습니다.
답변 부탁드립니다.

감사합니다.

### Reply 6 by yjs0064, 2017-08-30

안녕하세요,

MS에 문의해보니,

=================**==============

아래의 내용을 보면, 401 에러는 token 이 뭔가 잘못된 것으로 나옵니다. Expired 가 될 수도 있고, URI 나 method 가 잘못될 수 있다고 하니, 다시 생성을 받거나 사용법이 맞는지 확인이 필요해 보입니다.

[docs.microsoft.com](https://docs.microsoft.com/en-us/rest/api/iothub/common-error-codes)

![](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/0/0f05aa1294a274848a79f532a62e49fdce1bb536.png)

### [IoT Hub API common error codes](https://docs.microsoft.com/en-us/rest/api/iothub/common-error-codes)

Learn about the error codes that are common to the IoT Hub APIs.

401
The authorization token cannot be validated; for example, it is expired or does not apply to the request’s URI and/or method.
401 Unauthorized

*참조

[github.com](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/iot-hub/iot-hub-mqtt-support.md)

#### [MicrosoftDocs/azure-docs/blob/main/articles/iot-hub/iot-hub-mqtt-support.md](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/iot-hub/iot-hub-mqtt-support.md)

```
---
title: Understand Azure IoT Hub MQTT support | Microsoft Docs
description: Support for devices connecting to an IoT Hub device-facing endpoint using the MQTT protocol. Includes information about built-in MQTT support in the Azure IoT device SDKs.
author: kgremban
ms.service: iot-hub
services: iot-hub
ms.topic: conceptual
ms.date: 10/12/2018
ms.author: kgremban
ms.custom: [amqp, mqtt, 'Role: IoT Device', 'Role: Cloud Development', contperf-fy21q1, fasttrack-edit, iot]
---

# Communicate with your IoT hub using the MQTT protocol

IoT Hub enables devices to communicate with the IoT Hub device endpoints using:

* [MQTT v3.1.1](https://mqtt.org/) on port 8883
* MQTT v3.1.1 over WebSocket on port 443.

IoT Hub isn't a full-featured MQTT broker and doesn't support all the behaviors specified in the MQTT v3.1.1 standard. This article describes how devices can use supported MQTT behaviors to communicate with IoT Hub.
```

This file has been truncated. [show original](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/iot-hub/iot-hub-mqtt-support.md)

[docs.microsoft.com](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-security#use-sas-tokens-in-a-device-app)

![](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/0/0f05aa1294a274848a79f532a62e49fdce1bb536.png)

### [Access control and security for IoT Hub](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-security#use-sas-tokens-in-a-device-app)

Overview on how to control access to IoT Hub, includes links to depth articles on AAD integration and SAS options.

=================**==============

식으로 답변을 받았습니다.
그냥 봐서는 크게 잘못된 부분은 아직 못 찾았습니다.

제가 예전에 Wizfi310의 password부분을 입력받는 버퍼가 부족하여 device가 리셋되는 현상이 있으니 length를 늘려달라고 요청드렸고 그렇게 적용해 주셔서 버전 1.0.3.3에는 적용이 되었습니다.
지금 wifi에 접속된 뒤로는 at+mqttset과 at+mqttcon 이라는 명령으로 azure iot hub에 접속을 시도하고 있는데요,
혹시 at+mqttset 하는 부분에서 메모리에 들어가서 [OK]는 받았지만 at+mqttcon을 할 때 Azure로 온전히 전송되지 않는 부분이 있는 것은 아닐까요?

확인해 주시면 감사하겠습니다.

이상입니다.
감사합니다.

### Reply 7 by yjs0064, 2017-08-31

안녕하세요,

이전 글에서 device 에서 Azure로 송신하는 부분에서 문제가 발생하는 것 같다고 말씀드렸습니다.
확인해 볼 방법이 있을까 고민하다가 서버 측을 쉽게 모니터링 할 수 있는 HiveMQ를 이용해 보았습니다.

[![image](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/9/90fd50a66eebc5dade9c3a1c2021ecdb5b4fe439.png) image1906×998 132 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/9/90fd50a66eebc5dade9c3a1c2021ecdb5b4fe439.png)

사진을 보시면 토픽은 winet/wizfi310 으로 들어왔고
메시지에 at+mqttset 명령을 그대로 실어서 보내봤습니다.
이렇게 해보니 원래 at+mqttset=~ 명령은 총 269byte쯤 됩니다.

[at+mqttset=PVT-HUB.azure-devices.net/Wizfi310_test/api-version=2016-11-14,SharedAccessSignature](http://at+mqttset=PVT-HUB.azure-devices.net/Wizfi310_test/api-version=2016-11-14,SharedAccessSignature) [sr=PVT-HUB.azure-devices.net](http://sr=PVT-HUB.azure-devices.net)%2Fdevices%2FWizfi310_test%2Fapi-version%3D2016-11-14&sig=%2FwXDi5%2BW%2FKshGhubqZDNnzApOtSY7MQ%2B3gajvx%2Bnwj4%3D&se=1504941876,Wizfi310_test,60

하지만 송신된 명령 전체 byte는 250byte만 전송된 것을 확인할 수 있습니다.
제 생각에 프로그램이 250byte로 한정해 놓고 있는 것 같습니다.
혹시 전송되는 byte를 조금 늘리는 방향으로 wizfi310 펌웨어를 업데이트 해주실수 있으신지요.
이렇게 바뀌게 된다면 Azure 사용자도 Wizfi310으로 제품개발을 할 수 있을 것입니다.

검토 부탁드립니다.
감사합니다.

### Reply 8 by yjs0064, 2017-08-31

안녕하세요,

제가 가지고 있는 솔내시스템사의 PHPoC-Blue 라는 다른 디바이스는 현재 Iot hub에 접속이 되는 장치입니다.
이 장치의 password 부분을 일부러 몇개의 문자를 추가해서 다르게 설정했더니

[![test5](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/3/38dc207eb83b350e8cbc8f6efe1bd6126df82213.png) test51199×602 14.2 KB](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/3/38dc207eb83b350e8cbc8f6efe1bd6126df82213.png)

다음과 같이 iothub 모니터링에서 Wizmega에서 발생했던 오류와 동일한 오류메시지가 나왔습니다.

아마도 wizfi310의 tcp로 송수신하는 버퍼 사이즈가 azure password의 토큰 사이즈를 커버 못하는 게 아닐까 싶습니다.
또는 ssl 인증을 위한 수신 버퍼 사이즈가 부족할 수 도 있을 것 같습니다.

확인부탁 드립니다.
감사합니다.

### Reply 9 by irina, 2017-08-31

안녕하세요!!

우선, 저희 제품을 사용하여 주셔서 정말 감사합니다.

문의 주신 부분에 대해서 환경 구성과 테스트가 추가적으로 필요할 것 같습니다.

내일 중으로 환경 구성과 테스트를 완료하여 답변 드리도록하겠습니다.

감사합니다.

### Reply 10 by irina, 2017-09-01

안녕하세요,

말씀해주신 부분 체크 하여 답변 드립니다!

WizFi310 AT 커맨드 버퍼 및 MQTT 버퍼에서 Azure password 일부가 짤리는 현상을 발견하여 AT 커맨드 및 MQTT 버퍼 사이즈를 크게하였습니다.

이와 비슷한 문제로 데이터를 주고 받을 때 사용되는 Azure 토큰을 담는 버퍼 사이즈도 수정하였습니다.

메일 주소 기재해 주시면, 수정된 펌웨어 보내드리도록 하겠습니다.

감사합니다 !![:slight_smile:](https://emoji.discourse-cdn.com/twitter/slight_smile.png?v=12)

### Reply 11 by yjs0064, 2017-09-01

안녕하세요,

찾아주시고 수정해주셔서 감사드립니다.

jeongsae@janghan.co.kr 입니다.

감사합니다.

### Reply 12 by irina, 2017-09-01

안녕하세요,

저희 제품을 활용해 주셔서 감사합니다 ![:slight_smile:](https://emoji.discourse-cdn.com/twitter/slight_smile.png?v=12)

수정된 펌웨어 전달 드렸습니다.

감사합니다.

### Reply 13 by yjs0064, 2019-01-09

Azure 토큰을 담는 버퍼 사이즈는 1500byte로 수정 된 건가요 ?

---

Source: https://maker.wiznet.io/forum/12447
