Add background KISS connection, log frames to database #20
14
db_test.py
Normal file
14
db_test.py
Normal file
|
@ -0,0 +1,14 @@
|
|||
import sqlite3
|
||||
|
||||
def get_db_connection():
|
||||
conn = sqlite3.connect('database.db')
|
||||
conn.row_factory = sqlite3.Row
|
||||
return conn
|
||||
|
||||
frame1 = "W1CDN-1>APDW16,K0UND-2*:;147.390GF*111111z4755.45N/09700.58Wr147.390MHz +060 https://www.wa0jxt.org/"
|
||||
|
||||
conn = get_db_connection()
|
||||
conn.execute('INSERT INTO frames (frame) VALUES (?)',
|
||||
(frame1,))
|
||||
conn.commit()
|
||||
conn.close()
|
19
init_db.py
Normal file
19
init_db.py
Normal file
|
@ -0,0 +1,19 @@
|
|||
import sqlite3
|
||||
|
||||
connection = sqlite3.connect('database.db')
|
||||
|
||||
with open('schema.sql') as f:
|
||||
connection.executescript(f.read())
|
||||
|
||||
cur = connection.cursor()
|
||||
|
||||
# cur.execute("INSERT INTO posts (title, content) VALUES (?, ?)",
|
||||
# ('First Post', 'Content for the first post')
|
||||
# )
|
||||
#
|
||||
# cur.execute("INSERT INTO posts (title, content) VALUES (?, ?)",
|
||||
# ('Second Post', 'Content for the second post')
|
||||
# )
|
||||
|
||||
connection.commit()
|
||||
connection.close()
|
|
@ -33,7 +33,12 @@ def main():
|
|||
ki.read(callback=print_frame, min_frames=None)
|
||||
|
||||
# put some database stuff here
|
||||
|
||||
print(Frame.from_bytes(frame))
|
||||
conn = get_db_connection()
|
||||
conn.execute('INSERT INTO frames (frame) VALUES (?)',
|
||||
(Frame.from_bytes(frame)))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
7
schema.sql
Normal file
7
schema.sql
Normal file
|
@ -0,0 +1,7 @@
|
|||
DROP TABLE IF EXISTS frames;
|
||||
|
||||
CREATE TABLE frames (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
frame TEXT NOT NULL
|
||||
);
|
49
tcp_send_recv.py
Normal file
49
tcp_send_recv.py
Normal file
|
@ -0,0 +1,49 @@
|
|||
|
||||
|
||||
#!/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()
|
Loading…
Reference in New Issue
Block a user