使用示例

**使用示例** ``` char MQTT_IP[] = "183.230.40.39"; /* onenet MQTT IP地址 */ int MQTT_PORT = 6002; /* onenet MQTT 端口号 */ char MQTTCLIENT_ID[] = "600324264"; /* onenet 设备ID */ char MQTTUSERNAME[] = "324875"; /* onenet 产品ID 600324264*/ char MQTTPASSWORD[] = "hT=wtearqIsmztZ=S5CN4ttqOig="; /* onenet 设备鉴权 APIKey 信息 */ char MQTT_SUB_TOPIC[] = "mqtt/sample/#"; char MQTT_PUB_TOPIC[] = "mqtt/sample/mifi"; Network network; MQTTClient mqtt_client; MQTTPacket_connectData connectData = MQTTPacket_connectData_initializer; unsigned char sendBuf[128],readBuf[128]; int rc = 0,count = 0; /*function for message arrive*/ void messageArrived(MessageData* data) { printf("Recv by topic:%.*s message:%.*s \n",data->topicName->lenstring.len,data->topicName->lenstring.data,data->message->payloadlen,data->message->payload); } NetworkInit(&network); MQTTClientInit(&mqtt_client,&network,30000,sendBuf,sizeof(sendBuf),readBuf,sizeof(readBuf)); char* address = MQTT_IP; if ((rc = NetworkConnect(&network, address, MQTT_PORT)) != 0) { printf("Return code from network connect is %d\n", rc); }else{ printf("NetworkConnect Connected\n"); } /** * Version of MQTT to be used. 3 = 3.1 4 = 3.1.1 */ connectData.MQTTVersion = 4; connectData.clientID.cstring = MQTTCLIENT_ID; connectData.username.cstring = MQTTUSERNAME; connectData.password.cstring = MQTTPASSWORD; if((rc = MQTTConnect(&mqtt_client,&connectData)) != 0) { printf("Return code from Mqtt connect is %d\n",rc); } else { printf("Mqtt connected\n"); } if((rc = MQTTSubscribe(&mqtt_client,MQTT_SUB_TOPIC,2,messageArrived)) != 0) { printf("Return code from Mqtt subcribe is %d\n",rc); } message.qos = 1; message.retained = 0; message.payload = payload; sprintf(payload, "message number %d", count); message.payloadlen = strlen(payload); if ((rc = MQTTPublish(&mqtt_client, MQTT_PUB_TOPIC, &message)) != 0) printf("Return code from MQTT publish is %d\n", rc); MQTTDisconnect(&client) ```