static void send_data(void) { char buf[MAX_PAYLOAD_LEN]; if (init_buffer(COAP_DATA_BUFF_SIZE)) { int data_size = 0; coap_packet_t* request = (coap_packet_t*)allocate_buffer(sizeof(coap_packet_t)); init_packet(request); coap_set_method(request, COAP_POST); request->tid = xact_id++; request->type = MESSAGE_TYPE_NON; coap_set_header_uri(request, service_url); data_size = serialize_packet(request, buf); // PRINTF("Client sending request to:["); // PRINT6ADDR(&client_conn->ripaddr); // PRINTF("]:%u/%s\n", (uint16_t)REMOTE_PORT, service_urls[service_id]); uip_udp_packet_send(client_conn, buf, data_size); delete_buffer(); } }
static void send_data() { int data_size = 0; static unsigned temperature; temperature = 21; clear_buffer(outputBuffer); clear_buffer(payload_buf); generate_payload(payload_buf,temperature); if(init_buffer(COAP_DATA_BUFF_SIZE)){ coap_packet_t* request =\ (coap_packet_t*)allocate_buffer(sizeof(coap_packet_t)); init_packet(request); coap_set_method(request, COAP_POST); request->tid = xact_id++; request->type = MESSAGE_TYPE_CON; coap_set_header_uri(request,service_uri); coap_set_option(request, Option_Type_Uri_Host, sizeof(char)*strlen(server_ip), (uint8_t*)server_ip); coap_set_option(request, Option_Type_Proxy_Uri, sizeof(char)*strlen(proxy_uri), (uint8_t*)proxy_uri); coap_set_payload(request,(uint8_t*)payload_buf, sizeof(char)*strlen(payload_buf)); data_size = serialize_packet(request, (uint8_t*)outputBuffer); PRINTF("Now sending request to base station ["); PRINTF(&client_conn->ripaddr); PRINTF("]:%u/%s\n",REMOTE_PORT,service_uri); uip_udp_packet_send(client_conn, outputBuffer, data_size); delete_buffer(); } }
void rest_set_method_type(REQUEST* request, method_t method) { coap_set_method(request, rest_to_coap_method(method)); }