Not able to receive downlink data on LoPy
I am using LoPy module to send and receive data over LoRa. I am able to send data successfully but can not receive the LoRa data. Below is the code I am using to receive data. Please check.
data = s.recv(64)
print("Received data: "+str(data))
@sameerchouksey Did you try this example https://docs.pycom.io/chapter/tutorials/lora/lorawan-otaa.html ?
# make the socket blocking # (waits for the data to be sent and for the 2 receive windows to expire) s.setblocking(True) # send some data s.send(bytes([0x01, 0x02, 0x03])) # make the socket non-blocking # (because if there's no data received it will block forever...) s.setblocking(False) # get any data received (if any...) data = s.recv(64) print(data)
Also try to upgrade FW to 1.17.x (lorawan have changed to 1.0.2 spec).
@sameerchouksey Did you try to send an uplink message before waiting for a downlink message, according to the LoRa spec?
You can also try arw LoRa mode, which does not require an uplink message before a downlink message.
I am using it with an established LoRa infrastructure and I am able to send data successfully.
The node is set to LoRa WAN mode and Device is operating in class C mode.
The version info: (sysname='LoPy', nodename='LoPy', release='1.16.0.b1', version='v1.8.6-849-055728a on 2018-02-13', machine='LoPy with ESP32', lorawan='1.0.0')
P.S. I tried hard resetting the device but it doesn't help.
@sameerchouksey Just a hint:
start a script with Lora always after a full reset. Soft reset does not reset the Lora device properly.
Full reset is done by pushing the reset button or calling machine.reset()
@sameerchouksey Some questions:
- are you using it with TTN or with some other software?
- is the node set to LORA raw mode or to LoRa WAN mode?
- What is thr revision of your firmware?