过去几天,我一直试图通过基站访问各个节点,但我运气不好。我在基站(单播接收程序c)和感测节点(单播-sender.c)上尝试了以下操作
首先,我试图在单播发送方上创建一个RPL进程,并使用
address= servreg_hack_lookup(SERVICE_ID_1)
然后
simple_udp_sendto(&unicast_connection, msg.value, 1, address)
但是它给了我一个完全不同的地址,而不是感测节点的地址,因此它没有工作。
无论如何,我试图移除RPL进程,但是后来我找不到一种方法来硬编码感测节点的地址。
如果我至少可以硬编码感测节点的地址,并使用simple_udp_sendto(&unicast_connection,msg.value,1,address)函数与感测节点通信,那就可以工作了,但是如何做呢?
(编辑)我甚至连一个字节都无法发送到远程z1 mote,而且我不认为只获得地址会有什么帮助,因为如果我要发送它,感测节点应该期望得到它。但在这种情况下我该怎么发送呢?
发布于 2016-04-03 13:53:11
要解决这个问题,唯一需要的就是使用
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
https://stackoverflow.com/questions/36353632
复制相似问题