EOFerror при запуске

после загрузки скрипта при запуске я получил ошибку EOFerror: Script работает в режиме CLI. EOF при чтении строки.

Штрих-код: Проследить назад (последний последний вызов): Файл "/home/pi/BCKHL.py", строка 48, в compare() Файл "/home/pi/BCKHL.py", строка 20, в сравнение barcode=input ("штрих-код:")

Скрипт работает при запуске вручную.

вот код скрипта:

import RPi.GPIO as GPIO
    ###setup###
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(18, GPIO.OUT) #Ventil 1#
GPIO.output(18, GPIO.LOW)
GPIO.setup(21, GPIO.OUT) #Ventil 2#
GPIO.output(21, GPIO.LOW)
GPIO.setup(38, GPIO.OUT) #Ventil 1 crvena led#
GPIO.output(38, GPIO.HIGH)
GPIO.setup(40, GPIO.OUT) #Ventil 1 zelena led#
GPIO.output(40, GPIO.LOW)
GPIO.setup(35, GPIO.OUT) #Ventil 2 crvenaled#
GPIO.output(35, GPIO.HIGH)
GPIO.setup(37, GPIO.OUT) #Ventil 2 zelena led lampa#
GPIO.output(37, GPIO.LOW)

def compare():
    while True:
        barcode=input("Barcode:")
        if barcode=="S5000070931":
            GPIO.output(18, GPIO.HIGH)            
            GPIO.output(21, GPIO.LOW)
            GPIO.output(38, GPIO.LOW)
            GPIO.output(40, GPIO.HIGH)
            GPIO.output(35, GPIO.HIGH)
            GPIO.output(37, GPIO.LOW)

            continue
        elif barcode=="S5000057670":
            GPIO.output(18, GPIO.LOW)
            GPIO.output(21, GPIO.HIGH)
            GPIO.output(40, GPIO.LOW)
            GPIO.output(38, GPIO.HIGH)
            GPIO.output(35, GPIO.LOW)
            GPIO.output(37, GPIO.HIGH)
            continue
        else:
            print("Molim Vas da skenirate ispravan barkod")
            GPIO.output(18, GPIO.LOW)
            GPIO.output(21, GPIO.LOW)
            GPIO.output(38, GPIO.HIGH)
            GPIO.output(35, GPIO.HIGH)
            GPIO.output(40, GPIO.LOW)
            GPIO.output(37, GPIO.LOW)
            continue

compare()

Кто-нибудь знает, как решить эту проблему?

Спасибо.


person VizslaLover    schedule 04.03.2019    source источник
comment
Похоже, вы не являетесь неактивным терминалом. Как вы это начали?   -  person Klaus D.    schedule 04.03.2019
comment
Я пробовал этот метод: systemd. По этой ссылке learn.sparkfun.com/tutorials/   -  person VizslaLover    schedule 04.03.2019
comment
input запрашивает ввод через stdin. Это не имеет смысла для системной службы, поскольку нет никого, кто мог бы предоставить этот ввод.   -  person MisterMiyagi    schedule 04.03.2019
comment
Я пытался с помощью:   -  person VizslaLover    schedule 04.03.2019


Ответы (1)


Попробуйте запустить его из .bashrc

sudo nano /home/pi/.bashrc

в последней строке напишите:

echo Running at boot 
sudo python3 /home/pi/BCKHL.py

И не забудьте удалить его из rc.local, если он у вас все еще там.

person budosan jovan    schedule 04.03.2019