denk dat het nu werkt, maar ik kan niet testen :(
This commit is contained in:
		
							parent
							
								
									24ccf86b7c
								
							
						
					
					
						commit
						7b722b8992
					
				
							
								
								
									
										60
									
								
								src/mqtt.c
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								src/mqtt.c
									
									
									
									
									
								
							| @ -1,43 +1,16 @@ | |||||||
| #include "mqtt/mqtt.h" | #include "mqtt/mqtt.h" | ||||||
| 
 | 
 | ||||||
| void MQTTTask(void * args){ | void MQTTTask(void* args){ | ||||||
|   mq_attr attr; |   mq_attr attr; | ||||||
|   Timer_Params params; |  | ||||||
|   // UART_Handle uartHandle;
 |  | ||||||
|   MQTTClient_Handle mqttClientHandle; |   MQTTClient_Handle mqttClientHandle; | ||||||
| 
 | 
 | ||||||
|   // uartHandle = InitTerm();
 |  | ||||||
|   // UART_control(uartHandle, UART_CMD_RXDISABLE, NULL);
 |  | ||||||
| 
 |  | ||||||
|   // GPIO_init();
 |  | ||||||
|   SPI_init(); |   SPI_init(); | ||||||
|   // Timer_init();
 |  | ||||||
| 
 | 
 | ||||||
|   int32_t ret = ti_net_SlNet_initConfig(); |   int32_t ret = ti_net_SlNet_initConfig(); | ||||||
|   if(0 != ret) |   if(0 != ret) | ||||||
|   { |   { | ||||||
|     LOG_ERROR("Failed to initialize SlNetSock\n\r"); |     LOG_ERROR("Failed to initialize SlNetSock\n\r"); | ||||||
|   } |   } | ||||||
|   // GPIO_write(CONFIG_GPIO_LED_0, CONFIG_GPIO_LED_OFF);
 |  | ||||||
|   // GPIO_write(CONFIG_GPIO_LED_1, CONFIG_GPIO_LED_OFF);
 |  | ||||||
|   // GPIO_write(CONFIG_GPIO_LED_2, CONFIG_GPIO_LED_OFF);
 |  | ||||||
| 
 |  | ||||||
|   // GPIO_setCallback(CONFIG_GPIO_BUTTON_0, pushButtonPublishHandler);
 |  | ||||||
|   // GPIO_setCallback(CONFIG_GPIO_BUTTON_1, pushButtonConnectionHandler);
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   // configuring the timer to toggle an LED until the AP is connected
 |  | ||||||
|   // Timer_Params_init(¶ms);
 |  | ||||||
|   // params.period = 1000000;
 |  | ||||||
|   // params.periodUnits = Timer_PERIOD_US;
 |  | ||||||
|   // params.timerMode = Timer_CONTINUOUS_CALLBACK;
 |  | ||||||
|   // params.timerCallback = (Timer_CallBackFxn)timerLEDCallback;
 |  | ||||||
| 
 |  | ||||||
|   // timer0 = Timer_open(CONFIG_TIMER_0, ¶ms);
 |  | ||||||
|   // if (timer0 == NULL) {
 |  | ||||||
|   //   LOG_ERROR("failed to initialize timer\r\n");
 |  | ||||||
|   //   while(1);
 |  | ||||||
|   // }
 |  | ||||||
| 
 | 
 | ||||||
|   attr.mq_maxmsg = 10; |   attr.mq_maxmsg = 10; | ||||||
|   attr.mq_msgsize = sizeof(struct msgQueue); |   attr.mq_msgsize = sizeof(struct msgQueue); | ||||||
| @ -51,23 +24,6 @@ void MQTTTask(void * args){ | |||||||
|     while(1); |     while(1); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // GPIO_write(CONFIG_GPIO_LED_0, CONFIG_GPIO_LED_OFF);
 |  | ||||||
|   // GPIO_write(CONFIG_GPIO_LED_1, CONFIG_GPIO_LED_OFF);
 |  | ||||||
|   // GPIO_write(CONFIG_GPIO_LED_2, CONFIG_GPIO_LED_OFF);
 |  | ||||||
| 
 |  | ||||||
|   // params.period = 1500000;
 |  | ||||||
|   // params.periodUnits = Timer_PERIOD_US;
 |  | ||||||
|   // params.timerMode = Timer_ONESHOT_CALLBACK;
 |  | ||||||
|   // params.timerCallback = (Timer_CallBackFxn)timerCallback;
 |  | ||||||
| 
 |  | ||||||
|   // timer0 = Timer_open(CONFIG_TIMER_0, ¶ms);
 |  | ||||||
|   // if (timer0 == NULL) {
 |  | ||||||
|   //   LOG_ERROR("failed to initialize timer\r\n");
 |  | ||||||
|   //   while(1);
 |  | ||||||
|   // }
 |  | ||||||
| 
 |  | ||||||
| // MQTT_DEMO:
 |  | ||||||
| 
 |  | ||||||
|   ret = MQTT_IF_Init(mqttInitParams); |   ret = MQTT_IF_Init(mqttInitParams); | ||||||
|   if(ret < 0){ |   if(ret < 0){ | ||||||
|     while(1); |     while(1); | ||||||
| @ -79,10 +35,10 @@ void MQTTTask(void * args){ | |||||||
|     * messages for the client, after CONNACK the client may receive the messages before the module is aware |     * messages for the client, after CONNACK the client may receive the messages before the module is aware | ||||||
|     * of the topic callbacks. The user may still call subscribe after connect but have to be aware of this. |     * of the topic callbacks. The user may still call subscribe after connect but have to be aware of this. | ||||||
|     */ |     */ | ||||||
|   ret = MQTT_IF_Subscribe(mqttClientHandle, "Broker/To/cc32xx", MQTT_QOS_2, BrokerCB); | //  ret = MQTT_IF_Subscribe(mqttClientHandle, "Broker/To/cc32xx", MQTT_QOS_2, BrokerCB);
 | ||||||
|   ret |= MQTT_IF_Subscribe(mqttClientHandle, "cc32xx/ToggleLED1", MQTT_QOS_2, ToggleLED1CB); | //  ret |= MQTT_IF_Subscribe(mqttClientHandle, "cc32xx/ToggleLED1", MQTT_QOS_2, ToggleLED1CB);
 | ||||||
|   ret |= MQTT_IF_Subscribe(mqttClientHandle, "cc32xx/ToggleLED2", MQTT_QOS_2, ToggleLED2CB); | //  ret |= MQTT_IF_Subscribe(mqttClientHandle, "cc32xx/ToggleLED2", MQTT_QOS_2, ToggleLED2CB);
 | ||||||
|   ret |= MQTT_IF_Subscribe(mqttClientHandle, "cc32xx/ToggleLED3", MQTT_QOS_2, ToggleLED3CB); | //  ret |= MQTT_IF_Subscribe(mqttClientHandle, "cc32xx/ToggleLED3", MQTT_QOS_2, ToggleLED3CB);
 | ||||||
|   if(ret < 0){ |   if(ret < 0){ | ||||||
|     while(1); |     while(1); | ||||||
|   } |   } | ||||||
| @ -98,8 +54,6 @@ void MQTTTask(void * args){ | |||||||
|   // wait for CONNACK
 |   // wait for CONNACK
 | ||||||
|   while(connected == 0); |   while(connected == 0); | ||||||
| 
 | 
 | ||||||
|   // GPIO_enableInt(CONFIG_GPIO_BUTTON_0);
 |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
|   struct msgQueue queueElement; |   struct msgQueue queueElement; | ||||||
|   while(1){ |   while(1){ | ||||||
| @ -124,12 +78,12 @@ void MQTTTask(void * args){ | |||||||
|       if(connected){ |       if(connected){ | ||||||
|         ret = MQTT_IF_Disconnect(mqttClientHandle); |         ret = MQTT_IF_Disconnect(mqttClientHandle); | ||||||
|         if(ret >= 0){ |         if(ret >= 0){ | ||||||
|           connected = 0; |           connected = false; | ||||||
|         } |         } | ||||||
|       }else{ |       }else{ | ||||||
|         mqttClientHandle = MQTT_IF_Connect(mqttClientParams, mqttConnParams, MQTT_EventCallback); |         mqttClientHandle = MQTT_IF_Connect(mqttClientParams, mqttConnParams, MQTT_EventCallback); | ||||||
|         if((int)mqttClientHandle >= 0){ |         if((int)mqttClientHandle >= 0){ | ||||||
|           connected = 1; |           connected = true; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -1,4 +1,12 @@ | |||||||
| #include "./mqtt_if.h" | #include "mqtt_if.h" | ||||||
|  | 
 | ||||||
|  | #include <pthread.h> | ||||||
|  | #include <unistd.h> | ||||||
|  | #include <mqueue.h> | ||||||
|  | 
 | ||||||
|  | #include <ti/drivers/SPI.h> | ||||||
|  | 
 | ||||||
|  | #include <ti/net/mqtt/mqttclient.h> | ||||||
| 
 | 
 | ||||||
| // #define SL_TASKSTACKSIZE            2048
 | // #define SL_TASKSTACKSIZE            2048
 | ||||||
| // #define SPAWN_TASK_PRIORITY         9
 | // #define SPAWN_TASK_PRIORITY         9
 | ||||||
| @ -25,7 +33,7 @@ | |||||||
| mqd_t appQueue; | mqd_t appQueue; | ||||||
| int connected; | int connected; | ||||||
| int deinit; | int deinit; | ||||||
| Timer_Handle timer0; | //Timer_Handle timer0;
 | ||||||
| int longPress = 0; | int longPress = 0; | ||||||
| 
 | 
 | ||||||
| /* Client ID                                                                 */ | /* Client ID                                                                 */ | ||||||
| @ -46,11 +54,11 @@ struct msgQueue | |||||||
|   char* payload; |   char* payload; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| // MQTT_IF_InitParams_t mqttInitParams =
 |  MQTT_IF_InitParams_t mqttInitParams = | ||||||
| // {
 |  { | ||||||
| //   MQTT_MODULE_TASK_STACK_SIZE,   // stack size for mqtt module - default is 2048
 |    2048,   // stack size for mqtt module - default is 2048
 | ||||||
| //   MQTT_MODULE_TASK_PRIORITY      // thread priority for MQTT   - default is 2
 |    2       // thread priority for MQTT   - default is 2
 | ||||||
| // };
 |  }; | ||||||
| 
 | 
 | ||||||
| MQTTClient_Will mqttWillParams = | MQTTClient_Will mqttWillParams = | ||||||
| { | { | ||||||
| @ -81,4 +89,40 @@ MQTTClient_ConnParams mqttConnParams = | |||||||
|      0,                             // cipher for secure socket
 |      0,                             // cipher for secure socket
 | ||||||
|      0,                             // number of files for secure connection
 |      0,                             // number of files for secure connection
 | ||||||
|      NULL                           // secure files
 |      NULL                           // secure files
 | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | void MQTT_EventCallback(int32_t event){ | ||||||
|  |     struct msgQueue queueElement; | ||||||
|  |     switch(event){ | ||||||
|  |         case MQTT_EVENT_CONNACK: | ||||||
|  |             deinit = 0; | ||||||
|  |             connected = true; | ||||||
|  |             LOG_INFO("MQTT_EVENT_CONNACK\r\n"); | ||||||
|  |             break; | ||||||
|  |         case MQTT_EVENT_SUBACK: | ||||||
|  |             LOG_INFO("MQTT_EVENT_SUBACK\r\n"); | ||||||
|  |             break; | ||||||
|  |         case MQTT_EVENT_PUBACK: | ||||||
|  |             LOG_INFO("MQTT_EVENT_PUBACK\r\n"); | ||||||
|  |             break; | ||||||
|  |         case MQTT_EVENT_UNSUBACK: | ||||||
|  |             LOG_INFO("MQTT_EVENT_UNSUBACK\r\n"); | ||||||
|  |             break; | ||||||
|  |         case MQTT_EVENT_CLIENT_DISCONNECT: | ||||||
|  |             connected = false; | ||||||
|  |             LOG_INFO("MQTT_EVENT_CLIENT_DISCONNECT\r\n"); | ||||||
|  |             break; | ||||||
|  |         case MQTT_EVENT_SERVER_DISCONNECT: | ||||||
|  |             connected = false; | ||||||
|  |             LOG_INFO("MQTT_EVENT_SERVER_DISCONNECT\r\n"); | ||||||
|  |             queueElement.event = APP_MQTT_CON_TOGGLE; | ||||||
|  |             int res = mq_send(appQueue, (const char*)&queueElement, sizeof(struct msgQueue), 0); | ||||||
|  |             if(res < 0){ | ||||||
|  |                 LOG_ERROR("msg queue send error %d", res); | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |         case MQTT_EVENT_DESTROY: | ||||||
|  |             LOG_INFO("MQTT_EVENT_DESTROY\r\n"); | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user