Hallo an alle,
ich heisse Andi und bin noch ganz neu in Sachen RPi.
Ich habe 2 Geräte. Eines als XBMC Mediacenter von Openelec, da gibts keine Probleme damit.
Den 2ten Pi als "Spielzeug" um nach 15 Jahren ohne Programmieren (nach der Schule) wieder mal was damit zu machen.
vorgestellt hab ich mir folgendes:
Für den ersten Schritt:
Ein Raupenfahrgestell mit dem Rpi über die Tastatur zu steuern (Bluetooth Tastatur), und in dem Zug auch gleich Python zu lernen (leichte Vorkenntnisse in Borland C und Asambler).
Jetzt zu meinem Problem:
Ich möchte Befehle der Tastatur einlesen ohne jedesmal Enter drücken zu müssen. Dafür hab ich mir im WWW einiges durchgelesen und erst mit Curses gespielt, diese aber nicht zum laufen gebracht.
Dann hab ich mir diese Zeilen geklaut
def getch():
fd = sys.stdin.fileno()
old_settings = termios.tcgetattr(fd)
try:
tty.setraw(sys.stdin.fileno())
ch = sys.stdin.read(1)
finally:
termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
return ch
und bekomme jedes mal FEHLER!!!
Durch Zufall hab ich dann rausgefunden das es nicht am Python script liegt sonder an der Art wie ich das .py öffne.
Wenn ich aus dem LXTerminal
sudo idle 3 shell starte um admin rechte zu haben
dann im idle3 mein file öffne (tank_test.py) und mit Run Module ausführe, dann klappt es nicht und er motzt weil es fd = stdin.fileno() nicht gibt etc... (genau Fehlermeldung muss ich noch abschreiben.
Wenn ich aber im Eingabefenster
python@pi>>> sudo python 3 tank_test.py starte, dann läuft das Programm einwandfei.
Worann liegt das??????? Ich bin echt ratlos, hab schon eine Woche mit herumsuchen und testen verbracht und durch Zufall heute rausgefunden das ev. eh schon einige Programme lauffähig gewesen wären wenn ich sie aus dem LX Terminal gestartet hätte. (btw wie heisst diese "Linux" Eingabeoberfläche richtig.
Sorry für den ewig langen Text
MFG Andi