Crontab -e funktioniert nicht. OLED Bildschirm eingefroren.

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hab das probiert: @reboot cd /home/pi/python/SSD1306/ && /usr/bin/python SSD1306.py

    crontab: installing new crontab

    new crontab file is missing newline before EOF, can't install.

    Do you want to retry the same edit? (y/n)

    bekam das als antwort versuche es nochmal aber bekomme die selbe meldung.

    Einmal editiert, zuletzt von Goldaffe58 (1. Dezember 2020 um 00:55)

  • Crontab -e funktioniert nicht. OLED Bildschirm eingefroren.? Schau mal ob du hier fündig wirst!

  • new crontab file is missing newline before EOF, can't install.

    Dann mach das bitte, was da steht. Hinter deiner bzw der letzten Zeile drückt du bitte einmal Enter, dann gehts.

  • Also,

    ich habe das ganze jetzt einmal mit einem Gerät mit OLED getestet und so angepasst, dass das Skript auch mit Python3 läuft.

    Bitte alle Schritte ausführen, bei Fehlern ungekürzt posten.

    Zuerst installieren wir die nötigen Module für Python 3

    pip3 install --user Adafruit_SSD1306

    Anschließend erstellen wir einen neuen Testordner und hinterlegen dort mein modifiziertes Skript:

    Code
    mkdir /home/pi/test
    nano /home/pi/test/test_oled.py

    Hier folgenden Inhalt einfügen

    Erster Test:

    python3 /home/pi/test/test_oled.py

    Wenn dies erfolgreich ist mit dem nächsten Schritt fortfahren

    sudo nano /etc/systemd/system/test_oled.service

    und das einfügen

    Code
    [Unit]
    Description=OLED Test
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/python3 /home/pi/test/test_oled.py
    User=pi
    
    [Install]
    WantedBy=multi-user.target

    Anschließend folgende Befehle ausführen

    Code
    sudo systemctl daemon-reload
    sudo systemctl start test_oled.service
    sudo systemctl enable test_oled.service
    sudo reboot

    und es sollte funktionieren

  • eingabe:

    python3 /home/pi/test/test_oled.py

    beim ersten Test bekam ich diese Fehlermeldung:

    Traceback (most recent call last):

    File "/home/pi/test/test_oled.py", line 52, in <module>

    disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST)

    File "/home/pi/.local/lib/python3.7/site-packages/Adafruit_SSD1306/SSD1306.py", line 243, in __init__

    gpio, spi, i2c_bus, i2c_address, i2c)

    File "/home/pi/.local/lib/python3.7/site-packages/Adafruit_SSD1306/SSD1306.py", line 85, in __init__

    self._gpio = GPIO.get_platform_gpio()

    File "/home/pi/.local/lib/python3.7/site-packages/Adafruit_GPIO/GPIO.py", line 420, in get_platform_gpio

    import Adafruit_BBIO.GPIO

    ModuleNotFoundError: No module named 'Adafruit_BBIO'

    Also ich hatte diese fehlermeldung schon mal als ich den Bildschirm überhaupt zum laufen bringen wollte.
    Da half es python zu deinstallieren und wieder zu installieren. Soll ich das machen ?

  • Soll ich das machen ?

    Nein

    pip3 install —user Adafruit_BBIO Adafruit_GPIO

    Es ist wichtig das dir bewusst wird was solche Befehle machen damit du sowas auf andere Probleme übertragen kannst

    Es fehlt nur ein Modul welches nach installiert werden muss

    Was ich jedoch komisch finde, da ich das nicht installieren musste

  • Alles in Rot Fehlermeldung:

    Invalid requirement: '—user'

    Traceback (most recent call last):

    File "/usr/share/python-wheels/http://packaging-19.0-py2.py3-none-any.whl/packaging/requirements.py", line 93, in __init__

    req = REQUIREMENT.parseString(requirement_string)

    File "/usr/share/python-wheels/http://pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1632, in parseString

    raise exc

    File "/usr/share/python-wheels/http://pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1622, in parseString

    loc, tokens = self._parse( instring, 0 )

    File "/usr/share/python-wheels/http://pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1379, in _parseNoCache

    loc,tokens = self.parseImpl( instring, preloc, doActions )

    File "/usr/share/python-wheels/http://pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 3395, in parseImpl

    loc, exprtokens = e._parse( instring, loc, doActions )

    File "/usr/share/python-wheels/http://pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1379, in _parseNoCache

    loc,tokens = self.parseImpl( instring, preloc, doActions )

    File "/usr/share/python-wheels/http://pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 3717, in parseImpl

    return self.expr._parse( instring, loc, doActions, callPreParse=False )

    File "/usr/share/python-wheels/http://pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1379, in _parseNoCache

    loc,tokens = self.parseImpl( instring, preloc, doActions )

    File "/usr/share/python-wheels/http://pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 3378, in parseImpl

    loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False )

    File "/usr/share/python-wheels/http://pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1383, in _parseNoCache

    loc,tokens = self.parseImpl( instring, preloc, doActions )

    File "/usr/share/python-wheels/http://pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 2689, in parseImpl

    raise ParseException(instring, loc, self.errmsg, self)

    pyparsing.ParseException: Expected W:(abcd...) (at char 0), (line:1, col:1)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):

    File "/usr/lib/python3/dist-packages/pip/_internal/req/constructors.py", line 253, in install_req_from_line

    req = Requirement(req)

    File "/usr/share/python-wheels/http://packaging-19.0-py2.py3-none-any.whl/packaging/requirements.py", line 97, in __init__

    requirement_string[e.loc : e.loc + 8], e.msg

    pip._vendor.packaging.requirements.InvalidRequirement: Parse error at "'—user'": Expected W:(abcd...)


    Ja da hast du recht.

    Meistens versuche ich Probleme mit Youtube Videos zu Lösen. Aber auch wenn ich das halt 1 zu 1 nachmache und es trotzdem nicht geht bin ich meistens am ende mit meines Latein. Und denk mir: Wir haben doch das selbe Gerät warum will das nicht funktionieren ? Und dann suche ich meistens in Google. Wenn das nicht klappt schreibe ich Beiträge und hoffe das mir Erfahrene Leute wie du helfen.

    Einmal editiert, zuletzt von Goldaffe58 (3. Dezember 2020 um 07:05)

  • Okey habe es Installiert.

    wieder probiert: python3 /home/pi/test/test_oled.py

    Fehlermeldung:

    Traceback (most recent call last):

    File "/home/pi/test/test_oled.py", line 104, in <module>

    font = ImageFont.truetype(os.path.join(SKRIPTPFAD, 'Montserrat-Light.ttf'), 12)

    File "/usr/lib/python3/dist-packages/PIL/ImageFont.py", line 280, in truetype

    return FreeTypeFont(font, size, index, encoding, layout_engine)

    File "/usr/lib/python3/dist-packages/PIL/ImageFont.py", line 145, in __init__

    layout_engine=layout_engine)

    OSError: cannot open resource

  • RE: Crontab -e funktioniert nicht. OLED Bildschirm eingefroren.

    Ich habe dort vergessen zu schreiben, dass du alle gewählten Schriftarten auch in diesen Ordner speichern musst. Einfach noch den Schriftarten googeln und runterladen

    ehm versteh ich nicht ganz damit es auf den BIldschirm funktioniert ?
    Also rein den Script die Schriftarten finden, googlen, runterladen und in den Ordner packen richtig?

  • insgesamt 924

    -rw-r--r-- 1 pi pi 165548 Nov 26 05:02 fontawesome-webfont.ttf

    -rw-r--r-- 1 pi pi 192116 Nov 26 05:02 Montserrat-Light.ttf

    -rw-r--r-- 1 pi pi 192488 Nov 26 05:02 Montserrat-Medium.ttf

    -rw-r--r-- 1 pi pi 190648 Nov 26 05:02 Montserrat-Regular.ttf

    -rw-r--r-- 1 pi pi 191468 Nov 26 05:02 Montserrat-Thin.ttf

    -rw-r--r-- 1 pi pi 5688 Dez 2 22:13 test_oled.py

    die ausgabe bekomme ich jetzt

    Traceback (most recent call last):

    File "test_oled.py", line 127, in <module>

    draw.text((x, top), chr(61931), font=font2, fill=255)

    ValueError: chr() arg not in range(256)

    pi@raspberrypi:~/test $

    wenn ich versuche das script manuell zu starten.

    Einmal editiert, zuletzt von Goldaffe58 (3. Dezember 2020 um 07:06)

  • an den script habe ich nichts geändert mein OS ist Rasbian.
    Auch wenn ich jetzt SSD1306.py mit python3 starten will bekomme ich :

    Traceback (most recent call last):

    File "SSD1306.py", line 127, in <module>

    draw.text((x, top), unichr(61931), font=font2, fill=255)

    NameError: name 'unichr' is not defined

    also in der selben Zeile wie bei dem oled_test.py

  • aus der os-release datei

    PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"

    NAME="Raspbian GNU/Linux"

    VERSION_ID="10"

    VERSION="10 (buster)"

    VERSION_CODENAME=buster

    ID=raspbian

    ID_LIKE=debian

    HOME_URL="http://www.raspbian.org/"

    SUPPORT_URL="http://www.raspbian.org/RaspbianForums"

    BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"


    Ich verstehe auch nicht warum nur dieses script funktioniert wenn ich es so ein tippe.

    cd /home/pi/python/SSD1306

    python SSD1306.py

    aber mit python 3 geht es nicht mit dem anderen Script geht es leider auch nicht.

    das habe auch mit nur python versucht auf beiden Scripten:

    python3 /home/pi/test/test_oled.py

    funktioniert auch nicht. stimmt etwas mit meinen gerät nicht ?

    Einmal editiert, zuletzt von Goldaffe58 (3. Dezember 2020 um 07:05)

  • Vergiss den Befehl python

    Python2 ist seit anfang des Jahres EOL.

    Es ist jedes mal jetzt eine andere Fehlermeldung und du bist auf den richtigen Weg.

    Um sicher zu gehen im Anhang mal meine verwendeten Schriftarten, ein anderes Problem kann ich mir hier eigentlich nicht vorstellen.


    Tut mir leid wegen den ganzen doppelbeitrag

    Du kannst, und das ist auch dringend gewünscht, deinen vorhergegangenen Post editieren

Jetzt mitmachen!

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