Further simplify gateway code. Next step: A settings file

This commit is contained in:
Starbeamrainbowlabs 2018-11-15 19:50:38 +00:00
parent 2266532db4
commit 26e90adbf8
Signed by: sbrl
GPG key ID: 1BE5172E637709C2

View file

@ -17,21 +17,15 @@ GATEWAY_HOST = "router.eu.thethings.network"
GATEWAY_PORT = 1700
class LoRaPacketsDB(object):
def __init__(self):
pass
def log_pkg(self, board, packet):
print("[{}] [receive] freq: {}, crc: {}, signal-noise-ratio: {}, signal strength: {} (packet: {})".format(
payload['datetime'].isoformat(),
board.frequency,
payload.get('crc'),
payload.get('pkt_snr'),
payload.get('rssi'),
payload.get('pkt_rssi'),
))
def log_packet(self, board, packet):
print("[{}] [receive] freq: {}, crc: {}, signal-noise-ratio: {}, signal strength: {} (packet: {})".format(
payload['datetime'].isoformat(),
board.frequency,
payload.get('crc'),
payload.get('pkt_snr'),
payload.get('rssi'),
payload.get('pkt_rssi'),
))
def construct_semtec_udp(board, payload):
@ -68,29 +62,29 @@ def construct_semtec_udp(board, payload):
if __name__ == "__main__":
# sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
db = LoRaPacketsDB()
with LoraBoardDraguino(433300000, 7) as board:
board.set_mode_rx()
print("Listening at SF{} on {} MHz".format(
board.sf,
board.frequency / 1000000
))
while True:
if GPIO.input(board._pin_dio0) == 1:
payload = board.receive_package()
# semtec_udp = construct_semtec_udp(board, payload)
# sock.sendto(semtec_udp, (GATEWAY_HOST, GATEWAY_PORT))
# logging.info(semtec_udp)
# logging.info("Received: {}".format(payload))
print("Received at {}: {} = {}".format(
payload['datetime'].isoformat(),
payload['payload'].hex(),
payload['payload'][4:]
))
db.log_pkg(board, payload)
if GPIO.input(board._pin_dio0) != 1:
continue
payload = board.receive_package()
# semtec_udp = construct_semtec_udp(board, payload)
# sock.sendto(semtec_udp, (GATEWAY_HOST, GATEWAY_PORT))
# logging.info(semtec_udp)
# logging.info("Received: {}".format(payload))
print("Received at {}: {} = {}".format(
payload['datetime'].isoformat(),
payload['payload'].hex(),
payload['payload'][4:]
))
log_packet(board, payload)