Hey Cenk, Martine and everyone, Thanks all for your help,
I tried to follow Cenk's advice and use posix sockets to create communication between my nodes. I managed to print the results received by the server as expected, this is nice. :-) But I still have a bug. I send a message to the udp server (root node of my DODAG) every 0.1 second, but only the 28 first messages are received, after that no more message is received. Do you know why ? Martine, thanks for your help, I didn't try to use 'conn' for the moment because I was looking for a stable API. Best, Caroline QUEVA Research Engineer at CEA-LIST DRT/LIST/DACLE/LIALP Laboratoire Infrastructures et Ateliers pour le Logiciel sur Puces Commissariat à l’énergie atomique et aux énergies alternatives MINATEC Campus | 17 rue des Martyrs | 38054 Grenoble Cedex 9 ________________________________ De : users [[email protected]] de la part de Cenk Gündogan [[email protected]] Envoyé : vendredi 25 septembre 2015 16:57 À : [email protected] Objet : [riot-users] Fwd: Re: Multihop Network Hello Caroline, I hope you don't mind that I put this particular email back on the mailing list, because this might be of interest to others, too. While it is possible to do some extra tinkering on the `gnrc_networking` example in order to receive the udp payload in the application's thread, I rather would suggest to look into the posix sockets that are now merged into master. An example usage can be found here [1]. You have to adjust the Makefile of the example in [1] the following way: * replace `gnrc_ipv6_default` with `gnrc_ipv6_router_default` * add a new line `USEMODULE += gnrc_rpl` This should suffice to get rpl into this new example. (Martine, correct me if I am wrong). Best, Cenk [1] https://github.com/RIOT-OS/RIOT/tree/master/examples/posix_sockets On 24.09.2015 15:33, QUEVA Caroline 242137 wrote: Thanks for the answer, it seems to solve my problem. Just another question, for now the udp server prints information from packet dump. Do you know how I can get the information in packet received (for example an integer) to print it or better to do calculations with it ? For desvirt, I just modified xml files to create my own topology and use vnet commands (in desvirt) to define and start my grid network. Then I start my nodes with "make term PORT=grid1_1_7_aX" with grid1_1_7 the name of my xml file (in attachment) and X from 0 to n (with n the number of total nodes). I didn't hear about problem using desvirt with RIOT. Caroline QUEVA Research Engineer at CEA-LIST DRT/LIST/DACLE/LIALP Laboratoire Infrastructures et Ateliers pour le Logiciel sur Puces Commissariat à l’énergie atomique et aux énergies alternatives MINATEC Campus | 17 rue des Martyrs | 38054 Grenoble Cedex 9 ________________________________ De : Cenk Gündogan [[email protected]<mailto:[email protected]>] Envoyé : jeudi 24 septembre 2015 15:19 À : QUEVA Caroline 242137 Objet : Re: [riot-users] Multihop Network Hey Caroline, I can guess: Can you try using a global IPv6 address for the root node? e.g. by executing: `ifconfig <interface_id> 2001:db8::1` (or any other global IPv6 address you desire) in the shell of the root node. You have to replace <interface_id> with the interface id you see when you type `ifconfig` without parameters. Rationale: Dodag-IDs must be global IPv6 addresses or unique local IPv6 addresses. So using any address with a link-local prefix like `fe80...` will not work. So when starting the RPL dodag on the root, you use the global IPv6 address instead: `rpl root 1 2001:db8::1`. I hope this solves the problem. By the way, you mentioned desvirt. Can I ask you how you are using desvirt? Because AFAIK, desvirt is not able to run the RIOT native port right now. I made a pull request here [1] and here [2]. Are you using any of these patches? Would be interesting to know (: Best, Cenk [1] https://github.com/RIOT-OS/RIOT/pull/3908 [2] https://github.com/des-testbed/desvirt/pull/17 On 24.09.2015 15:04, QUEVA Caroline 242137 wrote: Hej Cenk, Thanks again for your answer, I updated my branch, I am currently on the last version of the master branch and it's still not working. To explain in more details, I created a network using desvirt tool with three nodes. The first node is the dodag's root with the address fe80::8c6f:cdff:fe13:1 and runs the UDP server. My second node is connected to the root, has the address fe80::8c6f:cdff:fe13:cb2a and can send message to the root via udp. The third node is not connected to the root but it is connected to the second node, and should be able to send messages to the root via the second node. This is what I get on the third node : > fibroute fibroute Destination Flags Next Hop Flags Expires Interface :: 0x0003 fe80::8c6f:cdff:fe13:cb2a 0x0003 98.4643706 > udp send fe80::947d:6ff:fe40:1 8088 hello udp send fe80::947d:6ff:fe40:1 8088 hello Success: send 5 byte to [fe80::947d:6ff:fe40:1]:8088 On the second node I have this : fibroute Destination Flags Next Hop Flags Expires Interface :: 0x0003 fe80::947d:6ff:fe40:b46d 0x0003 74.4523616 fe80::2878:adff:fe49:c384 0x0003 fe80::2878:adff:fe49:c384 0x0003 68.3986206 On the root node I have this : > fibroute fibroute Destination Flags Next Hop Flags Expires Interface fe80::8c6f:cdff:fe13:cb2a 0x0003 fe80::8c6f:cdff:fe13:cb2a 0x0003 117.677536 fe80::2878:adff:fe49:c384 0x0003 fe80::8c6f:cdff:fe13:cb2a 0x0003 112.132266 And no packet is dumped as expected... Do you know what's wrong ? Best, Caroline Caroline QUEVA Research Engineer at CEA-LIST DRT/LIST/DACLE/LIALP Laboratoire Infrastructures et Ateliers pour le Logiciel sur Puces Commissariat à l’énergie atomique et aux énergies alternatives MINATEC Campus | 17 rue des Martyrs | 38054 Grenoble Cedex 9
_______________________________________________ users mailing list [email protected] https://riot-os.org/mailman/listinfo/users
