0

我正在尝试使用 MQTT-Rime 网关构建 MQTT-SN。我成功地使用串行套接字将传感器数据发送到网关,但我的网关也必须向微尘发送一些数据。我的问题是我不知道如何从 mote 中的套接字读取数据。有人可以帮助我吗?

4

1 回答 1

0

如果输入数据是以换行符结尾的 ASCII,则可以使用串行线路接口

 #include "contiki.h"
 #include "dev/serial-line.h"
 #include <stdio.h>

 PROCESS(test_serial, "Serial line test process");
 AUTOSTART_PROCESSES(&test_serial);

 PROCESS_THREAD(test_serial, ev, data)
 {
   PROCESS_BEGIN();

   for(;;) {
     PROCESS_YIELD();
     if(ev == serial_line_event_message) {
       printf("received line: %s\n", (char *)data);
     }
   }
   PROCESS_END();
 }

如果数据是二进制的,则需要定义自己的回调函数:

int binary_input_byte(unsigned char c) {
   // ...
}

然后将此设置为串行接口回调(uart0在这里使用,您需要使用的确切名称取决于平台):

uart0_set_input(binary_input_byte);
于 2018-05-21T10:26:56.030 回答