Stub out a KISS connection.

It seems to simultaneously run the API and keep the KISS connection open 
in the background.
This commit is contained in:
W1CDN 2023-04-13 17:16:16 -05:00
parent fb027194e8
commit 5e86b40f38
3 changed files with 43 additions and 2 deletions

View File

@ -53,6 +53,10 @@ log_folder = config['Settings']['log_folder']
# Load logs first (just to check for errors before page loads) # Load logs first (just to check for errors before page loads)
data = read_logs(log_folder) data = read_logs(log_folder)
# Start subprocess to watch KISS connection
import subprocess
subprocess.Popen(["python3","kiss_and_db.py"])
api.add_resource(Packets, '/packets') # and '/locations' is our entry point for Locations api.add_resource(Packets, '/packets') # and '/locations' is our entry point for Locations
if __name__ == '__main__': if __name__ == '__main__':

39
kiss_and_db.py Normal file
View File

@ -0,0 +1,39 @@
#!/usr/bin/env python3
"""
Send a test frame via TCP, then read & print KISS frames from a TCP Socket.
For use with programs like Dire Wolf.
From https://github.com/python-aprs/kiss3/blob/main/examples/tcp_send_recv.py
"""
import os
from ax253 import Frame
import kiss
MYCALL = os.environ.get("MYCALL", "W1CDN")
KISS_HOST = os.environ.get("KISS_HOST", "192.168.0.30")
KISS_PORT = os.environ.get("KISS_PORT", "8001")
def print_frame(frame):
print(Frame.from_bytes(frame))
def main():
ki = kiss.TCPKISS(host=KISS_HOST, port=int(KISS_PORT), strip_df_start=True)
ki.start()
# frame = Frame.ui(
# destination="PYKISS",
# source=MYCALL,
# path=["WIDE1-1"],
# info=">Hello World!",
# )
#ki.write(frame)
# Write received frame to terminal
ki.read(callback=print_frame, min_frames=None)
# put some database stuff here
if __name__ == "__main__":
main()

View File

@ -1,4 +1,2 @@
flask flask
flask_restful flask_restful
pandas
numpy