Сканирование штрих-кода с помощью USB-сканера с raspbery pi, пока приложение python (интерфейс Kivy) все еще работает / работает - PullRequest
0 голосов
/ 23 января 2019

Я хочу создать приложение управления запасами, используя raspberry-pi 3, MySql, библиотеку Kivy для интерфейса пользователя и USB-сканер штрих-кода.

Интерфейс пользователя имеет 2 кнопки: scanning и back to previous page

Проблема в том, что когда я нажимаю scanning, он запускает скрипт (barcodeReader.py) в качестве метода обратного вызова.Пользовательский интерфейс "зависает" и нажатие back to previous page (которое должно завершить процесс, который запустил сценарий barcodeReader.py) не имеет никакого эффекта.

Может кто-нибудь помочь найти решение этой проблемы?

Я добавил некоторый код ниже.

Кнопки для пользовательского интерфейса Kivy созданы в файле .kv.

barcodeReader.py

#!/usr/bin/python
import sys
import os

def barcode_reader():
    # read the code
    return barcodeString

if __name__ == '__main__':
    while True:
        code = barcode_reader()
        with open('/home/pi/barcode.txt', 'w') as f:
            f.write(code)
        print code

mainApp.py

class DisplayTableData(Screen):

    def __init__(self,**kwargs):
        super (DisplayTableData,self).__init__(**kwargs)

    def startScan(self):
        os.system("python barcodeScanner.py &")

    def logOutScope(self,*args):
        self.manager.current = 'screenLogin'
...