I am currently trying to implement a Class B device, but I did not found any clear example which describes the whole procedure (ex: needed functions, logical order of calls, etc…)
I am using a STM32WL55JC1 board as EndNode, and a Dragino LPS8N (without SIM module) as gateway.
As I’ve been reading, the gateway needs to have a GPS to be able to send beacons, but since it will be placed indoor, there is a big chance that the GPS signal will be really poor. The LPS8N gateway have a fake_gps feature, which is enabled, and I was able to change on the local_conf.json file as following (I am using EU868):
“ref_latitude”: (real gateway lat),
“ref_longitude”: (real gateway long),
but I still dont see any beacons been sent by the gateway. Are the beacons exclusively handled by the gateway, or does the Network-Server also has something to do with it? I tried already a paid-instance of TTN and own hosted ChirpStack, but I still cannot change the device to Class B.
Currently I use the LmHandlerRequestClass to change to Class B , which calls LmHandlerDeviceTimeReq. After that, it checks for the beacon acquisition (inside MlmeConfirm function), which always fails, and another time request is sent again.
The periodic-uplink-lpp example also did not helped me too much.
I would be very grateful if anyone can give me some direction or some examples of how to implement
a class B device or point me out my current errors.
Many thanks in advance!