Jump to content

ESP32-Brick wird nicht in Brick Viewer gefunden


mattsches

Recommended Posts

Hi,

bei meinen Softwareumbauten (Phasenumschaltung) habe ich es durch meine jüngste Änderung geschafft, die Firmware so zu schrotten, dass das Webinterface nicht mehr hochkommt (FUBAR - fucked up beyond all recognition ;-) ). Nach Abziehen der zusätzlichen Bricklets (ich schalte meinen Code nur scharf, wenn die gefunden werden) konnte ich die Kiste wieder erreichen - puh. Ich habe also keine unmittelbare Not mehr.

Aber: Ich konnte und kann den ESP32-Brick nicht im Brick Viewer finden. Erst habe ich es in der Ubuntu-VM probiert, dann auch direkt auf meinem Windows Host. Alles installiert, Rechner zwischenzeitlich auch neu gestartet - findet nichts. Im Geräte-Manager taucht der CP2102N auch als unbekanntes Gerät auf.

Scheint, als habe es bei der Treiberinstallation ein Problem gegeben oder als sei kein Treiber mit installiert worden. Im brickd Log finden sich auch entsprechende Einträge.

Habt ihr eine Idee, was ich tun kann? Wie gesagt, ich habe keine unmittelbare Not. Man kann sagen, ich hatte Glück, dass meine Setup-Routine greift. Aber es beunruhigt mich, brickv aktuell nicht als Rückfalloption für ein Zurücksetzen zu haben, wenn dieser Weg mal nicht funktionieren sollte.

Vielen Dank schon mal!

 

image.thumb.png.d10c2a2182b4dc3c7e0f6b94e44b11a9.png

brickd.log

Link zu diesem Kommentar
Share on other sites

Hi mattsches,

eine direkte Verbindung zum ESP32-Brick kann ich über den Brick Viewer auch nicht herstellen, die Wiederherstellung der Firmware über den COM-Port funktioniert aber problemlos. Hierzu muss zunächst der richtige USB-Treiber installiert werden, dann taucht im Gerätemanager ein entsprechender COM-Port auf ("Silicon Labs CP210x USB to UART Bridge") und man kann die Firmware über den Button "Updates / Flashing" hochladen:

image.png.5fc330dc8b41e472b2a06ed75dedb76c.png

Gruß Thomas

 

P.S. Interessanterweise kann sich der Brick Viewer rudimentär über die IP-Adresse mit dem ESP32-Brick verbinden, aber leider stehen dann nicht alle Funktionen zur Verfügung und es werden anscheinend nicht immer alle Bricklets gefunden (hier fehlt aktuell das NFC-Bricklet):

image.png.46645cc22d859e3585cbfcedb135b9b0.png

Link zu diesem Kommentar
Share on other sites

Über USB kann der Brick in der Tat nur geflasht werden, er ist im Setup-Tab des Brick Viewer nicht als Brick sichtbar und die Bricklets tauchen auch nicht auf. Das ist soweit erwartet. Er sollte aber trotzdem unter Updates / Flashing -> Brick auftauchen, wie @poohnet schon schreibt.

14 hours ago, poohnet said:

P.S. Interessanterweise kann sich der Brick Viewer rudimentär über die IP-Adresse mit dem ESP32-Brick verbinden, aber leider stehen dann nicht alle Funktionen zur Verfügung und es werden anscheinend nicht immer alle Bricklets gefunden (hier fehlt aktuell das NFC-Bricklet):

Update mal deine Firmware, bzw baue sie gegen den aktuellen Stand des Repos neu. Das Problem mit den fehlenden Bricklets sollte gefixt sein.

Link zu diesem Kommentar
Share on other sites

  • 5 months later...

bei mir funktioniert es unter Win10 auch nicht. Ich habe den Esp ethernet brick (FW 2.0.5) an USB (habe auch ohne probiert) und an ein LAN Kabel angeschlossen. Wenn ich nun den Localhost:4223 aufrufe, macht er zwar ein connect, jedoch zeigt er in der "Name" Liste kein Brick an.

