Use the LoRaWAN 915 module to connect to the network via OTAA mode, configure the frequency band and data rate parameters, and periodically send payload data and receive downlink data.
from m5stack import *
from m5ui import *
from uiflow import *
from comx.LoRaWAN import LoRaWAN_915
import time
screen = M5Screen()
screen.clean_screen()
screen.set_screen_bg_color(0xFFFFFF)
flag = None
lora915 = LoRaWAN_915(tx=17, rx=16)
lora915.set_join_mode(0)
lora915.config_OTAA('', '', '')
lora915.set_frequency_band_mask('0002')
lora915.set_rx_window_param(0, 0, 923300000)
lora915.set_class_mode(2)
lora915.set_uplink_downlink_mode(2)
lora915.join(1, 1, 8, 8)
flag = False
while True:
if not flag and lora915.check_join_status():
flag = True
print('Joined')
if flag:
lora915.send_data('M5STACK', 1, 5)
print(lora915.check_downlink_data())
wait(10)
wait_ms(2)
lora915.check_downlink_data()
lora915.check_join_status()
lora915.check_uplink_status()
lora915.set_frequency_band_mask('0001')
lora915.set_rx_window_param(0, 0, 923300000)
lora915.set_class_mode(0)
lora915.set_uplink_downlink_mode(1)
lora915.config_OTAA('', '', '')
lora915.get_ABP_config()
lora915.get_OTAA_config()
LoRaWAN_915(tx=0, rx=0)
lora915.join(1, 1, 8, 1)
lora915.join(0)
lora915.receive_data()
lora915.send_data('')
lora915.set_join_mode(0)
lora915.set_uplink_app_port(1)
which application the data packet is sent to on the network server.