Guten Morgen. Ich habe ein Script geschrieben. Für ein LCD Display 16x02. Meine Frage ist wie startet man das Script das es auf dem Display erscheint?
Vielen Dank.
Automatisch zusammengefügt:
Wen ich das Script ausführen will im Terminal steht keine Berechtigung. kann mir jemand sagen wie ich die Berechtigung bekomme?? vielen Dank.
Script Python wie startet man das Script
-
Mischa -
19. Mai 2016 um 12:03 -
Erledigt
-
-
Script Python wie startet man das Script? Schau mal ob du hier fündig wirst!
-
- Offizieller Beitrag
-
Vielen Dank Schönen Tag das hat mir super geholfen
-
Also erst mal muss man folgendes beachten:
Die Datei ist erst mal nur eine ganz normale Textdatei in der irgend was drin steht. Der Text in der Datei ist in diesem Fall die Programmiersprache Python, die Datei kann also nur ein 'Interpreter' verarbeiten der auch Python versteht.
Nun gibt es die Möglichkeit, Entweder:
- Die Datei direkt dem Interpreter zu übergeben.
- Einen Shebang setzen und die Datei ausführbar zu machen.
zu 1.:
Die Erste Möglichkeit hat dbv bereits vortrefflich beschrieben:
Bei ersterem wechselt man zuvor in das Verzeichnis wo die Datei liegt.
Bei zweitem gibt man den absoluten Pfad der Datei an.zu 2.:
Die Zweite Möglichkeit funktioniert nur in Kombination! Man muss also den absoluten Pfad zum Interpreter in Form von
oder
...angeben UND die Datei mit Ausführrechten ( execute ) versehen.
Vergisst man eins von beidem funktioniert es nicht!
Sind diese Bedingungen erfüllt kann man das Script direkt ausführen:Bei dem ersten brauch man einfach nur wissen dass das aktuelle Verzeichnis als "." gilt, einfach mal "ls -la" eingeben dann sieht man ein mal "." und ein mal ".." - das erste ist das aktuelle das zweite das übergeordnete.
Das zweite sollte klar sein.Man kann aber auch beide Möglichkeiten mischen:
- Auch wenn die Datei ein Shebang besitzt und ausführbar ist, kann man sie trotzdem einem Interpreter übergeben und sogar einem anderen, wenn also der Shebang auf python3 zeigt kann man die Datei auch dem python2 Interpreter übergeben ...Nun gäbe es aber evtl. noch eine Besonderheit:
um GPIO's schalten zu können bedarf es entsprechender Rechte. Normalerweise ist Raspbian so eingerichtet das der Benutzer "pi" auf die GPIO's eigentlich uneingeschränkt zugreifen darf. Manchmal geht das aber doch nicht, dann muss man das Script mithilfe von sudo als root ausführen, denn root darf alles
-
Hallo ich hab da noch eine kleine Frage. Bei mir zeigt es das an wen ich das Script ausführen will siehe Bild. Kann das sein das dass Script nicht Korrekt ist? Freundliche Grüsse Mischa
Automatisch zusammengefügt:
sorry für die Bild Drehung -
- Offizieller Beitrag
Was steht denn in dem Sript?
-
Hallo ich hab da noch eine kleine Frage. Bei mir zeigt es das an wen ich das Script ausführen will siehe Bild. Kann das sein das dass Script nicht Korrekt ist? Freundliche Grüsse Mischa
Automatisch zusammengefügt:
sorry für die Bild Drehung
Was steht denn in dem Sript?Code
Alles anzeigenimport time import RPi.GPIO as GPIO # GPIO <-> HD44780 LCD ZUORDNUNG DISPLAY_RS = 2 DISPLAY_E = 3 DISPLAY_DATA4 = 4 DISPLAY_DATA5 = 14 DISPLAY_DATA6 = 15 DISPLAY_DATA7 = 17 DISPLAY_LIGHT = 10 # HD44780 HARDWARE-FACTS DISPLAY_WIDTH = 16 DISPLAY_LINE_1 = 0x80 DISPLAY_LINE_2 = 0xC0 DISPLAY_CHR = True DISPLAY_CMD = False E_PULSE = 0.00005 E_DELAY = 0.00005 # GPIO INIT GPIO.setmode(GPIO.BCM) # Verwenden der BCM GPIO Zahlen GPIO.setwarnings(False) GPIO.setup(DISPLAY_E, GPIO.OUT) GPIO.setup(DISPLAY_RS, GPIO.OUT) GPIO.setup(DISPLAY_DATA4, GPIO.OUT) GPIO.setup(DISPLAY_DATA5, GPIO.OUT) GPIO.setup(DISPLAY_DATA6, GPIO.OUT) GPIO.setup(DISPLAY_DATA7, GPIO.OUT) GPIO.setup(DISPLAY_LIGHT, GPIO.OUT) # HD44780 senden def lcd_byte(bits, mode): GPIO.output(DISPLAY_RS, mode) GPIO.output(DISPLAY_DATA4, False) GPIO.output(DISPLAY_DATA5, False) GPIO.output(DISPLAY_DATA6, False) GPIO.output(DISPLAY_DATA7, False) if bits&0x10==0x10: GPIO.output(DISPLAY_DATA4, True) if bits&0x20==0x20: GPIO.output(DISPLAY_DATA5, True) if bits&0x40==0x40: GPIO.output(DISPLAY_DATA6, True) if bits&0x80==0x80: GPIO.output(DISPLAY_DATA7, True) time.sleep(E_DELAY) GPIO.output(DISPLAY_E, True) time.sleep(E_PULSE) GPIO.output(DISPLAY_E, False) time.sleep(E_DELAY) GPIO.output(DISPLAY_DATA4, False) GPIO.output(DISPLAY_DATA5, False) GPIO.output(DISPLAY_DATA6, False) GPIO.output(DISPLAY_DATA7, False) if bits&0x01==0x01: GPIO.output(DISPLAY_DATA4, True) if bits&0x02==0x02: GPIO.output(DISPLAY_DATA5, True) if bits&0x04==0x04: GPIO.output(DISPLAY_DATA6, True) if bits&0x08==0x08: GPIO.output(DISPLAY_DATA7, True) time.sleep(E_DELAY) GPIO.output(DISPLAY_E, True) time.sleep(E_PULSE) GPIO.output(DISPLAY_E, False) time.sleep(E_DELAY) # HD44780 Zeile schreiben def lcd(zeile,text): if zeile == 1: lcd_byte(DISPLAY_LINE_1, DISPLAY_CMD) if zeile == 2: lcd_byte(DISPLAY_LINE_2, DISPLAY_CMD) message = text.ljust(DISPLAY_WIDTH," ") for i in range(DISPLAY_WIDTH): lcd_byte(ord(message[i]),DISPLAY_CHR) # HD44780 initialisiserung und loeschen def lcd_init(): lcd_byte(0x33,DISPLAY_CMD) lcd_byte(0x32,DISPLAY_CMD) lcd_byte(0x28,DISPLAY_CMD) lcd_byte(0x0C,DISPLAY_CMD) lcd_byte(0x06,DISPLAY_CMD) lcd_byte(0x01,DISPLAY_CMD) # HD44780 Hintergrundbeleuchtung ein oder aus def lcd_backlight(what): GPIO.output(DISPLAY_LIGHT, what) hiier Danke. lcd_init() lcd(1,'Powerdev.de') lcd(2,'LCD HD44780') lcd_backlight(True)
-
Wie genau hast du die Datei auf den Pi transferiert bzw das Script erstellt?
-
Hallo ich hab da noch eine kleine Frage. Bei mir zeigt es das an wen ich das Script ausführen will siehe Bild. Kann das sein das dass Script nicht Korrekt ist? Freundliche Grüsse Mischa
Automatisch zusammengefügt:
sorry für die Bild Drehung
Wie genau hast du die Datei auf den Pi transferiert bzw das Script erstellt?Ich habe es in Python 2 geschrieben und gespeichert.
-
- Offizieller Beitrag
Er meint welchen Editor du verwendest hast und ob du es am Pi oder unter Windows/Linux/OSX geschrieben hast und wenn ja, wie kam es auf den pi (WinSCP, FTP etc)
-
Er meint welchen Editor du verwendest hast und ob du es am Pi oder unter Windows/Linux/OSX geschrieben hast und wenn ja, wie kam es auf den pi (WinSCP, FTP etc)aha ich hab es nur in Python direkt vom Pi aus geschrieben. Meinst wäre besser wenn ich Dreamweaver für Script schreiben nutze und dan das Script vom Pc auf die SD Karte kopiere?...
-
Bitte nicht Beiträge vollständig quoten, vor allem wenn diese genau da drüber stehen. Danke.
Was meinst du mit "direkt in Python geschrieben" ? Welches Programm hast du zum schreiben verwendet?
-
Ich hab es in Dreamweaver mal geschrieben und probe es mal aus.
-
Dreamweaver is laaaangsam. Benutz lieber: FAQ => Nützliche Links / Linksammlung => Linux kompatible Editoren
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!