Hi All I am trying to communicate between Heltec LoRa V3 module with Dragino LA66 USB Adapter. I did tried my best tried different configurations but all in vain. Any insights on the issue will be highly appreciated.
Draginos LA66 is flashed with peer to peer FW. Here is the python code for setting up the device:
import serial
import time
FREQUENCY = 868.500 # Frequency in Hz
POWER = 5 # Sets the output power [dBm]
FREQUENCY_DEVIATION = 0 # Always 0 for LoRa
BANDWIDTH = 0 # Sets the bandwidth (LoRa only)
# LoRa: [0: 125 kHz, 1: 250 kHz,
# 2: 500 kHz]
DATA_RATE = 10 # Spreading Factor
CODING_RATE = 1 # Sets the coding rate (LoRa only)
# LoRa: [1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8]
PREAMBLE_LENGTH = 8
FIX_LENGTH = 0 # Fixed length packets [0: variable, 1: fixed]
CRC_ON = 0 # Enables disables the CRC [0: OFF, 1: ON]
FREQUENCY_HOP_ON = 0 # Enables disables the intra-packet frequency hopping
# Only for LoRa: [0: OFF, 1: ON]
FREQUENCY_HOP_PERIOD = 0
IQ_INVERTED = 0 # Inverts IQ signals (LoRa only)
# LoRa: [0: not inverted, 1: inverted]
NETWORK_TYPE = 0 # Sets the network type [0: private, 1: public]
TIMEOUT = 3000 # Transmission timeout [ms]
def setup_lora_usb(port, baudrate=9600):
ser = serial.Serial(port, baudrate, timeout=0.001)
time.sleep(2) # Wait for the device to initialize
return ser
def setup_la66(ser):
# Configure the Dragino LA66
send_at_command(ser, f'AT+FDR')
send_at_command(ser, f'AT+FRE={FREQUENCY:.3f},{FREQUENCY:.3f}')
send_at_command(ser, f'AT+BW={BANDWIDTH},{BANDWIDTH}')
send_at_command(ser, f'AT+SYNCWORD={NETWORK_TYPE},{NETWORK_TYPE}')
send_at_command(ser, f'AT+POWER={POWER},{POWER}')
send_at_command(ser, f'AT+SF={DATA_RATE},{DATA_RATE}')
send_at_command(ser, f'AT+CR={CODING_RATE},{CODING_RATE}')
send_at_command(ser, f'AT+PREAMBLE={PREAMBLE_LENGTH},{PREAMBLE_LENGTH}')
send_at_command(ser, f'AT+CRC={CRC_ON},{CRC_ON}')
send_at_command(ser, f'AT+IQ={IQ_INVERTED},{IQ_INVERTED}')
send_at_command(ser, f'AT+GROUPMOD=0,0')
send_at_command(ser, f'AT+HEADER={FIX_LENGTH},{FIX_LENGTH}')
send_at_command(ser, 'AT+RXMOD=65535,0')
send_at_command(ser, f'ATZ')
def send_at_command(ser, command, delay=1):
ser.flushInput() # Clear any data in the input buffer
ser.write((command + '\r\n').encode('utf-8'))
time.sleep(delay)
response = ser.readlines()
for line in response:
print(line.decode('utf-8').strip())
def send_lora_message(ser, message):
while True:
try:
send_at_command(ser, f'AT+SEND={len(message)},{message}')
except KeyboardInterrupt:
break
def receive_lora_message(ser):
while True:
try:
send_at_command(ser, 'AT+RECV=1', delay=1)
except KeyboardInterrupt:
break
def main():
ser = setup_lora_usb('/dev/ttyUSB0')
setup_la66(ser)
# send_lora_message(ser, 'Hello, World!')
receive_lora_message(ser)
ser.close()
if __name__ == '__main__':
main()
I tried to have identical configurations and also tweaked the settings but both of the devices does not communicate. For testing purpose they both are connected to the same laptop.
Any insights will be highly appreciated.
Thank you so much in advance.
Bonjour
Je doit faire communiquer également un HELTEC WiFi Lora 32 v3 et un DRAGINO LA66 en peer-to-peer. Sans succès.
Avez-vous résolu votre problème?
Bien à vous
Hi All I am trying to communicate between Heltec LoRa V3 module with Dragino LA66 USB Adapter. I did tried my best tried different configurations but all in vain. Any insights on the issue will be highly appreciated. Draginos LA66 is flashed with peer to peer FW. Here is the python code for setting up the device:
On the other hand the FW for Heltec LoRa V3 is:
I tried to have identical configurations and also tweaked the settings but both of the devices does not communicate. For testing purpose they both are connected to the same laptop. Any insights will be highly appreciated. Thank you so much in advance.