2016-03-22 1 views
1

私はcollect-viewについて質問があります。他のアプリケーションでも収集ビューを使用できますか?私はcoojaでいくつかのアプリケーションをシミュレートし、ネットワークマップ、ETXなどのネットワークに関する情報を収集したいと考えています。自分のアプリケーションに関する情報を収集するために収集ビューを使用するにはどうすればよいですか?感謝! ありがとう!私のアプリケーションでCoojaでcollect-viewを使う方法

答えて

0

あなたはそれがcollect-view-z1.cでZ1をモテのためにどのように行われるかの例をチェックし、collect_view_arch_read_sensorsを再定義することによって収集によって送信されるように、独自の情報を追加することができますapps/collect-viewでまたはアプリケーション内:

#include "collect-view.h" 
#include "cc2420.h" 
#include "dev/leds.h" 
#include "dev/i2cmaster.h" 
#include "dev/tmp102.h" 

#include "collect-view-z1.h" 

/*---------------------------------------------------------------------------*/ 
static uint16_t 
get_temp() 
{ 
    /* XXX Fix me: check /examples/z1/test-tmp102.c for correct conversion */ 
    return (uint16_t)tmp102_read_temp_raw(); 
} 
/*---------------------------------------------------------------------------*/ 
void 
collect_view_arch_read_sensors(struct collect_view_data_msg *msg) 
{ 
    static int initialized = 0; 

    if(!initialized) { 
    tmp102_init(); 
    initialized = 1; 
    } 

    msg->sensors[BATTERY_VOLTAGE_SENSOR] = 0; 
    msg->sensors[BATTERY_INDICATOR] = 0; 
    msg->sensors[LIGHT1_SENSOR] = 0; 
    msg->sensors[LIGHT2_SENSOR] = 0; 
    msg->sensors[TEMP_SENSOR] = get_temp(); 
    msg->sensors[HUMIDITY_SENSOR] = 0; 
} 

ていることに注意してくださいアプリケーションからcollect_view_construct_message(...)を呼び出すと、がcollect-view.cによって呼び出されます。これは、examples/ipv6/rpl-collect/udp-sender.c例で行われます:

/* Collect structure */ 
struct { 
    uint8_t seqno; 
    uint8_t for_alignment; 
    struct collect_view_data_msg msg; 
    } msg; 

/* Create the collect structure */ 
collect_view_construct_message(&msg.msg, &parent, 
           parent_etx, rtmetric, 
           num_neighbors, beacon_interval); 

/* Send over UDP */ 
uip_udp_packet_sendto(client_conn, &msg, sizeof(msg), 
         &server_ipaddr, UIP_HTONS(UDP_SERVER_PORT)); 
+0

コメントありがとうございます! –

+0

あなたのコメントをありがとう! 'sender.c sink.c'と' collect-view.c'について、私はそれらを読みました。さて、私は2つの質問があります:まず、 'collect_view_construct_message(...)'はそれらの情報を収集ビューにどのように配信し、収集ビューGUIで表示するのですか? 2番目の 'sender.c'では、' collect_common_send() 'が再定義されていることがわかります。しかし、 'sink.c'では、この関数にコードはありません。だから私は受け取った情報を処理するためにシンクしません。 '無効 collect_common_send(無効) ' はどうもありがとうございました{ /*サーバは、*/ を送信することはありません}! –

関連する問題