Helpdesk

Sehr geehrter Helpdesk!


Ich habe vor kurzem den Joy Pi erworben! Nun habe ich aber ein Problem damit, Skripts audzuführen. Immer wenn ich das Skript ausführen will, kommt ein Syntax Fehler. Ich verwende das Thonny IDE und die mitgelieferte SD Card. Am Betriebssystem habe ich nichts verändert.[nbsp]


Ich finde es irgendwie allgemein komisch, denn wenn ich die Beispielskripts aus dem Ordner Joy-Pi ausführe, funktioniert alles. Doch kuam öffne ich eine eigene neue Datei und will dieses ausführen, kommt die Syntax Meldung. Auch wenn ich das Skript von einer Lektion kopiere und und in meine geöffnete neue Datei einfüge, bekomme ich auch die Syntax Meldung. Warum ist mir unklar, den der TExt ist ja kopiert.


Gibt es eventuell eine Einstellung, die es verhindertt, das mein Programm ausgeführt wird oder liegt es am Speicherort? Ich habe meine neue Datei in den Joy-Pi Ordner gesepichert.


Hoffe Sie können mir helfen!


Mit freundlichen Grüßen


Matthias Marek


Text mit der Syntax Meldung:


#!/usr/bin/python
# -*- coding: utf-8 -*-


import time
import board
import busio
import adafruit_character_lcd.character_lcd_i2c as character_lcd


# Definiere LCD Zeilen und Spaltenanzahl.
lcd_columns = 16
lcd_rows [nbsp] [nbsp]= 2


# Initialisierung I2C Bus
i2c = busio.I2C(board.SCL, board.SDA)


# Festlegen des LCDs in die Variable LCD
lcd = character_lcd.Character_LCD_I2C(i2c, lcd_columns, lcd_rows, 0x21)


try:
[nbsp] [nbsp] # Hintergrundbeleuchtung einschalten
[nbsp] [nbsp] lcd.backlight = True


[nbsp] [nbsp] # Zwei Worte mit Zeilenumbruch werden ausgegeben
[nbsp] [nbsp] lcd.message = "Hallo\nWelt!"

Matthias

24.10.21 18:42

Hallo Matthias,


möglich wäre das die Thonny IDE Probleme verursacht, aufgrund des Unterschieds von Python 2 und Python 3.

Ich würde Ihnen empfehlen Ihre Codes einmal über die Konsole zu starten.[nbsp] Beachten Sie beim kopieren bitte auch, ob die Einrückung korrekt übernommen wurde.


Sollte das Problem weiterhin auftreten, senden Sie mir gerne Screenshots von der Fehlermeldung zu.[nbsp]


mit freundlichen Grüßen


Kai Renn

25.10.21 09:40

Hallo Kal!


Danke für deine Hilfe!


Leider funktioniert es mit diesem Ratschlägen nicht. Ich habe das Skript jetzt auch mit den IDE Geany ausprobier und es über die Konsole gestarten. Bei beiden kommt die Errormeldung auf Zeile 25, was die etzte Zeile im Skript ist.


Skript:


#!/usr/bin/python
# -*- coding: utf-8 -*-


import time
import board
import busio
import adafruit_character_lcd.character_lcd_i2c as character_lcd


# Definiere LCD Zeilen und Spaltenanzahl.
lcd_columns = 16
lcd_rows [nbsp] [nbsp]= 2


# Initialisierung I2C Bus
i2c = busio.I2C(board.SCL, board.SDA)


# Festlegen des LCDs in die Variable LCD
lcd = character_lcd.Character_LCD_I2C(i2c, lcd_columns, lcd_rows, 0x27)


try:
[nbsp] [nbsp] # Hintergrundbeleuchtung einschalten
[nbsp] [nbsp] lcd.backlight = True


[nbsp] [nbsp] # Zwei Worte mit Zeilenumbruch werden ausgegeben
[nbsp] [nbsp] lcd.message = "Hallo Welt!"


[nbsp]


Fehlermeldung im Thonny IDE:


Python 3.7.3 (/usr/bin/python3)
[gt][gt][gt] %Run BSP4_LCD.py
Traceback (most recent call last):
[nbsp] File "/home/pi/Desktop/Joy-Pi/BSP4_LCD.py", line 24
[nbsp] [nbsp] lcd.message = "Hallo Welt!"
[nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] ^
SyntaxError: unexpected EOF while parsing


Fehlermedlung im Geany:


[nbsp] File "BSP4_LCD.py", line 25
[nbsp] [nbsp][nbsp]
[nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp]^
SyntaxError: invalid syntax



------------------
(program exited with code: 1)
Press return to continue


Wenn ich das Programm mit python3 BSP4_LCD.py ausführen möchte, kommt auch die Fehlermeldung:


pi@raspberrypi:~/Desktop/Joy-Pi $ python3 BSP4_LCD.py
[nbsp] File "BSP4_LCD.py", line 25
[nbsp] [nbsp][nbsp]
[nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp]^
SyntaxError: unexpected EOF while parsing


Ich habe auch die Zeileneinrückungen überprüft. Die sollten ale passen.


