#format rst #language de LoRa und TheThingsNetwork ========================= H\. Högl, LoRaWAN Code fuer ABP Aktivierung. Laeuft auf dem LoPy Modul: .. code-block:: # H. Hoegl, 4/2018 import binascii, struct from network import LoRa import time import socket import struct # ABP def lora(): # https://www.thethingsnetwork.org/docs/devices/lopy/usage.html # https://docs.pycom.io/chapter/gettingstarted/registration/lora.html # https://docs.pycom.io/chapter/tutorials/lora/lorawan-abp.html # Device EUI = 70B3D5499C804184 (wird von TTN ignoriert) # print(binascii.hexlify(lora.mac()).upper().decode('utf-8')) # Auf ttn gibt es eine "button_count_app" AppEUI=70B3D57ED000BBD2 # Das Device heisst lopy_button_device print("LoRa ABP example") lora = LoRa(mode=LoRa.LORAWAN, region=LoRa.EU868) # die folgenden drei Teile werden von TTN berechnet, wenn man das # Device anlegt. dev_addr wird zur Kommunikation verwendet. dev_addr = struct.unpack(">l", binascii.unhexlify('26011BEE'))[0] nwk_swkey = binascii.unhexlify('0C5ACBB5F46C48CE110EF6C20C430A09') app_swkey = binascii.unhexlify('80846A7ED4E027D02464F6FC7A84AB48') lora.join(activation=LoRa.ABP, auth=(dev_addr, nwk_swkey, app_swkey)) print(lora) s = socket.socket(socket.AF_LORA, socket.SOCK_RAW) s.setsockopt(socket.SOL_LORA, socket.SO_DR, 5) # s.settimeout(3.0) s.setblocking(True) s.send(bytes([1, 2, 3])) time.sleep(3) s.setblocking(False) try: data = s.recv(64) print("received data:", data) except socket.timeout: print('No packet received') lora()