LoRaWAN Simulator (works with ChirpStack)

UniCT-ARSLab/LWN-Simulator: A LoRaWAN nodes’ and network simulator that works with a real LoRaWAN environment (such as Chirpstack) and equipped with a web interface for real-time interaction. (github.com)

I suggest this LoRaWAN nodes’ simulator to simulate a LoRaWAN Network, equipped with a web interface. It allows communication with a real infrastructure LoRaWAN or ad-hoc infrastructure, such as Chirpstack.

It is equipped with a Web GUI to manage the simulator instance and virtual nodes/gateways (also the real gateways).

We are using it in our company to simulate a couple of LoRaWAN nodes with virtual and real gateways!


Thanks so much for sharing this! It looks like a very convenient way to mock a LoRaWAN topology by emulating some nodes.

I was able to build the simulator successfully after installing Go, but ran into an issue when I attempted to run the binary. I hope you could help me troubleshoot my issue. Here is the error I am getting.

$ make run-release 
2021/05/30 15:10:41 json: cannot unmarshal array into Go value of type map[int]*gateway.Gateway
Makefile:40: recipe for target 'run-release' failed
make: *** [run-release] Error 1

$ make run
2021/05/30 15:11:17 json: cannot unmarshal array into Go value of type map[int]*gateway.Gateway
exit status 1
Makefile:37: recipe for target 'run' failed
make: *** [run] Error 1

My setup:

  • PC running Ubuntu 18.04
  • LoRaWAN gateway on a Raspberry Pi 4 Model B Rev 1.2, OS “10 (buster)”, 4.19.75-v7l+

I would greatly appreciate your help with the above error.

PS: I also get this error when I try running the pre-compiled binary.

The developers just fixed this problem :smiley:


Hi @Fedyfausto, thanks for the prompt reply! Right now, I’m only able to work on my project on weekends, so I didn’t get a chance to rebuild with the new source code until just now. Unfortunately, I still get the same error as above. I tried rebuilding the code in the following two ways.

  1. Did a git pull, and repeated all the make commands
  2. Next, did a fresh clone of the repo, and repeated all the instructions from README.md

I still get the same error messages. Now, I wonder, do I have to modify the IP address in the config.json file to something other than Please let me know if there is anything else I ought to try.

Thanks again for your help, and sorry to be a bother.

Did you tried to delete the old config files? (In your home there is the lwn simulator folder, delete it and retry)

1 Like

It works now after deleting the config files in ~/lwnsimulator.

Thank you! :slight_smile:

1 Like