Skip to content

Commit

Permalink
LoRaWAN: consider restored join status for both, OTAA and ABP activation
Browse files Browse the repository at this point in the history
  • Loading branch information
thiasB committed May 5, 2020
1 parent e8a7533 commit 77a8f86
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions src/lib/terkin/network/lora.py
Expand Up @@ -97,30 +97,30 @@ def start(self):
except:
pass

import binascii
if not self.lora.has_joined():
import binascii

# Over-the-Air Activation (OTAA)
if self.settings.get('networking.lora.activation') == 'otaa':
app_eui = binascii.unhexlify(self.settings.get('networking.lora.otaa.application_eui'))
app_key = binascii.unhexlify(self.settings.get('networking.lora.otaa.application_key'))
# Over-the-Air Activation (OTAA)
if self.settings.get('networking.lora.activation') == 'otaa':
app_eui = binascii.unhexlify(self.settings.get('networking.lora.otaa.application_eui'))
app_key = binascii.unhexlify(self.settings.get('networking.lora.otaa.application_key'))

if not self.lora.has_joined():
log.info('[LoRa] Attaching to the LoRaWAN network using OTAA')
if self.settings.get('networking.lora.otaa.device_eui') is None:
self.lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), timeout=0)
else:
dev_eui = binascii.unhexlify(self.settings.get('networking.lora.otaa.device_eui'))
self.lora.join(activation=LoRa.OTAA, auth=(dev_eui, app_eui, app_key), timeout=0, dr=0)

# Activation by Personalization (ABP)
elif self.settings.get('networking.lora.activation') == 'abp':
log.info('[LoRa] Attaching to the LoRaWAN network using ABP')
import struct
dev_addr = struct.unpack(">l", binascii.unhexlify(self.settings.get('networking.lora.abp.device_address')))[0]
nwk_swkey = binascii.unhexlify(self.settings.get('networking.lora.abp.network_session_key'))
app_swkey = binascii.unhexlify(self.settings.get('networking.lora.abp.app_session_key'))
# Activation by Personalization (ABP)
elif self.settings.get('networking.lora.activation') == 'abp':
import struct
dev_addr = struct.unpack(">l", binascii.unhexlify(self.settings.get('networking.lora.abp.device_address')))[0]
nwk_swkey = binascii.unhexlify(self.settings.get('networking.lora.abp.network_session_key'))
app_swkey = binascii.unhexlify(self.settings.get('networking.lora.abp.app_session_key'))

self.lora.join(activation=LoRa.ABP, auth=(dev_addr, nwk_swkey, app_swkey), timeout=0, dr=0)
log.info('[LoRa] Attaching to the LoRaWAN network using ABP')
self.lora.join(activation=LoRa.ABP, auth=(dev_addr, nwk_swkey, app_swkey), timeout=0, dr=0)

def ensure_connectivity(self):

Expand Down

0 comments on commit 77a8f86

Please sign in to comment.