Hoffe Sie können mir weiterhelfen!


LG Matthias


[nbsp]


[nbsp]


[nbsp]


[nbsp]


[nbsp]


[nbsp]


[nbsp]


[nbsp]


[nbsp]


[nbsp]


[nbsp]


[nbsp]


[nbsp]

Matthias

27.10.21 11:19


Hallo Kai!




Danke für deine Hilfe!




Leider funktioniert es mit diesem Ratschlägen nicht. Ich habe das Skript jetzt auch mit den IDE Geany ausprobier und es über die Konsole gestarten. Bei beiden kommt die Errormeldung auf Zeile 25, was die etzte Zeile im Skript ist.




Skript:




#!/usr/bin/python
# -*- coding: utf-8 -*-




import time
import board
import busio
import adafruit_character_lcd.character_lcd_i2c as character_lcd




# Definiere LCD Zeilen und Spaltenanzahl.
lcd_columns = 16
lcd_rows [nbsp] [nbsp]= 2




# Initialisierung I2C Bus
i2c = busio.I2C(board.SCL, board.SDA)




# Festlegen des LCDs in die Variable LCD
lcd = character_lcd.Character_LCD_I2C(i2c, lcd_columns, lcd_rows, 0x27)




try:
[nbsp] [nbsp] # Hintergrundbeleuchtung einschalten
[nbsp] [nbsp] lcd.backlight = True




[nbsp] [nbsp] # Zwei Worte mit Zeilenumbruch werden ausgegeben
[nbsp] [nbsp] lcd.message = "Hallo Welt!"




[nbsp]




Fehlermeldung im Thonny IDE:




Python 3.7.3 (/usr/bin/python3)
[gt][gt][gt] %Run BSP4_LCD.py
Traceback (most recent call last):
[nbsp] File "/home/pi/Desktop/Joy-Pi/BSP4_LCD.py", line 24
[nbsp] [nbsp] lcd.message = "Hallo Welt!"
[nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] ^
SyntaxError: unexpected EOF while parsing




Fehlermedlung im Geany:




[nbsp] File "BSP4_LCD.py", line 25
[nbsp] [nbsp][nbsp]
[nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp]^
SyntaxError: invalid syntax





------------------
(program exited with code: 1)
Press return to continue




Wenn ich das Programm mit python3 BSP4_LCD.py ausführen möchte, kommt auch die Fehlermeldung:




pi@raspberrypi:~/Desktop/Joy-Pi $ python3 BSP4_LCD.py
[nbsp] File "BSP4_LCD.py", line 25
[nbsp] [nbsp][nbsp]
[nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp] [nbsp]^
SyntaxError: unexpected EOF while parsing




Ich habe auch die Zeileneinrückungen überprüft. Die sollten ale passen.




Hoffe Sie können mir weiterhelfen!




LG Matthias


[nbsp]


Matthias

27.10.21 16:24

Hallo Matthias,


ich habe Ihren Code einmal nachgeprüft. Anscheinend liegt eine Überarbeitung des Codes unsererseits vor, die noch nicht in der Anleitung übernommen wurde.


Diese wird schnellstmöglich aktualisiert.


[nbsp]


Es handelt sich hierbei um folgende Zeilenänderung.


Alte:


# Festlegen des LCDs in die Variable LCD
lcd = character_lcd.Character_LCD_I2C(i2c, lcd_columns, lcd_rows, 0x27)


Neue:


# Festlegen des LCDs in die Variable LCD
lcd = character_lcd.Character_LCD_I2C(i2c, lcd_columns, lcd_rows)


[nbsp]


Zudem sollte noch folgender Teil des bestehenden Codes übernommen werden:


except KeyboardInterrupt:
[nbsp]# LCD ausschalten.
[nbsp]lcd.clear()
[nbsp]lcd.backlight = False


Ihr Code sollte dann wie folgt aussehen:


#!/usr/bin/python
# -*- coding: utf-8 -*-


[nbsp]


import time
import board
import busio
import adafruit_character_lcd.character_lcd_i2c as character_lcd


[nbsp]


# Definiere LCD Zeilen und Spaltenanzahl.
lcd_columns = 16
lcd_rows [nbsp] [nbsp]= 2


[nbsp]


# Initialisierung I2C Bus
i2c = busio.I2C(board.SCL, board.SDA)


[nbsp]


# Festlegen des LCDs in die Variable LCD
lcd = character_lcd.Character_LCD_I2C(i2c, lcd_columns, lcd_rows)


[nbsp]


try:
[nbsp] [nbsp] # Hintergrundbeleuchtung einschalten
[nbsp] [nbsp] lcd.backlight = True


[nbsp]


[nbsp] [nbsp] # Zwei Worte mit Zeilenumbruch werden ausgegeben
[nbsp] [nbsp] lcd.message = "Hallo Welt!"

except KeyboardInterrupt:
[nbsp]# LCD ausschalten.
[nbsp]lcd.clear()
[nbsp]lcd.backlight = False


Der Code sollte nun einfach über die Thonny IDE ausführbar sein.[nbsp]

mit freundlichen Grüßen

Kai Renn

29.10.21 10:34