www.elektronik.si
Problem pri avtomatskem zagonu programa

www.elektronik.si -> Raspberry Pi sekcija

Avtor: jorga01Kraj: Ravne na Koroškem PrispevekObjavljeno: Pet Mar 08, 2019 12:20 pm    Naslov sporočila:  Problem pri avtomatskem zagonu programa
----------------------------------------------------------------------------
Zdravo,

imam problem pri avtomatskem zagonu python programa na raspberryu.

Program je sicer napisan za krmiljenje oz. kontroliranje štiri 7-segmentna displaya in sicer način delovanja je sledeči:
Glede na to da imam KINGBRIGHT 7-segmentne, pri katerim sta 3,8 skupni plus, kaj bo svetilo pa določajo minusi. Program se poveže z bazo podatkov iz katere prebere trenutni rezultat in ga izpiše na displayih. Uspel sem tudi narediti tako, da program deluje brez monitorja oz. se sam zažene pri vklopu Raspberrya.

Do problema pride samo pri prvem zagonu raspberrya, torej ko ga prvič priključim se nič ne zgodi, ampak morem monitor povezat ter zagnat program. Potem pa vsakič ko naslednjič vklopim pa izklopim Raspberry se sam zažene.

Eh?

Avtor: mjanez PrispevekObjavljeno: Pet Mar 08, 2019 12:48 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Živjo

Si uporabil sudo nano /etc/rc.local in dodal python skripto ali kakšno drugo metodo?

Avtor: jorga01Kraj: Ravne na Koroškem PrispevekObjavljeno: Pet Mar 08, 2019 1:20 pm    Naslov sporočila:  
----------------------------------------------------------------------------
ja uporabil sem rc.local in vanj dal celoten naslov python skripte

Avtor: miharixKraj: LJ PrispevekObjavljeno: Pet Mar 08, 2019 6:16 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Nekako mi to diši po nepravilni inicializaciji pinov. Torej kateri so in/out.
Mogoče se ti skripta zažene prehitro?

Ena opcija je tudi, da jo vršiš preko cronjob-a (ob zagonu/vsakih n-minut...).

Avtor: jorga01Kraj: Ravne na Koroškem PrispevekObjavljeno: Sob Mar 09, 2019 10:11 am    Naslov sporočila:  
----------------------------------------------------------------------------
PINi 15, 18, 23, 24 so izkoriščeni kot output PINi za pluse 7-segmentnih.
PINi 25, 8, 7, 1, 12, 16, 20 pa so izkoriščeni kot output PINi za minuse.

Prvi del kode (deklaracije in povezovanje z bazo) je pa takšen:

import RPi.GPIO as GPIO
from threading import Thread
import time
import MySQLdb
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
izb = 0
izb2 = 0
l = 0.003
timer = 0
c = GPIO.HIGH
d = GPIO.LOW


minus = (25,8,7,1,12,16,20)
for segment in minus:
GPIO.setup(segment, GPIO.OUT)
#GPIO.output(segment, d)

plus = (18,15,23,24)
for digit in plus:
GPIO.setup(digit, GPIO.OUT)
#GPIO.output(digit, d)


num = {'0': (d,d,d,d,d,d,c),
'1': (c,d,d,c,c,c,c),
'2': (d,d,c,d,d,c,d),
'3': (d,d,d,d,c,c,d),
'4': (c,d,d,c,c,d,d),
'5': (d,c,d,d,c,d,d),
'6': (d,c,d,d,d,d,d),
'7': (d,d,d,c,c,c,c),
'8': (d,d,d,d,d,d,d),
'9': (d,d,d,d,c,d,d)}

db = MySQLdb.connect(host= "193.2.42.18",
user="remoteuser",
passwd="Mavrica2016!",
db="sportni_semafor",
port=3306 )
cur = db.cursor()
#print(db)

V drugem delu pa program ko prebere število iz baze, ga razdeli na števke ter pošlje določen signal glede na to katero število bi se moralo izpisati.

Avtor: RGorazdKraj: Ig PrispevekObjavljeno: Čet Mar 14, 2019 10:48 am    Naslov sporočila:  
----------------------------------------------------------------------------
Če te prav razumem, se program zažene, če imaš priključen monitor ?

Sam sem ugotovil, da če imaš naložen NOOBS, se RPI ne zboota, če ni nič priključeno na HDMI. Po netu sem zastonj iskal rešitev. Noben napotek ni bil koristen. Sem pa ugotovil, da se zadeva lepo zboota, če NOOBSa ni, se pravi, da imaš na SD kartici image enega OSa.

LP G

Stran 1 od 1

Powered by phpBB © 2001,2002 phpBB Group