Ich habe auch den Brick Daemon kontrolliert, er ist in der Task Liste aktiv.

Keine Verbindung..Hat jemand einen Tipp?

Link zu diesem Kommentar
Share on other sites

Da ist nichts kaputt. Der ESP32 (Ethernet) Brick, hat keine Brick Kommunikation über USB. Diese läuft rein über WLAN und LAN. Ich habe den Satz dazu in der Dokumentation mal deutlicher gemacht.

Die USB Buchse dient rein der Stromversorgung und dem Zugriff auf die serielle Konsole, wenn du selbst an der Software auf dem ESP32 arbeitest.

Zusätzlich kann über USB auch die Firmware geflasht werden, dabei gehen aber auch alle Einstellungen auf dem ESP32 (Ethernet) Brick verloren. Daher ist das nur für den Notfall und im Normalfall sollte die Firmware über das Webinetrface aktualisiert werden.

Wenn du dich mit Brick Viewer über WLAN oder LAN mit dem ESP32 (Ethernet) Brick verbindest, dann taucht der Brick auch in Brick Viewer auf. allerdings gibt es dort nicht viel zu sehen, außer einen Knopf der auf das Webinterface weiterleitet.

Link zu diesem Kommentar
Share on other sites

  • 3 weeks later...

Unter Ubuntu klappt die Installation auch nicht richtig:

1. Das Repo erscheint als unsecure..hierzu mußtte ich in der Datei Tinkerforge.list [trusted=yes] hinzufügen..dann apt update

Wenn man nun sudo apt install brickd ausführt, kommt folgende Fehlermeldung:

Zitat

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package brickd
root@home:/home/andreas/Downloads#

 

Hat jemand einen Tipp?

Vielen Dank und Gruß Andreas

 

Link zu diesem Kommentar
Share on other sites

Schon bei apt update gibt es Probleme:

Zitat

rr:8 https://download.tinkerforge.com/apt/ubuntu jammy/main amd64 Packages
  404  Not Found [IP: 148.251.187.173 443]
Ign:9 https://download.tinkerforge.com/apt/ubuntu jammy/main i386 Packages
Ign:10 https://download.tinkerforge.com/apt/ubuntu jammy/main Translation-en_US
Ign:11 https://download.tinkerforge.com/apt/ubuntu jammy/main Translation-en
Ign:12 https://download.tinkerforge.com/apt/ubuntu jammy/main all DEP-11 Metadata
Ign:13 https://download.tinkerforge.com/apt/ubuntu jammy/main amd64 DEP-11 Metadata
Ign:14 https://download.tinkerforge.com/apt/ubuntu jammy/main DEP-11 48x48 Icons
Ign:15 https://download.tinkerforge.com/apt/ubuntu jammy/main DEP-11 64x64 Icons
Ign:16 https://download.tinkerforge.com/apt/ubuntu jammy/main DEP-11 64x64@2 Icons
Ign:17 https://download.tinkerforge.com/apt/ubuntu jammy/main amd64 c-n-f Metadata
Ign:18 https://download.tinkerforge.com/apt/ubuntu jammy/main all c-n-f Metadata
Fetched 110 kB in 2s (58,6 kB/s)
Reading package lists... Done
E: Failed to fetch https://download.tinkerforge.com/apt/ubuntu/dists/jammy/main/binary-amd64/Packages  404  Not Found [IP: 148.251.187.173 443]
E: Some index files failed to download. They have been ignored, or old ones used instead.

 

 

Link zu diesem Kommentar
Share on other sites

19 hours ago, Andreas_Mainz said:

1. Das Repo erscheint als unsecure..hierzu mußtte ich in der Datei Tinkerforge.list [trusted=yes] hinzufügen..dann apt update

Dann hast du den GPG Schlüssel villeicht nicht richtig importiert. Der Befehl "apt-key list" sollte dir u.a. diese Zeilen ausgeben:

pub   rsa4096 2020-06-10 [SC]
      8010 4B67 3AA0 4451 AED2  F6F1 4BF5 81D9 C890 BB5E
