LoRaWAN Simulator (works with ChirpStack)

@pippok96 , I did all you recommended, but I still have no active gateway in chirpstack.

@bakok , do you find solution?

it seems a configuration problem, could you send to us more information?

@Fedyfausto , what’s exactly info you need? I can collect logs (of all services) and publish configuration toml files. Is it OK?

Hello,

I’m looking to try LWN-Simulator, I also have installer portainer which use the port 8000.

How could I modify the port used by the simulator?

Regards

Edit:

Here is the answer:

Modify the config.json with the desired port
Modify the docker-compose.yml to reflect the new config
build the application with docker compose build (this is the step I have forgotten)

Hello, I have the same problem, did you find a solution?

Excuse me, i recently installed LWN simulator to create a network for a project and i would like to know if there is some kind of manual or something like that. I am new to this, so i don´t know much, but i would love to, so i really like to know if there is something like that. Thanks in advance.

Sorry if I disappeared but we started to better manage the GitHub for the various issues, indeed many collaborators are actively participating in the project being open-source, you are all welcome!

Did you end up finding a solution for this?

did anyone found solution for this, I am able to see Gateway, but Device is coming as never seen

@brocaar can you help with this, I have added LWN simulator (GitHub - 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.) as part of the chirpstack-docker and did a build, I was able to connect to gateway bridge via 1700 port, gw connection is success, but device join accept message is not reached to device, either mqtt message is not reached to gw bridge or gw bridge not forwarding the message to gw added. This is the reason I wanted to create binaries of chirpstack server and check the issue

I’m sorry, but I can not help you with this.

Thank you very much for your awesome simulator.

It doesn’t work for me at yesterday but works well now.

Here is my way to debug the problem:

Step1

use nc to listen UDP port 1700 on my ChirpStack-Gateway-Bridge server

nc -lkvp 1700

then let the simulator to send data to nc

I got data from nc which fit’s the UDP packet-forwarder potocol.

It seems that Simulator had sent data correctlly.

Step2

Run ChirpStack-Gateway-Bridge in debug mode.

chirpstack-gateway-bridge -c conf.toml --log-level 5

It reported an error about MQTT.

~ # chirpstack-gateway-bridge -c conf.toml --log-level 5
INFO[0000] starting ChirpStack Gateway Bridge            docs="https://www.chirpstack.io/gateway-bridge/" version=
INFO[0000] backend/semtechudp: starting gateway udp listener  addr="0.0.0.0:1700"
DEBU[0000] [client]   Connect()                          module=mqtt
DEBU[0000] [store]    memorystore initialized            module=mqtt
DEBU[0000] [client]   about to write new connect msg     module=mqtt
DEBU[0000] backend/semtechudp: cleanup gateway registry
ERRO[0000] [client]   dial tcp: lookup $MQTT_BROKER_HOST: no such host  module=mqtt
WARN[0000] [client]   failed to connect to broker, trying next  module=mqtt
ERRO[0000] [client]   Failed to connect to a broker      module=mqtt
DEBU[0000] [store]    memorystore closed                 module=mqtt
ERRO[0000] integration/mqtt: connection error            error="network Error : dial tcp: lookup $MQTT_BROKER_HOST: no such host"
WARN[0002] [client]   status is already disconnected     module=mqtt
DEBU[0002] [client]   Connect()                          module=mqtt
DEBU[0002] [store]    memorystore initialized            module=mqtt
DEBU[0002] [client]   about to write new connect msg     module=mqtt
ERRO[0002] [client]   dial tcp: lookup $MQTT_BROKER_HOST: no such host  module=mqtt

fix it, then

