Multitech conduit and Lopy "Not joined yet"
-
Hi guys,
I am new here and am looking for some help with connection of my Lopy. I have done a trial connection with a Multitech Mdot and it works fine but when i configure a Lopy OTAA I can see it listed on the conduit as a node but the Lopy continues to print "Not joined yet". any ideas??
<
import binascii import pycom import socket import time from network import LoRa # Colors off = 0x000000 red = 0xff0000 green = 0x00ff00 blue = 0x0000ff # Turn off hearbeat LED pycom.heartbeat(False) # Initialize LoRaWAN radio # lora = LoRa(mode=LoRa.LORAWAN) # Initialize LoRa in LORAWAN mode. # Please pick the region that matches where you are using the device: # Asia = LoRa.AS923 # Australia = LoRa.AU915 # Europe = LoRa.EU868 # United States = LoRa.US915 lora = LoRa(mode=LoRa.LORAWAN, region=LoRa.AU915) # create an ABP authentication params # dev_addr = struct.unpack(">l", binascii.unhexlify('00 00 00 05'.replace(' ','')))[0] # Set network keys app_eui = binascii.unhexlify('1122334455667788') app_key = binascii.unhexlify('11112222333344445555666677778888') # Join the network #lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), timeout=600) lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), timeout=0) pycom.rgbled(green) # green # Loop until joined while not lora.has_joined(): print('Not joined yet...') pycom.rgbled(off) time.sleep(0.1) pycom.rgbled(red) time.sleep(2) print('Joined') pycom.rgbled(blue) s = socket.socket(socket.AF_LORA, socket.SOCK_RAW) s.setsockopt(socket.SOL_LORA, socket.SO_DR, 5) s.setblocking(True) i = 0 while True: count = s.send(bytes([i % 256])) print('Sent %s bytes' % count) pycom.rgbled(green) time.sleep(0.1) pycom.rgbled(blue) time.sleep(9.9) i += 1 >
-
This post is deleted!
-
-
Hi I have been changing settings to try and make it work but here is what it is at the moment. I have changed to FSB 2 in case I want to use the TTN in the future.
Cheers
Sean
-
@monsteroz
Can you post what are you current gateway settings please?
-
Hi guys,
I reset to factory setting on the conduit and just added ID nd Key .. still no luck with the lopy..
Sean
-
I did not change the Join Delay but I have now changed it to 5 seconds with no change
thanks
Sean
-
Thanks @monsteroz
I'm not an expert on Multitech but I think your "Join Delay" isn't according to the specification.
That should be 5 (seconds) as Robert already pointed out. Did you change it already?
Do keep the sub channel selection code. That's also necessary, but not sufficient.
-
@jmarcelino Hi,
If I lock it to sub band 4 it seems to just hang
# Europe = LoRa.EU868 # United States = LoRa.US915 lora = LoRa(mode=LoRa.LORAWAN, region=LoRa.AU915) select_subband_au915(lora, 4) # create an ABP authentication params
If I add the below I get the same 'Not joined yet" message
lora = LoRa(mode=LoRa.LORAWAN, region=LoRa.AU915) def select_subband_au915(lora, subband): if (type(subband) is int): if ((subband<1) or (subband>8)): raise ValueError("subband out of range (1-8)") else: raise TypeError("subband must be 1-8") for channel in range(0, 64): lora.remove_channel(channel) for channel in range((subband-1)*8, ((subband-1)*8)+8): lora.add_channel(channel, frequency=915200000+channel*200000, dr_min=0, dr_max=5) select_subband_au915(lora, 4) # create an ABP authentication params app_eui = binascii.unhexlify('1122334455667788') app_key = binascii.unhexlify('11112222333344445555666677778888') # Join the network #lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), timeout=600) lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), timeout=0)
-
@jcaron
The Lopy and Lopy4 just does not exit the loop and says "not joined yet."
-
@monsteroz
Ok some problems...In the AU915 region need to restrict the LoPy to what your gateway is set to:
Frequency Sub-Band 4Because as configured the LoPy expects to use all valid 72 channels. However most real world gateways are limited to only 8 channels, hence the full channel map is partitioned into subbands.
So add a function like this
def select_subband_au915(lora, subband): if (type(subband) is int): if ((subband<1) or (subband>8)): raise ValueError("subband out of range (1-8)") else: raise TypeError("subband must be 1-8") for channel in range(0, 64): lora.remove_channel(channel) for channel in range((subband-1)*8, ((subband-1)*8)+8): lora.add_channel(channel, frequency=915200000+channel*200000, dr_min=0, dr_max=5)
the call
select_subband_au915(lora, 4)
to remove all channels which don't belong to sub-band 4 after initialising your LoRa object (and before joining)
-
@jcaron There were complaint about the in another thread.
-
@robert-hh Never had an issue with RX2 on the receiving side. What kind of issue are you seeing?
-
@monsteroz said in Multitech conduit and Lopy "Not joined yet":
I am still getting my head around Lora :)
I'm still at the beginning too, starting with LoRa a few weeks ago.
-
@monsteroz I do not understand all the settings, but some comments.
- The xxPy software has problems with the RX2 window, so always the RX1 should be used.
- The OTAA join delay is 5 seconds.
-
@robert-hh Thanks Robert. I am still getting my head around Lora :)
-
@monsteroz said in Multitech conduit and Lopy "Not joined yet":
What does the " dr=config.LORA_NODE_DR)
It sets the data rate, and in my example it is set to 5.
-
-
@jcaron someone fixed it for me ????
-
@robert-hh The values in the script are correct as this is just a testbed to get things working. I did not use the Dev_eui as I read it will use a default address. What does the " dr=config.LORA_NODE_DR) " do?
Cheers
Sean