uid        [ unbekannt] Tinkerforge Ubuntu Archive Signing Key <info@tinkerforge.com>
sub   rsa4096 2020-06-10 [E]

Ansonsten musst du den GPG Schlüssel importieren (Schritt 1):

https://www.tinkerforge.com/de/doc/Software/APT_Repository.html

19 hours ago, Andreas_Mainz said:

Schon bei apt update gibt es Probleme:

Das lag daran, dass Ubuntu Jammy noch nicht in unserem APT Repository aufgelistet war, sorry. Das habe ich gerade behoben.

Link zu diesem Kommentar
Share on other sites

geht immer noch nicht:

Zitat

reading package lists... Done
E: Failed to fetch https://download.tinkerforge.com/apt/ubuntu/dists/jammy/main/binary-amd64/Packages 404  Not Found [IP: 148.251.187.173 443]
E: Some index files failed to download. They have been ignored, or old ones used instead.
root@home:/home/andreas# sudo apt install brickd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package brickd

 

 

Link zu diesem Kommentar
Share on other sites

geht leider immer noch nicht..ich habe jetzt die manuelle Installation über die .deb Datei gemacht. Das geht..

Wenn ich nun brickv starte, müßte ich doch den EVSE Bricklet sehen?

Anwahl mit localhost oder muß man die IP Adresse nehmen, mit der man auch das Web Interface aufruft?

Jedenfalls wenn ich die IP vom Web Interface verwende, dann wird die Verbindung zurückgewiesen..

Man kann bei localhost auch connect drücken, aber es erscheint kein Name im Fenster rechts..ich hätte den Name des Bricklets EVSE irgendwie erwartet..

Link zu diesem Kommentar
Share on other sites

Was hast du damit genau vor?

Die Wallbox-Firmware ist nicht darauf ausgelegt, dass du per Brick Viewer händisch den Ladecontrollerzustand änderst. Das geht prinzipiell (dazu hatte ich hier:

etwas geschrieben) und ist ganz praktisch wenn man die Ladecontroller-Firmware selbst modifiziert, aber du kannst die Wallbox damit durcheinander bringen wenn du nicht genau weißt was du tust.

Wenn du die Wallbox-Firmware (also die des ESP Bricks mit Webinterface usw.) modifizieren willst dann sollte beim kompilieren mit PlatformIO eine _merged.bin-Datei rausfallen, die du direkt über das Webinterface hochladen kannst. Da musst du also nichts mit dem Brick Viewer machen. Du kannst aber, wenn du einen ESP-Brick per USB angeschlossen hast, diesen mit Brick Viewer flashen, das geht ohne auf Connect zu klicken unter Updates/Flashing -> Brick.

Link zu diesem Kommentar
Share on other sites

Also nochmal direkt gefragt: Das Evse Bricklet kann man nicht mit dem Brick Viewer sehen?

Wie kann man dann das Evse Bricklet neu flashen?

Mein Plan ist nur im Evse Bricklet die Fehlerstromüberwachung auf „immer ok“ zu stellen, da ich einen Fi Typ B habe und nach meinem Verständnis

dann die interne Fehlerstromüberwachung entfallen kann, richtig?

Link zu diesem Kommentar
Share on other sites

Ah sorry, war gerade dabei auf deine Mail zu antworten. Dann lieber hier ;)

Erstmal grundlegend: Wenn du einen Typ-B FI hast dann brauchst du die interne Fehlerstromüberwachung nicht, du musst sie aber auch nicht ausbauen. Je nachdem ob der FI oder die interne Überwachung eher auslöst fliegt dann eins von beidem, falls ein Fehlerstrom auftritt. D.h. es ist nicht notwendig, die EVSE-Firmware zu patchen. Falls du das trotzdem machen willst:

- Du kannst das EVSE Bricklet flashen wenn du wie oben beschreiben den Proxy-Modus des ESPs aktivierst und dich dann zur IP des ESPs (also der Wallbox) verbindest. Das EVSE taucht vermutlich als Unknown-Bricklet auf, Flashen kannst du trotzdem.