~ # chirpstack-gateway-bridge -c conf.toml --log-level 5
INFO[0000] starting ChirpStack Gateway Bridge            docs="https://www.chirpstack.io/gateway-bridge/" version=
INFO[0000] backend/semtechudp: starting gateway udp listener  addr="0.0.0.0:1700"
DEBU[0000] [client]   Connect()                          module=mqtt
DEBU[0000] [store]    memorystore initialized            module=mqtt
DEBU[0000] backend/semtechudp: cleanup gateway registry
DEBU[0000] [client]   about to write new connect msg     module=mqtt
DEBU[0000] [client]   socket connected to broker         module=mqtt
DEBU[0000] [client]   Using MQTT 3.1.1 protocol          module=mqtt
DEBU[0000] [net]      connect started                    module=mqtt
DEBU[0000] [net]      received connack                   module=mqtt
DEBU[0000] [client]   startCommsWorkers called           module=mqtt
DEBU[0000] [client]   client is connected/reconnected    module=mqtt
DEBU[0000] [net]      incoming started                   module=mqtt
DEBU[0000] [net]      startIncomingComms started         module=mqtt
DEBU[0000] [net]      outgoing started                   module=mqtt
DEBU[0000] [net]      startComms started                 module=mqtt
DEBU[0000] [pinger]   keepalive starting                 module=mqtt
DEBU[0000] [client]   startCommsWorkers done             module=mqtt
WARN[0000] [store]    memorystore wiped                  module=mqtt
DEBU[0000] [client]   exit startClient                   module=mqtt
DEBU[0000] [net]      logic waiting for msg on ibound    module=mqtt
INFO[0000] integration/mqtt: connected to mqtt broker
DEBU[0000] [net]      startIncomingComms: inboundFromStore complete  module=mqtt
DEBU[0000] [net]      logic waiting for msg on ibound    module=mqtt
DEBU[0000] [net]      outgoing waiting for an outbound message  module=mqtt
DEBU[0005] [pinger]   ping check 5.002256391             module=mqtt
DEBU[0010] [pinger]   ping check 10.002335807            module=mqtt
DEBU[0015] [pinger]   ping check 15.00246991             module=mqtt
DEBU[0020] [pinger]   ping check 20.001766144            module=mqtt
DEBU[0025] [pinger]   ping check 25.002067798            module=mqtt
DEBU[0030] [pinger]   ping check 30.002565323            module=mqtt
DEBU[0030] [pinger]   keepalive sending ping             module=mqtt
DEBU[0030] [net]      startIncoming Received Message     module=mqtt
DEBU[0030] [net]      startIncomingComms: got msg on ibound  module=mqtt
DEBU[0030] [net]      startIncomingComms: received pingresp  module=mqtt
DEBU[0030] [net]      logic waiting for msg on ibound    module=mqtt
DEBU[0035] [pinger]   ping check 4.9996140350000005      module=mqtt
DEBU[0040] [pinger]   ping check 9.999862399             module=mqtt
DEBU[0043] backend/semtechudp: received udp packet from gateway  addr="10.10.*.*:33506" protocol_version=2 type=PullData
DEBU[0043] backend/semtechudp: received udp packet from gateway  addr="10.10.*.*:33506" protocol_version=2 type=PushData
DEBU[0043] backend/semtechudp: sending udp packet to gateway  addr="10.10.*.*:33506" protocol_version=2 type=PullACK
DEBU[0043] integration/mqtt: set gateway subscription    gateway_id=2dc8b3******d2e5 subscribe=true
DEBU[0043] integration/mqtt: gateway subscription set    gateway_id=2dc8b3******d2e5 subscribe=true
DEBU[0043] backend/semtechudp: sending udp packet to gateway  addr="10.10.*.*:33506" protocol_version=2 type=PushACK
INFO[0043] integration/mqtt: publishing event            event=up qos=0 topic=eu868/gateway/2dc8b3******d2e5 /event/up uplink_id=49003

It works

(make sure the locations of your gateway and device are right)

Excuse me for the time, we are working on a new release (1.0.3). Meanwhile, try to use the 1.0.2 from the releases section of GitHub:

Also, new scientific publications and video tutorials are coming out soon!

vous pouvez personnaliser un code Arduino pour envoyer des payloads dans un TWN- simulateur LoRaWAN.

Please keep the conversation in English.

