moved stuff + scanner com/hid edits
This commit is contained in:
41
extensions/python/ScannerCOM/scanner.py
Normal file
41
extensions/python/ScannerCOM/scanner.py
Normal file
@@ -0,0 +1,41 @@
|
||||
import serial
|
||||
import requests
|
||||
import time
|
||||
|
||||
# --- CONFIGURATION ---
|
||||
COM_PORT = 'COM5' # Change to /dev/ttyUSB0 on Linux
|
||||
BAUD_RATE = 115200
|
||||
# The IP of the PC running your Flask WebUI
|
||||
SERVER_URL = "https://scanner.sekidesu.xyz/scan" # Change to your server's URL
|
||||
|
||||
def run_bridge():
|
||||
try:
|
||||
# Initialize serial connection
|
||||
ser = serial.Serial(COM_PORT, BAUD_RATE, timeout=0.1)
|
||||
print(f"Connected to {COM_PORT} at {BAUD_RATE} bauds.")
|
||||
print("Ready to scan. Try not to break it.")
|
||||
|
||||
while True:
|
||||
# Read line from scanner (most scanners send \r or \n at the end)
|
||||
if ser.in_waiting > 0:
|
||||
barcode = ser.readline().decode('utf-8').strip()
|
||||
|
||||
if barcode:
|
||||
print(f"Scanned: {barcode}")
|
||||
try:
|
||||
# Send to your existing Flask server
|
||||
# We use the same parameter 'content' so your server doesn't know the difference
|
||||
resp = requests.get(SERVER_URL, params={'content': barcode})
|
||||
print(f"Server responded: {resp.status_code}")
|
||||
except Exception as e:
|
||||
print(f"Failed to send to server: {e}")
|
||||
|
||||
time.sleep(0.01) # Don't melt your CPU
|
||||
|
||||
except serial.SerialException as e:
|
||||
print(f"Error opening {COM_PORT}: {e}")
|
||||
except KeyboardInterrupt:
|
||||
print("\nBridge stopped by user. Quitter.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
run_bridge()
|
||||
36
extensions/python/ScannerCOM/scannerV2.py
Normal file
36
extensions/python/ScannerCOM/scannerV2.py
Normal file
@@ -0,0 +1,36 @@
|
||||
import serial
|
||||
import requests
|
||||
import time
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
def run_bridge():
|
||||
parser = argparse.ArgumentParser(description="Scanner Bridge for the technically impaired")
|
||||
parser.add_argument('--port', default='COM5', help='Serial port (default: COM5)')
|
||||
parser.add_argument('--baud', type=int, default=115200, help='Baud rate (default: 115200)')
|
||||
parser.add_argument('--url', default='https://scanner.sekidesu.xyz/scan', help='Server URL')
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
ser = serial.Serial(args.port, args.baud, timeout=0.1)
|
||||
print(f"Connected to {args.port} at {args.baud} bauds.")
|
||||
|
||||
while True:
|
||||
if ser.in_waiting > 0:
|
||||
barcode = ser.readline().decode('utf-8', errors='ignore').strip()
|
||||
if barcode:
|
||||
print(f"Scanned: {barcode}")
|
||||
try:
|
||||
resp = requests.get(args.url, params={'content': barcode}, timeout=5)
|
||||
print(f"Server responded: {resp.status_code}")
|
||||
except Exception as e:
|
||||
print(f"Failed to send to server: {e}")
|
||||
time.sleep(0.01)
|
||||
|
||||
except serial.SerialException as e:
|
||||
print(f"Error opening {args.port}: {e}")
|
||||
except KeyboardInterrupt:
|
||||
print("\nBridge stopped. Finally.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
run_bridge()
|
||||
Reference in New Issue
Block a user