Mit diesem Programm sollen Kunden des Innkaufhauses durch das Scannen eines Barcodes von Produkten zusätzliche Informationen zu diesen erhalten. Die Informationen werden dabei aus der Datenbank des Warenwirtschaftssystems von JTL (JTL Wawi) abgefragt.
https://github.com/M4RKUS28/FeinkostBarcodeScannerInstaller
Installation durch:
wget -O /tmp/fkbc_install.sh https://raw.githubusercontent.com/M4RKUS28/FeinkostBarcodeScannerInstaller/main/install.sh; sudo chmod +x /tmp/fkbc_install.sh; sudo /tmp/fkbc_install.sh
Deinstallation mit:
wget -O /tmp/fkbc_uninstall.sh https://raw.githubusercontent.com/M4RKUS28/FeinkostBarcodeScannerInstaller/main/uninstall.sh; sudo chmod +x /tmp/fkbc_uninstall.sh; sudo /tmp/fkbc_uninstall.sh
tee /home/pi/.config/autostart/feinkostbarcodescanner.desktop "
[Desktop Entry]
Name=FeinkostBarcodeScanner
Type=Application
Exec=/usr/bin/python /home/pi/FeinkostBarcodeScanner/src/main.py
Terminal=false"
sudo visudo
Und füge folgende Zeile hinzu:
user_name ALL=(ALL) NOPASSWD: /sbin/reboot, /sbin/shutdown
Neben der Installation der Abhängigkeiten muss zu dem die Datei
src/constants.py-template.txt
zu src/constants.py
umbenannt werden. In dieser Datei können
grundlegende Einstellungen wie z.B. der Webserverport festgelegt werden.
Diese Datei wird bei Updates ignoriert! Sollte ein Hauptupdate (erste Stelle einer Version verändert sich) vorliegen,
so muss die Datei src/constants.py-template.txt
eigenständig von Github heruntergeladen werden und erneut umbenannt
und die Einstallungen übertragen werden!
Durch folgenden Bash-Code sollten alle benötigten Abhängigkeiten installiert werden. Sollten dabei Probleme auftreten, werden darauffolgend noch einmal alle Schritte detaillierter aufgeführt.
# 1. Driver
sudo apt install tdsodbc freetds-dev freetds-bin unixodbc-dev
# Save driver Location for Driver Loader
sudo tee -a "/etc/odbcinst.ini" "[FreeTDS]
Description=FreeTDS Driver
Driver=/usr/lib/arm-linux-gnueabihf/odbc/libtdsodbc.so
Setup=/usr/lib/arm-linux-gnueabihf/odbc/libtdsS.so"
# 2. Driver Loader, 3. Graphics, 4. Python-modules:
sudo apt install python3-pyodbc python3-PySide2.*
Da es viele Pakete nur in älteren Version gibt, wird Python 3.7 empfohlen
sudo apt install tdsodbc freetds-dev freetds-bin unixodbc-dev
Getestet mit:
tdsodbc/oldstable,now 1.00.104-1+deb10u1 armhf
ODBC driver for connecting to MS SQL and Sybase SQL servers
Connect to MSSQL using FreeTDS / ODBC in Python. - Github
What's causing 'unable to connect to data source' for pyodbc? - Stackoverflow
Mit sudo nano /etc/odbcinst.ini
folgenden Text einfügen:
einfügen und ggf. Pfade ändern (manchmal auch unter /usr/lib/odbc/):
[FreeTDS]
Description=FreeTDS Driver
Driver=/usr/lib/arm-linux-gnueabihf/odbc/libtdsodbc.so
Setup=/usr/lib/arm-linux-gnueabihf/odbc/libtdsS.so
Dadurch kann pyodbc den Driver finden. Weitere Informationen unter
FreeTDS.support.Microsoft
bzw. Informationen zur Protokollversion unter
ChoosingTdsProtocol
(Kein Support für ArmV8-Architektur! -> Funktioniert nicht auf dem Raspberry-Pi)
Microsoft Download Seite zu odbc-driver-for-sql
sudo apt install python3-pyodbc
Getestet mit:
python3-pyodbc/oldstable,now 4.0.22-1+b1 armhf
Python3 module for ODBC database access
sudo apt install python3-PySide2.*