Я пробовал несколько способов (crontab и r c .local) сделать это. Я трижды проверял свой код и процессы каждый раз, но безрезультатно.
Я делаю подарок на день отца с кнопкой, на которой написано его любимое слово «Нет!». Каждый раз при перезагрузке моя программа вообще не реагирует на GPIO и прикрепленную кнопку. Так ли я структурировал свой неряшливый код?
Я не являюсь родным в Python, поэтому прошу вас помочь мне.
При запуске с терминала или через Тонни он работает отлично. Но не смотря ни на что, при запуске не загружается!
Вот мой r c .local
Вот мой код для программы:
import pygame
from random import randint
import RPi.GPIO as GPIO
GPIO.setwarnings(False) # Ignore warning for now
GPIO.setmode(GPIO.BOARD) # Use physical pin numbering
GPIO.setup(10, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
pygame.mixer.init()
#pygame.mixer.music.play()
while pygame.mixer.music.get_busy() == True:
continue
proverbFile = 'proverbs/Pro1.mp3'
num = 5
def randNo ():
noFile = '/home/pi/Desktop/audio/no/No1.mp3'
print('Executed!')
default = 1
global num
pulled = 1
while num == pulled:
pulled = randint(1,4)
print('Same!')
num = pulled
print(num)
noFile = noFile.replace(str(default), str(num), 1)
print(noFile)
pygame.mixer.music.load(noFile)
pygame.mixer.music.play()
default = num
def button_callback(channel):
print("Button was pushed!")
randNo()
GPIO.add_event_detect(10,GPIO.RISING,callback=button_callback)
#while True:
# keyPress = input('Press q to quit: ')
# if keyPress == 'q':
# break;
#GPIO.add_event_detect(10,GPIO.RISING,callback=button_callback) # Setup event on pin 10 rising edge