From 008fd11b590f671c5093ef73dd9b08f4eb488aa1 Mon Sep 17 00:00:00 2001 From: Tuan PM Date: Wed, 14 Jan 2015 09:14:13 +0700 Subject: [PATCH] fixes #24, resolved #25 --- README.md | 14 ++++++-------- user/mqtt.c | 14 +++++++------- user/proto.c | 2 +- user/user_main.c | 10 ++++------ 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 42d4c4f..fa30faf 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,10 @@ void mqttConnectedCb(uint32_t *args) { MQTT_Client* client = (MQTT_Client*)args; INFO("MQTT: Connected\r\n"); - MQTT_Subscribe(&mqttClient, "/mqtt/topic/1", 0); - MQTT_Subscribe(&mqttClient, "/mqtt/topic/2", 0); - MQTT_Publish(client, "/mqtt/topic/2", "hello", 5, 0, 0); - MQTT_Publish(client, "/mqtt/topic/1", "hello2", 6, 0, 0); - + MQTT_Subscribe(client, "/mqtt/topic/1", 0); + MQTT_Subscribe(client, "/mqtt/topic/2", 0); + MQTT_Publish(client, "/mqtt/topic/2", "hello2", 6, 0, 0); + MQTT_Publish(client, "/mqtt/topic/1", "hello1", 6, 0, 0); } void mqttDisconnectedCb(uint32_t *args) @@ -66,7 +65,6 @@ void mqttDataCb(uint32_t *args, const char* topic, uint32_t topic_len, const cha dataBuf[data_len] = 0; INFO("MQTT topic: %s, data: %s \r\n", topicBuf, dataBuf); - } @@ -133,7 +131,7 @@ var ascoltatore = { }; var moscaSettings = { - port: 8440, + port: 1880, stats: false, backend: ascoltatore, persistence: { @@ -143,7 +141,7 @@ var moscaSettings = { secure : { keyPath: SECURE_KEY, certPath: SECURE_CERT, - port: 8443 + port: 1883 } }; diff --git a/user/mqtt.c b/user/mqtt.c index ec9f866..c17d19a 100644 --- a/user/mqtt.c +++ b/user/mqtt.c @@ -363,11 +363,12 @@ MQTT_Publish(MQTT_Client *client, const char* topic, const char* data, int data_ { mqtt_message_t* outbound_message; - INFO("MQTT: queuing publish...\r\n"); + outbound_message = mqtt_msg_publish(&client->mqtt_state.mqtt_connection, topic, data, data_length, qos, retain, &client->mqtt_state.pending_msg_id); + INFO("MQTT: queuing publish, length: %d...\r\n", outbound_message->length); if(QUEUE_Puts(&client->msgQueue, outbound_message->data, outbound_message->length) == -1){ INFO("MQTT: Exceed the amount of queues\r\n"); return FALSE; @@ -399,8 +400,8 @@ void ICACHE_FLASH_ATTR MQTT_Task(os_event_t *e) { MQTT_Client* client = (MQTT_Client*)e->par; - uint8_t topic[64]; - + uint8_t dataBuffer[MQTT_BUF_SIZE]; + uint16_t dataLen; switch(client->connState){ case TCP_RECONNECT_REQ: @@ -411,7 +412,6 @@ MQTT_Task(os_event_t *e) client->connState = TCP_CONNECTING; break; case MQTT_CONNECT_SEND: - mqtt_msg_init(&client->mqtt_state.mqtt_connection, client->mqtt_state.out_buffer, client->mqtt_state.out_buffer_length); client->mqtt_state.outbound_message = mqtt_msg_connect(&client->mqtt_state.mqtt_connection, client->mqtt_state.connect_info); if(client->security){ @@ -428,13 +428,13 @@ MQTT_Task(os_event_t *e) break; case MQTT_DATA: - if(QUEUE_Gets(&client->msgQueue, client->mqtt_state.mqtt_connection.buffer, &client->mqtt_state.mqtt_connection.buffer_length, MQTT_BUF_SIZE) == 0){ + if(QUEUE_Gets(&client->msgQueue, dataBuffer, &dataLen, MQTT_BUF_SIZE) == 0){ INFO("MQTT: Sending..\r\n"); if(client->security){ - espconn_secure_sent(client->pCon, client->mqtt_state.mqtt_connection.buffer, client->mqtt_state.mqtt_connection.buffer_length); + espconn_secure_sent(client->pCon, dataBuffer, dataLen); } else{ - espconn_sent(client->pCon, client->mqtt_state.mqtt_connection.buffer, client->mqtt_state.mqtt_connection.buffer_length); + espconn_sent(client->pCon, dataBuffer, dataLen); } client->mqtt_state.outbound_message = NULL; diff --git a/user/proto.c b/user/proto.c index 5673da0..898f479 100644 --- a/user/proto.c +++ b/user/proto.c @@ -106,7 +106,6 @@ I16 PROTO_Add(U8 *buf, const U8 *packet, I16 bufSize) I16 PROTO_AddRb(RINGBUF *rb, const U8 *packet, I16 len) { U16 i = 2; - if(RINGBUF_Put(rb, 0x7E) == -1) return -1; while (len--) { switch (*packet) { @@ -124,6 +123,7 @@ I16 PROTO_AddRb(RINGBUF *rb, const U8 *packet, I16 len) } } if(RINGBUF_Put(rb, 0x7F) == -1) return -1; + return i; } diff --git a/user/user_main.c b/user/user_main.c index 83f5257..5c9722d 100644 --- a/user/user_main.c +++ b/user/user_main.c @@ -49,11 +49,10 @@ void mqttConnectedCb(uint32_t *args) { MQTT_Client* client = (MQTT_Client*)args; INFO("MQTT: Connected\r\n"); - MQTT_Subscribe(&mqttClient, "/mqtt/topic/1", 0); - MQTT_Subscribe(&mqttClient, "/mqtt/topic/2", 0); - MQTT_Publish(client, "/mqtt/topic/2", "hello", 5, 0, 0); - MQTT_Publish(client, "/mqtt/topic/1", "hello2", 6, 0, 0); - + MQTT_Subscribe(client, "/mqtt/topic/1", 0); + MQTT_Subscribe(client, "/mqtt/topic/2", 0); + MQTT_Publish(client, "/mqtt/topic/2", "hello2", 6, 0, 0); + MQTT_Publish(client, "/mqtt/topic/1", "hello1", 6, 0, 0); } void mqttDisconnectedCb(uint32_t *args) @@ -80,7 +79,6 @@ void mqttDataCb(uint32_t *args, const char* topic, uint32_t topic_len, const cha dataBuf[data_len] = 0; INFO("MQTT topic: %s, data: %s \r\n", topicBuf, dataBuf); - }