赞
踩
1.在ESP8266_RTOS_SDK\components\aws_iot\aws-iot-device-sdk-embedded-C\include\aws_iot_shadow_interface.h中添加如下代码:
- typedef struct {
- ShadowConnectParameters_t scp;
- unsigned int magic;
- unsigned short topicLen;
- unsigned short msgLen;
- char topic[64];
- char msg[64];
- } HLE_ShadowConnectParameters_t;
-
- #define HLE_LAST_WILL_MSG "{\"state\":{\"reported\":{\"firmwave\":{\"connected\":\"false\",\"socket\":\"null\",\"usb\":\"null\"}}}}"
2.在ESP8266_RTOS_SDK\components\aws_iot\aws-iot-device-sdk-embedded-C\src\aws_iot_shadow.c中添加如下代码:
修改 函数 aws_iot_shadow_connect:
- #if 0 //HLE modify
- ConnectParams.isWillMsgPresent = false;
- #else
- typedef struct {
- unsigned int magic;
- unsigned short topicLen;
- unsigned short msgLen;
- char topic[64];
- char msg[64];
- } HLE_LASTWILL_PARA;
-
- HLE_LASTWILL_PARA* hlp = (HLE_LASTWILL_PARA*)((void*)pParams+sizeof(ShadowConnectParameters_t));
- if(hlp->magic == 0x19750521)
- {
- ConnectParams.isWillMsgPresent = true;
- ConnectParams.will = iotMqttWillOptionsDefault;
- ConnectParams.will.pTopicName = hlp->topic;
- ConnectParams.will.topicNameLen = hlp->topicLen;
- ConnectParams.will.pMessage = hlp->msg;
- ConnectParams.will.msgLen = hlp->msgLen;
- ConnectParams.keepAliveIntervalInSec = 10;//30;
- }
- else
- {
- ConnectParams.isWillMsgPresent = false;
- }
-
- #endif
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。