ESP32-CAM Teil 2
Gestern sind auch die Platinen für meine ESP32 CAM Anwendung eingetroffen. Nach dem Auspacken gleich der erste Schock. Der Footprint für das ESP32-CAM Modul war spiegelverkehrt …
“Was ist mir denn da schon wieder für ein Fehler unterlaufen”, war der erste Gedanke. Keine 10 Sekunden später setzte dann aber wieder Erleichterung ein. Das Modul sollte auf die Boardunterseite gesteckt werden, um mechanisch mehr Möglichkeiten zu haben und um die Kamera bündig in ein Gehäuse integrieren zu können. Alles wieder in Ordung …
Also gleich daran gemacht, drei Platinen zu bestücken, drei Kameramodule programmiert, angeschlossen und … funktioniert!
Allerdings hat das aktuelle Design doch ein paar Probleme:
Das “InCircuit” Programmieren des ESP32-CAM Modul mit Hilfe des dafür extra eingebauten Buttons hat nicht funktioniert. Die Spannungsversorgung hatte ich dafür extra nicht vom USB-TTL Konverter vorgesehen. Aber wahrscheinlich macht genau das die Probleme. Zudem habe ich intern RX und TX gegenüber des Prints schon vertauscht. Das sorgt eher für Verwirrung als das es hilft.
Die Buchse für den Stromstecker ist in der jetzigen Position doch etwas unglücklich, da es die Platine doch sehr verbreitert. Für den Endbetrieb soll die Stromversorgung aber auch über die dafür vorgesehenden Pins (mit Außenbuchse im Gehäuse) geschehen, aber selbst zum Testen ist der jetzige Aufbau zu “sperrig”.
Die Befestigungslöcher sind nicht optimal.
Das ESP32 CAM Modul sollte doch besser um 90 Grad gedreht auf die Platine, da es dann z. B. für den geplanten Einsatz am Steromikroskop nicht mit der zweiten Platine kollidiert.
Also wird das Ganze nochmal in einer Rev 1.1 überarbeitet. Dazu kommt dann noch Platinen, mit denen die ESP32 CAM direkt am Steromikroskop befestigt werden kann.
Softwaretechnisch kann ich noch hinzufügen, dass für die erfolgreiche Nutzung der Funktion setHostname(), die Reihenfolge eine Rolle spielt:
WiFi.begin(ssid, password); WiFi.setHostname(“ESP32 Cam”);
Eigentlich hätte man vermutet, dass man vor einer WiFi Verbindung eventuelle Parameter setzt. Dem ist in diesem Fall aber nicht so.
Update 2019-08-24:
Die Ursache für das Problem beim InCircuit Programmieren wurde gefunden. Der Taster war einfach völlig falsch eingebunden. Erstens hatte ich den Footprint des Tasters falsch angegeben, so dass dieser quasi permanent “gedrückt” war, unabhängig von der tatsächlichen Position und zweitens war der Pin vom ESP32, der mit dem Taster verbunden sein sollte auf der Platine gar nicht geroutet :-) Doppelfehler!
Stay tuned ...
Carsten