diff --git a/add_button.py b/add_button.py new file mode 100755 index 0000000..572acb4 --- /dev/null +++ b/add_button.py @@ -0,0 +1,56 @@ +#!/usr/bin/python3 +import serial +import time +import sys + +def list_buttons(ser): + ser.write(b'\r\n') + time.sleep(0.1) + ser.write(b'list_buttons\r\n') + + expect_button_line = False + buttons_in_arduino = [] + while True: + line = ser.readline() + if line.strip() == b"button list start": + expect_button_line = True + continue + + if expect_button_line and line.startswith(b"button: "): + key, val = line.strip().split(b" ") + buttons_in_arduino.append(val) + if line == b"": + break + buttons_in_arduino.sort() + print(len(buttons_in_arduino)) + return buttons_in_arduino + +def remove_button(ser, button): + ser.write(b'\r\n') + time.sleep(0.1) + ser.write(b'remove_button '+ button + b'\r\n') + while True: + line = ser.readline() + if line == b"": + break + print(line) + +def add_button(ser, button, secret): + ser.write(b'\r\n') + time.sleep(0.1) + ser.write(b'add_button '+ button + b' ' + secret + b'\r\n') + while True: + line = ser.readline() + if line == b"": + break + print(line) + +if len(sys.argv) < 3: + print("Usage: add_button button secret") + sys.exit(1) + +for tty in [ "/dev/ttyS1", "/dev/ttyS2" ]: + with serial.Serial(tty, 115200, timeout=1) as ser: + add_button(ser, sys.argv[1], sys.argv[2]) + + print(list_buttons(ser)) diff --git a/list_buttons.py b/list_buttons.py new file mode 100755 index 0000000..31ed72a --- /dev/null +++ b/list_buttons.py @@ -0,0 +1,52 @@ +#!/usr/bin/python3 +import serial +import time +import sys + +def list_buttons(ser): + ser.write(b'\r\n') + time.sleep(0.1) + ser.write(b'list_buttons\r\n') + + expect_button_line = False + buttons_in_arduino = [] + while True: + line = ser.readline() + if line.strip() == b"button list start": + expect_button_line = True + continue + + if expect_button_line and line.startswith(b"button: "): + key, val = line.strip().split(b" ") + buttons_in_arduino.append(val) + if line == b"": + break + buttons_in_arduino.sort() + print(len(buttons_in_arduino)) + return buttons_in_arduino + +def remove_button(ser, button): + ser.write(b'\r\n') + time.sleep(0.1) + ser.write(b'remove_button '+ button + b'\r\n') + while True: + line = ser.readline() + if line == b"": + break + print(line) + +def add_button(ser, button, secret): + ser.write(b'\r\n') + time.sleep(0.1) + ser.write(b'add_button '+ button + b' ' + secret + b'\r\n') + while True: + line = ser.readline() + if line == b"": + break + print(line) + + +for tty in [ "/dev/ttyS1", "/dev/ttyS2" ]: + with serial.Serial(tty, 115200, timeout=1) as ser: + print(list_buttons(ser)) + diff --git a/program_button.sh b/program_button.sh new file mode 100755 index 0000000..6f598c5 --- /dev/null +++ b/program_button.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +echo "Biedt een iButton aan om te (her)programmeren" +echo "Formaat: :" +echo "CTRL+C om af te sluiten" +cat /dev/ttyACM0