- Um eine neue EVSE Bricklet-Firmware zu bauen brauchst du den ganzen PlatformIO-Kram nicht. Das ist ein eigener Mikrocontroller mit eigener Firmware. Die Build-Umgebung dafür läuft in Docker, hier gibt es eine Anleitung zum Aufsetzen: https://www.tinkerforge.com/de/doc/Tutorials/Tutorial_Build_Environment/Tutorial.html#docker

- Deine gepatchte Firmware kannst du entweder über Brick Viewer flashen Achtung! Dafür müssen die Versionsnummern passen. Die Wallboxfirmware prüft periodisch ob die passende EVSE-Firmware läuft und flasht selber neu, falls sie nicht passt.

- Oder du baust eine neue Wallbox-Firmware, bei der du deine EVSE-Firmware einbettest. Dazu musst du sie (mit passendem Dateinamen) in den esp32-firmware/software/src/modules/evse_v2-Ordner packen.

Link zu diesem Kommentar
Share on other sites

vor einer Stunde schrieb rtrbt:

. D.h. es ist nicht notwendig, die EVSE-Firmware zu patchen. Falls du das trotzdem machen willst:

Ohne Patch wird doch ein Fehler angezeigt, oder..Ich denke der Patch ist notwendig. Oder hat der Fehlerstrom Fehler keine Auswirkungen auf den Ladevorgang?

Mit FI TypB soll die Weboberfläche keine Fehler anzeigen..

Link zu diesem Kommentar
Share on other sites

3 minutes ago, Andreas_Mainz said:

Ohne Patch wird doch ein Fehler angezeigt, oder..Ich denke der Patch ist notwendig. Oder hat der Fehlerstrom Fehler keine Auswirkungen auf den Ladevorgang?

Doch der Fehlerstrom-Fehler bricht den Ladevorgang ab. Den würdest du ja aber nur erzeugen, wenn du die Fehlerstromüberwachung (Hardware!) aus der Wallbox ausbaust.

Ich meinte, dass du einfach die (soft- und hardwareseitig!) unmodifizierte Wallbox hinter einem Typ-B-FI betreiben kannst. D.h. es ist garnicht notwendig, die Fehlerstromüberwachung auszubauen.

Link zu diesem Kommentar
Share on other sites

Ah das erklärt einiges.

Dann musst du wie oben beschrieben dir eine Firmware für den Ladecontroller (das EVSE 2.0 Bricklet) kompilieren.

On 6/30/2022 at 9:09 AM, rtrbt said:

- Um eine neue EVSE Bricklet-Firmware zu bauen brauchst du den ganzen PlatformIO-Kram nicht. Das ist ein eigener Mikrocontroller mit eigener Firmware. Die Build-Umgebung dafür läuft in Docker, hier gibt es eine Anleitung zum Aufsetzen: https://www.tinkerforge.com/de/doc/Tutorials/Tutorial_Build_Environment/Tutorial.html#docker

Nach dem Aufsetzen der Build-Umgebung kannst du dir hier https://github.com/Tinkerforge/evse-v2-bricklet den Quellcode der EVSE-Firmware besorgen und dann software/src/dc_fault.c patchen. Auf den ersten Blick musst du nur sicherstellen, dass dc_fault.state immer auf DC_FAULT_NORMAL_CONDITION bleibt.

Die Firmware kannst du dann mit make im software-Verzeichnis kompilieren (das benutzt automatisch die Docker-Build-Umgebung wenn du alles richtig eingerichtet hast), dann solltest du in software/build eine evse-v2-bricklet-firmware.zbin bekommen.

