工业互联项目2MQTT未能连上ONENET
想请教各位大佬还有韦老师的团队,使用工业互联项目2的MQTT代码,修改了一下,想连接ONENET,发现TCP连接成功,MQTT连接不成功,使用MQTTX连接是可以的,想问一下这是因为什么呢
static void test1(void)
{
int subsqos = 2;
Network n;
MQTTClient c;
int rc = 0;
char* sub_topic = "/topic/humiture";
char* pub_topic = "/topic/temp";
MQTTPacket_willOptions wopts;
unsigned char buf[100];
unsigned char readbuf[100];
char pubbuf[100];
int cnt = 0;
int wait_seconds;
MQTTMessage pubmsg;
NetworkInit(&n);
while (0 != NetworkConnect(&n, PC_MQTT_BROKER_IP, PC_MQTT_BROKER_PORT))
{
Draw_String(0, 64, "Re-Connect TCP/Port ...", 0xff0000, 0);
vTaskDelay(100);
}
MQTTClientInit(&c, &n, 1000, buf, 100, readbuf, 100);
MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
data.willFlag = 1;
data.clientID.cstring = "D002";
data.username.cstring = "0rlC49Jgo9";
data.password.cstring = "version=2018-10-31&res=products%2F0rlC49Jgo9%2Fdevices%2FD002&et=2062765366&method=md5&sign=LKgcZlCsWec2g7QHvCzZrw%3D%3D";
data.keepAliveInterval = 20;
data.cleansession = 1;
data.will.message.cstring = "will message";
data.will.qos = 1;
data.will.retained = 0;
data.will.topicName.cstring = "will topic";
data.MQTTVersion = 3;
Draw_String(0, 80, "Connect MQTT Broker ...", 0xff0000, 0);
while (SUCCESS != MQTTConnect(&c, &data))
{
Draw_String(0, 96, "Re-Connect MQTT Broker ...", 0xff0000, 0);
}
Draw_String(0, 96, "MQTTSubscribe ...", 0xff0000, 0);
rc = MQTTSubscribe(&c, sub_topic, subsqos, messageArrived);
while (1)
{
memset(&pubmsg, '\0', sizeof(pubmsg));
sprintf(pubbuf, "msg from H5, %d", cnt++);
pubmsg.payload = pubbuf;
pubmsg.payloadlen = strlen(pubbuf);
pubmsg.qos = 0;
pubmsg.retained = 0;
pubmsg.dup = 0;
Draw_String(0, 112, pubbuf, 0xff0000, 0);
rc = MQTTPublish(&c, pub_topic, &pubmsg);
/* wait for the message to be received */
wait_seconds = 10;
while (wait_seconds-- > 0)
{
MQTTYield(&c, 100);
}
}
}