Skip to content

Benefranko/Barcode-Scanner-Feinkost-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Barcode-Scanner-Feinkost-

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.

Vorschau1 Vorschau1 Vorschau1

Installation mit Installer

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

Manuelle Installation

Autostart:

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"

Aktiviere Herunterfahren & Neustarten über Web

sudo visudo

Und füge folgende Zeile hinzu:

user_name ALL=(ALL) NOPASSWD: /sbin/reboot, /sbin/shutdown

Installation

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.

WICHTIG:

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!

Abhängigkeiten Installation zusammengefasst:

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.*

Abhängigkeiten Schritt für Schritt installieren:

Da es viele Pakete nur in älteren Version gibt, wird Python 3.7 empfohlen

1. MS SQL Open Source Driver:

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

Einrichten des Drivers nach der Installation:

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

Oder Driver offiziell von Mircosoft

(Kein Support für ArmV8-Architektur! -> Funktioniert nicht auf dem Raspberry-Pi)

Microsoft Download Seite zu odbc-driver-for-sql

2. Zum Laden des Datenbank Drivers pyodbc:

sudo apt install python3-pyodbc

Getestet mit:
python3-pyodbc/oldstable,now 4.0.22-1+b1 armhf
Python3 module for ODBC database access

3. Für die Grafik: PyQt bzw. hier Pyside2 Bibliotheken:

sudo apt install python3-PySide2.*