Die Firmware musst du dann auf den Ladecontroller bekommen. Dafür gibt es folgende Möglichkeiten:

  • Du kannst das EVSE Bricklet an einen ESP Brick anschließen, dann über http://[IP-deines-ESP-Bricks]/hidden_proxy den Proxy-Modus aktivieren und dich dann mit Brick Viewer zu eben dieser IP verbinden. Da sollte das EVSE als Unknown Bricklet auftauchen. Unter Updates/Flashing -> Bricklets kannst du als Firmware "custom" auswählen, dann mit Browse deine FIrmware auswählen und flashen
  • Falls du einen Master Brick oder RPi HAT hast kannst du das EVSE Bricklet direkt an deinen PC anschließen und genauso flashen (dann unter localhost statt der IP des ESPs)
  • Die robusteste Variante ist, deine EVSE-Firmware in eine Wallbox- (also ESP-)Firmware einzubetten. Dazu brauchst du das ganze PlatformIO-Setup, einen Klon von https://github.com/Tinkerforge/esp32-firmware und packst die evse-v2-bricklet-firmware.zbin nach esp32-firmware/software/src/modules/evse_v2/ Da müsste schon eine bricklet_evse_v2_firmware_x_y_z.zbin liegen, die musst du überschreiben. Beim Bauen der Wallboxfirmware wird eine .zbin mit exakt diesem Namensschema automatisch eingebettet. Beim Starten prüft die Wallbox-Firmware, ob auf dem EVSE Bricklet eine Firmware mit der erwarteten Versionsnummer läuft (das x_y_z aus dem Dateinamen) und wenn das nicht passt wird das Bricklet auf die eingebettete Firmware umgeflasht. Du kannst aber auch (falls auf dem EVSE schon eine Firmware mit der selben Version läuft) über das Webinterface unter Ladecontroller->Low-Level-Zustand ganz unten das neuflashen erzwingen.

In allen Fällen musst du mit deiner gepatchten EVSE-Firmware dann mit dem "upstream", lies uns Schritt halten, falls du die Wallbox-Firmware aktualisierst. Sonst verlierst du deine EVSE-Änderungen falls wir eine neuere Firmware einbetten.

Link zu diesem Kommentar
Share on other sites

vor 14 Stunden schrieb rtrbt:

In allen Fällen musst du mit deiner gepatchten EVSE-Firmware dann mit dem "upstream", lies uns Schritt halten, falls du die Wallbox-Firmware aktualisierst. Sonst verlierst du deine EVSE-Änderungen falls wir eine neuere Firmware einbetten

Könnte man nicht einen Compilerschalter einführen, wie “External_Fi_Type_B“ available oder sogar als Parameter im Spiffs? Das würde eure Software nur universeller machen..

Link zu diesem Kommentar
Share on other sites

2 hours ago, Andreas_Mainz said:

Könnte man nicht einen Compilerschalter einführen, wie “External_Fi_Type_B“ available

Das können wir machen (als Compile-Flag in der EVSE-Firmware bzw. ein Define das gesetzt sein muss). Das führt natürlich trotzdem dazu, dass du bei jedem Wallbox-Firmware-Update, das eine neuere EVSE-Firmware mitbringt die EVSE-Firmware neu kompilieren und flashen musst.

2 hours ago, Andreas_Mainz said:

sogar als Parameter im Spiffs?

Persistent bzw. ohne dass du "manuell" eingreifen musst würde ich das nicht bauen wollen. Der DC-Schutz ist immerhin ein relativ wichtiger Sicherheitsmechanismus.

Link zu diesem Kommentar
Share on other sites

 

wenn meine XMC Build Umgebung mal läuft, sollte dies kein Problem sein.

Ich bin beeindruckt, was der ESP32 so alles macht, sogar über SPI die Firmware vom XMC flashen..unglaublich gut..da kann ich noch viel lernen..

Ich werde auch die robuste Variante, wie oben beschrieben wählen.

Also wenn ich den EVSE Bricklet gebaut hätte, dann hätte man da doch einen ESP8266 nehmen können, der hätte das locker auch gemacht..aber so mit 2 komplett unterschiedlichen Prozessoren und unterschiedlichen Build Umgebungen..das macht die Sache nicht leichter..

 

Übrigens habt ich schonmal über ein KNX Bricklet nachgedacht? ;-)

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...