# RN2483 LoRaWAN from microbit import * def RN2483_Reset(): # Reset RN2483 uart.init(57600,tx=pin1,rx=pin2 ) pin0.write_digital(1) pin0.write_digital(0) pin0.write_digital(1) RN2483_CheckResponse() def RN2483_SendCommand(command): uart.write(command) RN2483_CheckResponse() def RN2483_CheckResponse(): for i in range(100): sleep(100) if uart.any(): break response_string = uart.readline() def RN2483_SendData(data): uart.write("mac tx uncnf 1 ") for char in data: nibble = char >> 4 if nibble > 9: nibble = nibble + 0x37 else: nibble = nibble + 0x30 uart.write(chr(nibble)) nibble = char & 0x0f if nibble > 9: nibble = nibble + 0x37 else: nibble = nibble + 0x30 uart.write(chr(nibble)) uart.write("\r\n") RN2483_CheckResponse() RN2483_CheckResponse() display.show(Image.NO) RN2483_Reset() #RN2483_SendCommand("sys factoryRESET\r\n") RN2483_SendCommand("mac set devaddr 02011E16\r\n") RN2483_SendCommand("mac set appskey 2B7E151628AED2A6ABF7158809CF4F3C\r\n") RN2483_SendCommand("mac set nwkskey 2B7E151628AED2A6ABF7158809CF4F3C\r\n") RN2483_SendCommand("mac set adr off\r\n") RN2483_SendCommand("mac set rx2 3 869525000\r\n") RN2483_SendCommand("mac join abp\r\n") display.show(Image.YES) while True: RN2483_SendData(b"BBC Micro:Bit Data") sleep(60000)