Tkinter und Root Rechte für SMBus

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo

    Ich habe ein Python Programm in dem ich Tkinter (Also Menu, Button usw.) verwende.
    Jetzt möchte ich den i2c Bus verwenden.
    Nur kann ich auf den smbus(1) nur als root zugreifen.
    (Im shell skript mit "sudo xxx.py" und programmen ohne tkinter läuft alles)

    Wie starte ich ein Programm, dass es zugriff auf den smbus bekommt?

    Danke

  • Habe ich probiert, leider ohne Erfolg:

    Ich starte Xwindows. (startx)
    Dann die Konsole öffnen
    Dort sudo python DATEINAME.pyw eingeben.

    Erhalte die Fehlermeldungen:

    pi@raspberrypi ~/Desktop/SicherungRaspi $ sudo python osciplotter.pyw
    File "osciplotter.pyw", line 16
    SyntaxError: Non-ASCII character '\xc2' in file osciplotter.pyw on line 16, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

    pi@raspberrypi ~/Desktop/SicherungRaspi $ sudo python3 osciplotter.pyw
    Traceback (most recent call last):
    File "osciplotter.pyw", line 4, in <module>
    import smbus
    ImportError: No module named smbus
    pi@raspberrypi ~/Desktop/SicherungRaspi $

    • Offizieller Beitrag
    Code
    # -*- coding: utf-8 -*-


    Schreib das mal als 2. Zeile in dein Script (also unter der Shebang). Die Konsole und grafische Oberfläche haben aus irgendwelchen Gründen meist unterschiedliche Encodings.

    Das smbus modul hast du wohl für python2 installiert, weswegen es für python3 logischer nicht funktioniert. Imho gibt es das für Python3 auch noch gar nicht

  • Hallo

    Habe ich gemacht. Bin ein Stück weiter.

    Jetzt habe ich untenstehende Fehlermeldung.
    could'nt connect to display ":1.0"

    Info:
    Ich habe mich über einen VNC-Server eingeloggt. Und versuche eben dieses Programm zu starten.

    Und habe das Pi-TFT installiert. Wenn ich ein HDMI-Bildschirm anschliesse muss ich die Ausgabe mit FRAMBUFFER=/def/fb0 startx umleiten.

    • Offizieller Beitrag

    und das Bild wird atm wo dargestellt? auf dem richitgen Bildschirm oder dem TFT? Welchen VNC Server nutzt? nicht alle können auf die originale Oberfläche zugreifen sondern erstellen eigene virtuelle Displays.

    Vergiss mal den ganzen VNC Kram und setz dich erstmal "Live" vor das Gerät an nem normalen Bildschirm. Dann auf den TFT dann per VNC, Mühsam ernährt sich das Eichhörnchen ;)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!