Probleme beim HELTEC-WiFi Kit 32 // Thonny

  • Hallo Bernhard,


    vielen Dank, habe das Programm nach deiner Angabe geändert


    # Pins angepasst

    i2c = machine.I2C(scl=machine.Pin(22), sda=machine.Pin(21),freq=10000)


    die gleiche Fehlermeldung :


    >> %Run '..\PytEsp8\BME1.py'

    Traceback (most recent call last):


    File "C:\Users\bb\Documents\A_Micro_python\PytEsp3\..\PytEsp8\BME1.py", line 18, in <module>


    File "bme280_i2c.py", line 86, in __init__


    File "bme280_i2c.py", line 97, in _read_chip_id


    OSError: [Errno 19] ENODEV


    Funktioniert leider auch nicht. (Thonny-Version 3.1.2)


    >>> %lsdevice

    boot.py

    bme280_i2c.py

    ssd1306.py

    >>>



    Gruss

    Brocki

  • Hallo brocki,


    diese Meldung kam anfangs bei mir auch. Nach dem Hinweis von Hans habe ich dann zusätzlich in i2c die Taktfrequenz 10kHz in BME1.py eingegeben:

    # Pins angepasst

    i2c = machine.I2C(scl=machine.Pin(22), sda=machine.Pin(21), freq=10000)

    Diesmal funktionierte es dann.


    Gruss

    Bernhard

  • Hallo René,


    nun habe ich die Version 3.2.3 installiert.

    Erase und Micropython funktioniert.

    ssd1306.py --Size 4681

    bme280_i2c.py --Size 22143

    konnten ohne Fehlermeldung auf das Board kopiert werden.


    Starte ich das Programm BME1.py erscheint diese Meldung


    >>> %Run -c $EDITOR_CONTENT

    Traceback (most recent call last):

    File "<stdin>", line 18, in <module>

    File "bme280_i2c.py", line 86, in __init__

    File "bme280_i2c.py", line 97, in _read_chip_id

    OSError: [Errno 19] ENODEV

    >>>

    Was läuft nun wieder falsch?


    Das Programm Stoppuhr läuft.

  • Hallo René,


    ich habe Thonny 3.2.1 auf dem Notebook installiert (die 3.1.2 Version gelöscht) . Nun kommt unter Device "Where all the commands? ".

    Mit der Beschreibung Th Moved Commands kann ich nichts anfangen. Wo sind die geblieben. Hast du da eine Ahnung?


    Gruß

    Brocki

  • Hallo brocki,


    du kannst es noch mit der neuen Thonny-Version versuchen. Die verwendet einen anderen Mechanismus zur Übertragung von Dateien.

    Die neue Version ist allerdings nicht in der Lage, das Flash zu löschen oder Micropython zu übertragen. Deshalb darf die alte Version nicht überschrieben werden.


    Das was ich jetzt sage, ist etwas gefährlich, da ich momentan Window nicht zur Verfügung habe. Windows hat sich beim Aufstarten ungefragt entschlossen zuerst ein grösseres Update zu machen. Nach 10 Minuten sind noch nicht mal 5% erreicht, das wird also noch etwas dauern.

    Deshalb sind folgende Informationen aus dem Kopf und es könnte sein, dass ich mich irre.


    Thonny wird in ein Verzeichnis installiert. Das Verzeichnis kannst du umbenennen. thonny.exe darfst du nicht umbenennen, da es sonst nicht mehr richtig funktioniert. Wenn du dann einmal neu flashen muss, kannst du die alte Thonny - Version im umbenannten Verzeichnis aufrufen.


    Dann kannst du die aktuelle Thonny-Version installieren. Die Plugins sollten von selbst aktiv werden, den Interpreter solltest du aber zur Sicherheit kontrollieren.


    Auch hier kannst du die Datei mit dem Editor öffnen. Wenn du File / Save Copy machst, kannst du wählen, ob du das File auf deinen Computer oder das Board kopieren möchtest. Es ist etwas mühsam, dass du den Namen der Datei jeweils neu eintippen musst. Sonst funktioniert es aber gut.

    Vielleicht funktioniert diese Methode.


    Gruss

    René

  • Hallo René,


    habe folgende schritte durchgeführt:


    1.Arduino Heltec WifiKit32

    2.Programm Wifi-Scan aufgespielt -> Funktioniert, WLAN- Netze werden angezeigt


    Thonny

    3. Erase Flash -> OK

    4. Install Microphyton esp32-idf3-20191031-v1.11-533-g4e1b03d45.bin -> OK


    ========================= RESTART =========================

    MicroPython v1.11-533-g4e1b03d45 on 2019-10-31; ESP32 module with ESP32

    Type "help()" for more information. [backend=ESP32]

    >>>


    5. ssd1306 Upload.... -> Fehler:thumbdown::cursing:

    >>> %lsdevice

    boot.py

    ssd1306.py


    >>> %cat ssd1306.py


    >>>

    >>> %cat boot.py

    # This file is executed on every boot (including wake-boot from deepsleep)

    #import esp

    #esp.osdebug(None)

    #import webrepl

    #webrepl.start()


    >>>



    Was ist das für ein Mist?


    Gruss

    Brocki

  • Hallo brocki,


    Jetzt habe ich auch keine Idee mehr. Der letzte Versuch wäre, ganz von vorne anzufangen.


    - Nimm ein Heltec-Board

    - Falls du den ESP32 in der Arduino-IDE eingerichtet hast, spiele von dort irgend ein Beispielprogramm auf.

    - Lade die neuste Version des Micropython-Images für ESP32 von micropython.org herunter.

    - Mit Hilfe von Thonny machst du einen Erase flash.

    - Danach Install Micropython...

    - Lade ssd1306.py in Thonny und sende es mit upload current script with current name zum Board.

    - Lade bme28_i2c.py in Thonny und sende es mit upload current script with current name zum Board.


    Achte darauf, ob du bei einem dieser Schritte eine Fehlermeldung bekommst. Ich bin gespannt, wie weit du kommst, bevor die erste Fehlermeldung auftaucht.


    Gruss

    René

  • Hallo brocki,


    ja, du kannst das Upgrade gefahrlos durchführen. Nach dem Upgrade solltest du Thonny neu starten, damit es wirklich aktiv ist.

    Überprüfe danach den Interpreter. Er sollte jetzt Micropython (ESP32) heissen.


    Die neue Version tauchte plötzlich auf, ich habe aber nirgendwo etwas zu den Neuerungen gelesen. Hoffen wir, dass es hilft.


    Gruss

    René

  • Hallo René,


    habe die Einstellungen überprüft.

    Installed thonny-esp version 0.2b1

    Interpreter MicroPython on ESP32


    Die von dir angehängte BME280_i2c.py löst den gleichen Fehler aus.


    Soll ich ein Upgrade auf Version 0.2 durchführen?


    Gruss

    brocki

  • Hallo brocki,


    jetzt bin ich auch ziemlich ratlos. Es handelt sich um eine reine Kopieraktion, ausgeführt wird da nichts. Trotzdem muss es irgendwie mit den Inhalt oder dem Namen zusammenhängen.


    Nur um ganz sicher zu gehen habe ich meine Version von bme280_i2c.py hier angehängt.


    Welche Version von thonny-esp ist eigentlich bei dir aktiv? Du kannst das unter Mange plug-ins nachschauen.

    Irgendwann wurde die ursprüngliche Version 0.2b1 durch die Version 0.2 ersetzt. Ist bei dir die 0.2 aktiv?


    Ich nehme an, du verwendest abhängig vom Board in Options / Interpreter jeweils den korrekten Eintrag (Micropython (ESP32) oder Micropython (ESP8266)).


    Mehr fällt mir jetzt auch nicht mehr ein.


    Gruss

    René

  • Hallo,


    ich habe einen weiteren Versuch gestartet. Den Treiber bme280_i2c mit meinem Notebook auf den Heltec zu speichern ist ebenfalls gescheitert (gleiche Fehlermeldung).


    Auch auf einen ESP32 kann ich die Datei nicht speichern (gleiche Fehlermeldung).


    Ich weiss nix mehr.


    Gruss

    brocki

  • Hallo brocki,


    Ist das nur mit dieser Datei so oder haben andere Dateien dasselbe Problem?


    kannst du schauen, ob die Datei korrekt auf das Board kopiert wurde?

    Du kannst die Date mit


    %cat bme280_i2c.py


    auflisten. Die letzten Zeilen müssten wie folgt lauten:


    if (humidity > humidity_max):

    humidity = humidity_max


    return humidity / 1024


    Das müssten auch die letzten Zeilen in der Datei auf der Festplatte sein.


    Gruss René

  • Hallo René,


    es liegt am Firefox-Browser.


    Zum Thema BME280, kann ich mitteilen, dass mehrfaches laden den selben Fehler verursacht. Auch nach löschen der BME280 Datei.

    import os

    os.remove('bme280_i2c.py').


    Auch einem anderen Heltec an einem anderen USB Anschluss kann ich die Datei nicht in den Speicher laden ohne Fehlermeldung.


    Keine Ahnung was ich noch versuchen kann.


    gruss

    brocki

  • Hallo brochi,


    direkt sagt mir die Fehlermeldung auch nicht viel. Es könnte aber etwas mit der seriellen Übertragung zu tun haben. Die Datei wurde scheinbar übertragen. Es ist aber möglich, dass sie nicht vollständig ist.


    Wenn du versuchst, sie nochmals zu übertragen, kommt da wieder dieselbe Meldung?


    Gruss

    René

  • Hallo Renè,

    ich habe den Treiber für den BME280 auf das Board gespeichert und bin gleich mit jeder Menge Text überrascht worden. Was ist an diesen Treibern so kritisch. Erst hat es mit dem Displaytreiber gehakt und nun dieser.


    >>> %upload bme280_i2c.py /bme280_i2c.py


    Traceback (most recent call last):

    File "C:\Users\bb\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\__init__.py", line 867, in _check_and_upload

    self._upload(source, target)

    File "C:\Users\bb\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\__init__.py", line 874, in _upload

    self._upload_via_serial(source, target)

    File "C:\Users\bb\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\__init__.py", line 890, in _upload_via_serial

    "__upf.write(%r)" % content[i : i + BLOCK_SIZE]

    File "C:\Users\bb\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\__init__.py", line 503, in _execute_and_expect_empty_response

    out, err = self._execute_and_get_response(script)

    File "C:\Users\bb\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\__init__.py", line 485, in _execute_and_get_response

    self._execute_async(script)

    File "C:\Users\bb\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\__init__.py", line 471, in _execute_async

    assert self._serial.buffers_are_empty()

    AssertionError


    >>> %lsdevice

    boot.py

    ssd1306.py

    bme280_i2c.py


    Wird ein beispielprogramm gestartet kommt folgende Meldung:


    >> %Run BME1.py

    Traceback (most recent call last):


    File "C:\Users\bb\Documents\A_Micro_python\PytEsp8\BME1.py", line 11, in <module>


    ImportError: no module named 'bme280_i2c'


    >>>



    Kannst du dazu etwas erklären?


    Gruss

    brocki