I have a lot of OTAA errors. Below log from chirpstack
2024-02-13T09:22:52.452976Z INFO stats{gateway_id=bee43e54ae3e14eb}: chirpstack::storage::metrics: Metrics saved name=gw:bee43e54ae3e14eb aggregation=HOUR
2024-02-13T09:22:52.453476Z INFO stats{gateway_id=bee43e54ae3e14eb}: chirpstack::storage::metrics: Metrics saved name=gw:bee43e54ae3e14eb aggregation=DAY
2024-02-13T09:22:52.453939Z INFO stats{gateway_id=bee43e54ae3e14eb}: chirpstack::storage::metrics: Metrics saved name=gw:bee43e54ae3e14eb aggregation=MONTH
2024-02-13T09:22:52.651714Z INFO up{deduplication_id=a5daf4ff-2050-47dc-8697-2f935599492c}: chirpstack::uplink: Uplink received m_type=JoinRequest
2024-02-13T09:22:52.673149Z INFO up{deduplication_id=a5daf4ff-2050-47dc-8697-2f935599492c}:join_request{dev_eui=“6913acdb8e219436”}: chirpstack::storage::device_keys: Device-nonce validated, join-nonce incremented and stored dev_eui=6913acdb8e219436 dev_nonce=3073
2024-02-13T09:22:52.674196Z INFO up{deduplication_id=a5daf4ff-2050-47dc-8697-2f935599492c}:join_request{dev_eui=“6913acdb8e219436”}: chirpstack::storage::device_session: Device-session saved dev_eui=6913acdb8e219436 dev_addr=01e65476
2024-02-13T09:22:52.675019Z INFO up{deduplication_id=a5daf4ff-2050-47dc-8697-2f935599492c}:join_request{dev_eui=“6913acdb8e219436”}: chirpstack::storage::device_queue: Device queue flushed dev_eui=6913acdb8e219436 count=0
2024-02-13T09:22:52.676786Z INFO up{deduplication_id=a5daf4ff-2050-47dc-8697-2f935599492c}:join_request{dev_eui=“6913acdb8e219436”}: chirpstack::storage::device: Enabled class updated dev_eui=6913acdb8e219436 enabled_class=A
2024-02-13T09:22:52.679160Z INFO up{deduplication_id=a5daf4ff-2050-47dc-8697-2f935599492c}:join_request{dev_eui=“6913acdb8e219436”}: chirpstack::storage::device: Updated DevAddr dev_eui=6913acdb8e219436 dev_addr=01e65476
2024-02-13T09:22:52.680477Z INFO up{deduplication_id=a5daf4ff-2050-47dc-8697-2f935599492c}:join_request{dev_eui=“6913acdb8e219436”}: chirpstack::storage::device: Updated JoinEUI dev_eui=6913acdb8e219436 join_eui=0000000000000000
2024-02-13T09:22:52.680937Z INFO up{deduplication_id=a5daf4ff-2050-47dc-8697-2f935599492c}:join_request{dev_eui=“6913acdb8e219436”}:join_accept{downlink_id=3334082597}: chirpstack::storage::downlink_frame: Downlink-frame saved downlink_id=3334082597
2024-02-13T09:22:52.681010Z INFO up{deduplication_id=a5daf4ff-2050-47dc-8697-2f935599492c}:join_request{dev_eui=“6913acdb8e219436”}:join_accept{downlink_id=3334082597}: chirpstack::gateway::backend::mqtt: Sending downlink frame region_id=eu868 gateway_id=bee43e54ae3e14eb topic=eu868/gateway/bee43e54ae3e14eb/command/down json=false
2024-02-13T09:22:52.685631Z INFO chirpstack::integration::mqtt: Publishing event topic=application/944365fa-6d65-44ce-a675-36d885c591f7/device/6913acdb8e219436/event/join
2024-02-13T09:23:04.452787Z INFO chirpstack::gateway::backend::mqtt: Message received from gateway region_id=“eu868” topic=“eu868/gateway/bee43e54ae3e14eb/event/up” qos=0 json=false
2024-02-13T09:23:04.453565Z INFO chirpstack::gateway::backend::mqtt: Message received from gateway region_id=“eu868” topic=“eu868/gateway/bee43e54ae3e14eb/event/stats” qos=0 json=false
2024-02-13T09:23:04.455235Z INFO stats{gateway_id=bee43e54ae3e14eb}: chirpstack::storage::gateway: Gateway state and location updated gateway_id=bee43e54ae3e14eb

What is wrong?

Hi, dalmeida… I am interested too in the simulator. Do you have some information about how it works?

Josep