I need to get the ranges between tag and anchor for more then 4 without limitation.
What I need is:
One or more DWM1001C (moving tag) showing ranges of other DWM1001C modules (moving anchor) with short addresses in the area as a list.
It can be 1 anchor and 1 tag,10 anchors and 1 tag or 5 anchors and 10 tags (the numbers may change) in the area since they all in move.
The idea is stopping a vehicle if there is a person close enough. So it needs to be working inside the building or outside the building without a location calculation.
We have done this by the default firmware (PAN2) but 4 nodes limit make it impossible to continue.
We are planning to calculate the location further by placing tags on the ceiling and make the ceiling devices send the ID and range of the moving devices to the server. It can be then calculated by the server.
If there is a solution for this can you guide me? We are using J-Flash lite to upload firmware and Segger Embedded Studio for any coding.
Hi, it feels like the “meshposition” engine I developped fits perfectly for your need. I had exactly that in mind
dynamic creation of superframes where the server decides of the initiators and responders at runtime
there is no limit in the protocol on number of initiators or responders (limit might come from time drift, 10 is still ok, can be improved with auto sync in case >20 needed)
the API on server side is python
Nodes friendly names even used in the API
See this post
Then this page
Now a warning although this solution is working and tested, this not a mature solution and not intended for production. It can be used in production in case it is further tested and adapted. Just the concept of dynamic superframes might have issues in certification as it is harder to prove that the sw won’t misbehave
That being said, I’ll help and guide anyone who’d like to use or drive this concept further, but you need someone familiar with embedded systems, RTOS, nRF, linux, zephy, python,… otherwise I’ll help too but then it is going to take much longer.
DWM1001_PANS_R2.0.hex is a very good firmware to start with and very well documented on the official Decawave website and forum. But it has limitations though. As a beginner it’s important to use it and fully understand it before thinking on creating your own firmware.
Imagine you are new to developping applications on linux with Python or c++, then instead you have to patch the os kernel, that’s a comparable complexity increase when moving from using a PANS library to creating your own.
The reason is, the firmware I provide is not ready for production and not intended to be used by someone not familiar with the firmware tools. The solution I suggest is pretty much DIY open source solution, and it would not work without reading the the doc.
In the doc there is mention of the repo “Zephyr MP Node UWB repo :”
That is the source code that generayes the firmware. You need to be familiar with Zephyr, as I use it as RTOS
If you are not, start by reading all of its doc and test it’s simplest samples