2016-04-01 44 views
1

我一直在嘗試過去幾天通過基站訪問各個節點,但我一直不走運。我在基站(unicast-receiver.c)和感知節點(unicast-sender.c)上嘗試了以下內容:首先,我嘗試在單播發送器上創建一個RPL dag,並從單播接收器使用Z1 motes - 基站和傳感節點之間的通信

address= servreg_hack_lookup(SERVICE_ID_1) 

然後

simple_udp_sendto(&unicast_connection, msg.value, 1, address) 

,但它給了我一個完全不同的地址,而不是傳感節點的地址,因此它沒有工作。

無論如何,我試圖刪除RPL DAG,但後來我找不到一種方法來硬編碼感測節點的地址。

如果我至少可以對傳感節點的地址進行硬編碼,並使用simple_udp_sendto函數與傳感節點進行通信,那麼這可能會起作用,但怎麼做呢? (編輯)我還沒有能夠發送一個字節到遠程z1 mote,我不認爲這將有助於獲得只有地址,因爲感應節點應該期待的東西,如果我會發送它。但是,在這種情況下,我該如何發送?

回答

1

是解決問題所需要的唯一的事情就是使用

uip_ipaddr_t addr; 
uip_ip6addr(&addr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); // or whatever is the values for your node 

得到節點的地址,然後使用任何簡單的UDP發送功能發送數據。

simple_udp_sendto_custom(&unicast_connection, msg.value, 1, &addr); // this is my own custom function, 
//but any other should do the same thing provided the address