Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Angelo Corsaro
    @kydos
    Hello @aohwang, let’s call your two networks N1 and N2.
    aohwang
    @aohwang
    Oh sorry, it seems that I am wrong
    Angelo Corsaro
    @kydos
    You can start one router on N1 and when starting the router on N2 you provide as a startup configuration the locator of the N1 router
    aohwang
    @aohwang
    Ok
    Angelo Corsaro
    @kydos
    For example, assume the public address of the host on which you started the router 176.58.123.75, then you would start the router on N2 with the -e tcp/172.58.123.75:7447 option
    For completeness sake, please keep in mind that you are not forced to have 2 routers, one would be sufficient.
    Then you’ll have to start the dzd on N1 and N2 and that should do the trick
    OK?
    Angelo Corsaro
    @kydos
    You can also run a different configuration, in which you do not need to start routers on neither N1 nor N2. This assumes that you have some public zenoh infra running. To keep things simple, suppose you have a zenoh router running on some Cloud IaaS infra. We use a lot Linode, but anything would do. In this case, assuming that your Linode public address is 151.101.194.217, then you can just start the dzd with the option -e tcp/151.101.194.217:7447
    Finally, on both the zenohd as well as on dzd you can use the —help command line argument to get a description of all options
    Let me know if that works!
    aohwang
    @aohwang
    Thanks very much :)
    Angelo Corsaro
    @kydos
    My pleasure and have fun with zenoh! Please share your experience and if you have time give a try to the zenoh API, it is quite neat.
    aohwang
    @aohwang
    The dzd will discover the zenohd automatically, right?
    Angelo Corsaro
    @kydos
    Yes, when running on the same network and if multicast is enabled/routed on your network
    When that is not the case you just pass the locator by hand using the -e <locators> option.
    aohwang
    @aohwang
    Got it
    If the the ip address of the node 1 in the N1 is same as the ip address of the node 2 in the N2, does it still work?
    Angelo Corsaro
    @kydos
    The private addresses may be the same on N1 and N2, but not public addresses. Otherwise even at an IP level you can’t route between the two networks.
    aohwang
    @aohwang
    Thanks, I think I need read the source code of the dzd carefully to understand how it works.
    Angelo Corsaro
    @kydos
    You you do not have public address, or routable addresses from N1 to N2, then deploy a single router on a node that can be reached — at IP level — by both N1 and N2. In other terms you should be able to ping.
    aohwang
    @aohwang
    In CyclonDDS, the data traffic can be unicast or multicast transferred. In order the dzd can get the DDS data traffic, the data traffic needs be transferred using multicast?
    Angelo Corsaro
    @kydos
    dzd uses itself cyclone for spoofing DDS traffic, thus if you want to use unicast you would simply have to setup the proper cyclone DDS environment variable to point toward a configuration file that congures cyclone with unicast.
    But let me ask a question, what is your use case? Do you already have DDS applications? Or are you using DDS through ROS2?
    aohwang
    @aohwang
    Yes I have some DDS applications in the same network. I know DDS have some limitations, for example can't be used directly when publisher and subscriber are in different networks. And I noticed the zenoh can be used to solve this problem. So I come here to learn how the zenoh works and how dzd forward the DDS traffic.
    Thanks your detailed reply
    Angelo Corsaro
    @kydos
    That’s right, you should be able to make that work. Keep us posted.
    Angelo Corsaro
    @kydos
    Hello all, we have posted the roadmap for the beginning of 2021 along with a long list of features for the rest of the year. Looking forward to hearing your comments as well as your request for both what should be next as well as what should be added that is not already in.
    Luca Cominardi
    @Mallets
    Hello zenohers! We have just added the support for basic user-password authentication in zenoh. You can find the documentation on how to use it here.
    Angelo Corsaro
    @kydos
    BTW, what is worth pointing out that the authentication mechanism allows for secure authentication over non secure channels.
    Luca Cominardi
    @Mallets
    Hello zenohers! We have also added the support for TLS as transport protocol supporting server authentication in zenoh. The TLS support is available in the master branch of the git repo. You can find the documentation on how to use it here. Documentation on user-password authentication is instead available here (the link posted beefore seems to be broken).
    Carlos Guimarães
    @cguimaraes
    Hi everybody!
    I was able to run zenoh-pico on an ESP32 and to successfully test the publish operation. I created a draft pull request on github. I still need to test the remaining examples provided by zenoh.
    esp32-test.png
    expploitt
    @expploitt
    Hello all, I was reading the documentation of zenoh-pico and I see in the official page this: "Constrained Devices
    zenoh implementations can be extremely resource constrained. Our smallest implementation takes as little as 300 bytes footprint on an Atmel 8-bit microcontroller."
    I only want to know how I can integrate zenoh into a RTO like zephyr, is it possible in a easy mode?
    Luca Cominardi
    @Mallets

    Hi everybody!
    I was able to run zenoh-pico on an ESP32 and to successfully test the publish operation. I created a draft pull request on github. I still need to test the remaining examples provided by zenoh.

    Hi @cguimaraes , that’s very nice! Out of curiosity, do you have an idea how big is zenoh-pico on those devices? You are the first testing it on such platform and we are very curious to know about your experience on making zenoh-pico work there!

    Carlos Guimarães
    @cguimaraes
    Hi @Mallets , I can tell you later today because I can see that information when I am uploading the program to the board
    I am planning today and tomorrow to test the remaining examples as well as with two ESP32 (one as producer of information and another as consumer)
    Carlos Guimarães
    @cguimaraes
    each build for the ESP32 using zenoh-pico is around ~670KB which after compression goes down to ~420KB
    in the meantime, I was also able to test zn_pull and zn_sub examples against the zn_pub using two different ESP32.
    expploitt
    @expploitt
    @cguimaraes In order to compile, I suppose that you added the ZENOH_ESP to the CMakeFiles.txt (I'm trying to integrate zenoh into Zephyr also for nRF52 and I see that some configuration will be like yours for ESP32)
    Carlos Guimarães
    @cguimaraes
    @expploitt in my case I am creating an ESP32 project to which I import zenoh-pico as private libraries of the project
    I then use platformio to build and upload to the board
    expploitt
    @expploitt
    Okey, I'll try then to play with the cmake zephyr tree to added as a private library
    Thanks @cguimaraes !
    Luca Cominardi
    @Mallets

    each build for the ESP32 using zenoh-pico is around ~670KB which after compression goes down to ~420KB

    Hi Carlos, thanks for the numbers. Are the ~420KB for the whole EPS32 image which includes the zenoh-pico library or only for the library part?

    Angelo Corsaro
    @kydos
    @expploitt it should be relatively straightforward to run zenoh-pico on zephyr. Let us know if you have any issues.
    expploitt
    @expploitt
    I thinking in add as a module (could be tricky) or as a external library (I think the easy mode)
    expploitt
    @expploitt
    I having problems when I compile with pthreads.h in the unix.h file
    I got the "No such file or directory"