过去几天我一直试图通过基站访问各个节点但我运气不好。我在基站(unicast-receiver.c)和感知节点(unicast-sender.c)上尝试了以下内容
首先,我尝试在单播发送方上创建一个RPL dag并使用
从单播接收方跟踪它address= servreg_hack_lookup(SERVICE_ID_1)
然后
simple_udp_sendto(&unicast_connection, msg.value, 1, address)
但它给了我一个完全不同的地址而不是传感节点的地址,因此它不起作用。
无论如何,我试图移除RPL dag,但后来我找不到一种硬编码传感节点地址的方法。
如果我至少可以硬编码传感节点的地址并使用simple_udp_sendto(& unicast_connection,msg.value,1,address)函数与传感节点进行通信,那么这可能有效,但是怎么做呢?
(编辑)我甚至无法将一个字节发送到远程z1 mote,我认为它只会有助于获取地址,因为如果我愿意,传感节点应该会有所期待发送它。但是在这种情况下如何发送给它呢?
答案 0 :(得分:1)
解决问题唯一需要的是使用
获取节点的地址uip_ipaddr_t addr;
uip_ip6addr(&addr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); // or whatever is the values for your node
然后使用任何simple-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