Compare commits
3 Commits
main
...
pyLoraRFM9
Author | SHA1 | Date |
---|---|---|
|
1a089a38a1 | |
|
c68c360abf | |
|
6843dc9714 |
27
main.py
27
main.py
|
@ -3,14 +3,9 @@ import serial, subprocess, time
|
||||||
import busio
|
import busio
|
||||||
from digitalio import DigitalInOut, Direction, Pull
|
from digitalio import DigitalInOut, Direction, Pull
|
||||||
import board
|
import board
|
||||||
#import adafruit_rfm69
|
|
||||||
import adafruit_rfm9x
|
|
||||||
|
|
||||||
CS = DigitalInOut(board.CE1)
|
from pyLoraRFM9x import LoRa, ModemConfig
|
||||||
RESET = DigitalInOut(board.D25)
|
|
||||||
spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)
|
|
||||||
#rfm = adafruit_rfm69.RFM69(spi, CS, RESET, 868.0)
|
|
||||||
rfm = adafruit_rfm9x.RFM9x(spi, CS, RESET, 868.0)
|
|
||||||
|
|
||||||
addr = '/tmp/rfmtty'
|
addr = '/tmp/rfmtty'
|
||||||
addr_client = '/tmp/rfmtty_client'
|
addr_client = '/tmp/rfmtty_client'
|
||||||
|
@ -22,23 +17,23 @@ time.sleep(1)
|
||||||
|
|
||||||
ser = serial.serial_for_url(addr)
|
ser = serial.serial_for_url(addr)
|
||||||
|
|
||||||
|
def on_recv(payload):
|
||||||
|
print(f'Received lora data: {payload.message}')
|
||||||
|
ser.write(payload.message)
|
||||||
|
|
||||||
|
lora_address = 2
|
||||||
|
lora = LoRa(1, 5, lora_address, reset_pin = 25, modem_config=ModemConfig.Bw125Cr45Sf128, tx_power=14, receive_all=True)
|
||||||
|
lora.on_recv = on_recv
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
packet = None
|
|
||||||
packet = rfm.receive()
|
|
||||||
ser_data = bytearray()
|
ser_data = bytearray()
|
||||||
while ser.inWaiting() > 0 and len(ser_data) <= 252:
|
while ser.inWaiting() > 0 and len(ser_data) <= 248:
|
||||||
recieved_byte = ser.read(1)
|
recieved_byte = ser.read(1)
|
||||||
ser_data += recieved_byte
|
ser_data += recieved_byte
|
||||||
if ser_data == b'':
|
if ser_data == b'':
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
print(f'Received serial data: {ser_data}')
|
print(f'Received serial data: {ser_data}')
|
||||||
rfm.send(ser_data)
|
lora.send(bytes(ser_data), 255)
|
||||||
if packet is None:
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
print(f'Received lora byte: {packet}')
|
|
||||||
ser.write(packet)
|
|
||||||
|
|
||||||
socat_proc.kill()
|
socat_proc.kill()
|
Loading…
Reference in New Issue