我正在使用Cooja中的if let index = MenuViewController.subjectsArray.indexOf("Matematica") {
self.subjectsMenu.selectRow(index, inComponent: 0, animated: true)
}
和upd-sink.c
udp-sender.c
路径示例。我希望发送方mote将其传感器数据发送到接收器。在contiki/examples/ipv6/rpl-collect
代码中,有一个名为udp-sender.c
的{{1}},此struct
有一个名为msg
的数据字段,类型为struct
。我想把我的阅读传感器放在msg中并发送到接收器。我该怎么做?我有一个感应温度的程序。我想将msg
变量作为按钮发送到接收器。我想在Cooja中模拟这个网络。
传感器程序:
struct collect_view_data_msg
s
计划的功能PROCESS(sensor_acq_process,"Sensor Acquisition");
AUTOSTART_PROCESSES(&sensor_acq_process);
PROCESS_THREAD(sensor_acq_process,ev,data)
{
static struct etimer et;
static int val;
static float s = 0;
static int dec;
static float frac;
PROCESS_BEGIN();
printf("Starting Sensor Example.\n");
while(1)
{
etimer_set(&et, CLOCK_SECOND * 2);
SENSORS_ACTIVATE(sht11_sensor);
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et));
val = sht11_sensor.value(SHT11_SENSOR_TEMP);
if(val != -1)
{
s = ((0.01*val) - 39.60);
dec = s;
frac = s - dec;
printf("\nTemperature=%d.%02u C (%d)\n", dec, (unsigned int)(frac * 100),val);
}
etimer_reset(&et);
SENSORS_DEACTIVATE(light_sensor);
SENSORS_DEACTIVATE(sht11_sensor);
} //end of while
PROCESS_END();
}
:
collect-common-send
答案 0 :(得分:0)
您在Cooja中使用哪个平台? (最有可能是sky
。)
sky
,则传感器读数已包含在收集视图消息中。如果不是,则可以使用apps/collect-view/
作为基础,轻松扩展collect-view-template.c
下的收集视图代码。struct collect_view_data_msg
char
数组中创建新字段,以及{ {1}}该字段中传感器的值。作为次要评论,不需要此代码:
snprintf
如上所述,SENSORS_ACTIVATE(sht11_sensor);
msg.msg->sensors[TEMP_SENSOR] = sht11_sensor.value(SHT11_SENSOR_TEMP);
...
SENSORS_DEACTIVATE(sht11_sensor);
已经被阅读并包含在收集视图应用中的消息中。