aprs_tool/tcp_send_recv.py
2023-04-13 20:46:28 -05:00

50 lines
1.1 KiB
Python

#!/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.
"""
import os
import sqlite3
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 get_db_connection():
conn = sqlite3.connect('database.db')
conn.row_factory = sqlite3.Row
return conn
def print_frame(frame):
print(Frame.from_bytes(frame))
a = str(Frame.from_bytes(frame))
dir(frame)
return(a)
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)
ki.read(callback=print_frame, min_frames=None)
conn = get_db_connection()
print(ki.read(callback=print_frame, min_frames=None),)
#conn.execute('INSERT INTO frames (frame) VALUES (?)',
# ((,))
conn.commit()
conn.close()
if __name__ == "__main__":
main()