Debugging Massive OpenThread Networks

I'm embarking on a new project involving a sensor network of up to 3000 devices within a warehouse for industrial monitoring, and I'm considering an OpenThread network-based solution. I have several doubts that can be isolated into three questions:
  1.  Based on the OpenThread Network Simulator - OTNS and Silk tools and this link related to "Building a Thread network with nRF52840 boards and OpenThread” how can I flash this code to the nRF5340 DK and nRF9160 DK as well? I mean, I would like to test my OpenThread - OT network with the Silk tool. However, I have 1x nRF52840DK, 1x nRF5340DK, 3x nRF9160DKs (which also have an nRF52840 SoC to run OpenThread CLI sample), 3x nRF52840 Feather Boards and 2x nRF52840 Dongles, not just the nRF52840 DK as the .bin and .hex files in those instructions are for. Alternatively, if I use my nRF52840 as an OpenThread Border Router and connect it via USB to my Raspberry Pi or Ubuntu Linux Laptop running the Silk and OTNS tool, and flash the OpenThread CLI sample from nRF Connect SDK to the other DKs I own, if all of them are on the same OpenThread network, will I be able to use Silk and visualize the network without any problems? Also, maybe I don’t have to flash the .hex file of OpenThread Code Labs to the Border Router, but instead, build and flash an nRF Connect SDK sample since the OpenThread CLI should be the same, am I right?
  2. The long-term goal is to implement an OpenThread network with up to 3000 devices based on nRF SoCs inside a warehouse. We are currently developing with nRF52x SoCs but plan to transition to nRF54L15 SoCs for better power consumption once these new SoCs become available on the market. With that said, the OTNS tool allows me to simulate an OpenThread network and provide the coordinates of each router or end-device for a more accurate simulation. Since all devices have sensor data to acquire and send, I assume all devices will be Router Eligible End Devices (REED), with some acting as routers and consuming more power, while others will act as end-devices and consume less energy. Does the nRF Thread Topology Monitor tool also allow us to simulate virtual devices and specify the coordinates of each device to be close to the real environment? Also, regarding the nRF Thread Topology Monitor tool, is there any plan to add support for MacOS (preferably arm-silicon) in the future? 
  3. From what I gathered here, a Thread network can only accommodate up to 32 routers, with each router supporting up to 511 devices. Additionally, "Thread tries to keep the number of Routers between 16 and 23. If a REED attaches as an End Device and the number of Routers in the network is below 16, it automatically promotes itself to a Router.” So, in my use case, if I have up to 3000 devices in a warehouse, with each device acting as a REED, the worst-case scenario is that I'll have 32 devices functioning as routers, thus consuming more current, correct? Therefore, if I aim to achieve, let's say, 3 months of battery life, I should dimension the battery for the case of these devices operating as routers, correct? Similar to Nordic's power consumption tests of Minimal End Devices and Sleepy End Devices here, has Nordic conducted a power consumption test of devices operating as a REED (but not as a router, i.e., ready to be a router but in fact, an end device always on)?
  4. I have already installed the nRF Thread Monitor on a Linux laptop, flashed two nRF52840 Dongles and one nRF52840DK with the OpenThread CLI sample. Using the terminal, I am able to set the network configurations and see one device assuming the Leader function, with others assuming router or child functions. I am also able to ping devices on the network using the terminal. However, when I click the scan button in the nRF Thread Monitor, I receive the error "Error - No response from Thread CLI device" every time. Any ideas why?
Parents
  • update related to the topic number 4:

    • I already have an nRF52840DK running the .hex file and connected to a linux-laptop running the OTTM tool. To be honest, I really don't understand why Nordic didn't design the OTTM software to allow any device connected to the Linux laptop to run the OpenThread CLI sample, ensuring compatibility with any nRF52x or nRF53x board (the .hex files you provide only work for the nRF52840 Dongle or nRF52840DK). Based on this sentence here: "For nRF Thread Topology Monitor to attach the nRF device to the Thread network and send OpenThread CLI commands over the serial port, the nRF device must be programmed with the OpenThread CLI example that is included in the nRF Thread Topology Monitor package as a hexadecimal file", I should be able to build and flash myself the OpenThread CLI sample to the nRF52840DK (or dongle), connect it to the Linux laptop running OTTM, and see the system work. However, this doesn't work as expected. I was forced to flash the .hex file that Nordic already provide in the directory folder of the OTTM tool. I know that the problem isn't related to the build and flash process since if I build and flash the OpenThread CLI sample myself and connect the nRF52840DK or nRF52840 Dongle to a serial terminal like Screen, I can interact with it using OpenThread CLI
    • Anyway, I have now 4 devices on the network, according to the output from the OTTM. However, in the GUI, I don't see any devices or network topology, even though the software shows that the number of devices is not zero. Does anyone know what the problem could be? Only the graphical interface doesn't work; everything is blank, but the software tells me that the number of nodes is 4. NOTE: I'm running Ubuntu 22.04.4 LTS
Reply
  • update related to the topic number 4:

    • I already have an nRF52840DK running the .hex file and connected to a linux-laptop running the OTTM tool. To be honest, I really don't understand why Nordic didn't design the OTTM software to allow any device connected to the Linux laptop to run the OpenThread CLI sample, ensuring compatibility with any nRF52x or nRF53x board (the .hex files you provide only work for the nRF52840 Dongle or nRF52840DK). Based on this sentence here: "For nRF Thread Topology Monitor to attach the nRF device to the Thread network and send OpenThread CLI commands over the serial port, the nRF device must be programmed with the OpenThread CLI example that is included in the nRF Thread Topology Monitor package as a hexadecimal file", I should be able to build and flash myself the OpenThread CLI sample to the nRF52840DK (or dongle), connect it to the Linux laptop running OTTM, and see the system work. However, this doesn't work as expected. I was forced to flash the .hex file that Nordic already provide in the directory folder of the OTTM tool. I know that the problem isn't related to the build and flash process since if I build and flash the OpenThread CLI sample myself and connect the nRF52840DK or nRF52840 Dongle to a serial terminal like Screen, I can interact with it using OpenThread CLI
    • Anyway, I have now 4 devices on the network, according to the output from the OTTM. However, in the GUI, I don't see any devices or network topology, even though the software shows that the number of devices is not zero. Does anyone know what the problem could be? Only the graphical interface doesn't work; everything is blank, but the software tells me that the number of nodes is 4. NOTE: I'm running Ubuntu 22.04.4 LTS
Children
No Data
Related