Vor einigen Monaten habe ich mal meine IDE upgedatet. (2.3.4)
Heute bekam ich beim Kompilieren einer neuen Sache diverse Meldungen. Ok - meine Fehler.
Dabei habe ich aber gesehen, dass wohl mehrere gleichartige Bibliotheken bei manchen Stellen vorhanden waren. Und mal nimmt die Idee von hier und mal von dort.
Habe mir also mal die Ordner angeschaut. Nun habe ich 5 Arduino-Stämme.
Unter
\Benutzer\ich\arduinoIDE
\Benutzer\ich\AppData\Local\arduino
\Benutzer\ich\AppData\Local\Arduino15
\Benutzer\ich\AppData\Local\arduino-ide-updater
D:@Arduino@MySketchbook
hier zwischen meinen Sketchordnern mitten drin auch noch mal ein "\libraries"
Alle Arduino-Ordner haben u.a. auch Files von heute. Werden also beim Kompilieren benutzt. Und der Kompiler nimm mal wohl "beliebig" was er so findet.
...
...
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Nicht benutzt: D:\Arduino@MySketchbook\libraries\WiFiEspAT
Bibliothek Networking in Version 3.0.7 im Ordner: C:\Users\ich\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\Network wird verwendet
Bibliothek FTPClient_Generic in Version 1.6.0 im Ordner: D:\Arduino@MySketchbook\libraries\FTPClient_Generic wird verwendet
...
...
Ich würde da gerne Ordnung reinbringen. Nur weiß ich nicht, was wo gebraucht wird. Die Suche war da leider nicht erfolgreich.
What you found may be normal, but if it is not, how did it end up that way?
You mentioned several libraries were found with WiFi.h. We don't know what boards you have configured but I will assume you have all the Arduino boards. There is an experiment you may want to try but it is a bit tedious.
Select any WiFi capable board like the Arduino UNO R4 WiFi. Now look at the Examples menu. Notice the second category of samples is ONLY for the board selected. I am attaching a screen grab of what I see.
Then pick the Arduino NANO ESP32(NOTE there are two similar, pick the ARDUINO, see screen grab) and look at the board samples and notice any differences. Now pick something in common like Scan for both and compare the code. Also see what libraries are used. The software is different because the hardware is different.
Was Sie gefunden haben, ist möglicherweise normal, aber wenn nicht, wie kam es dann dazu?
Sie haben erwähnt, dass mehrere Bibliotheken mit WiFi.h gefunden wurden. Wir wissen nicht, welche Boards Sie konfiguriert haben, aber ich gehe davon aus, dass Sie alle Arduino-Boards haben. Es gibt ein Experiment, das Sie vielleicht ausprobieren möchten, aber es ist etwas mühsam.
Wählen Sie ein beliebiges WiFi-fähiges Board wie das Arduino UNO R4 WiFi. Sehen Sie sich nun das Menü Beispiele an. Beachten Sie, dass die zweite Kategorie von Beispielen NUR für das ausgewählte Board gilt. Ich füge einen Screenshot von dem an, was ich sehe.
Wählen Sie dann den Arduino NANO ESP32 (BEACHTEN SIE, dass es zwei ähnliche gibt, wählen Sie den ARDUINO, siehe Screenshot) und sehen Sie sich die Board-Beispiele an und achten Sie auf etwaige Unterschiede. Wählen Sie nun etwas Gemeinsames wie „Scan“ für beide aus und vergleichen Sie den Code. Sehen Sie sich auch an, welche Bibliotheken verwendet werden. Die Software ist anders, weil die Hardware anders ist.
Hi, ich habe versucht, das zu verstehen. Komme aber mit der riesigen Menge an Infos und Kreuz- und Quermöglichkeiten nicht klar.
Schade, dass zu dem Thema alles immer so kompliziert ist. Ich wünschte mir "einen" Ordner, den ich bestimmen kann, wo alle nötigen Libraries gezielt abgelegt werden können. Dann könnte ich auch das beim Sichern meiner Ordner entsprechend berücksichtigen. Also EIN Programmverzeichnisstamm, ein Biblioteksverzeichnisstamm und einen eigenen Ordner für eigene Projekte. Jetzt habe ich halt unter meinen eigenen Sketchen mittendrin auch noch einen Libraryordner. Plus 2 weitere an anderen Orten.
Muss wohl bei meinem Verzeichnissalat bleiben. Mit x-mehrfachen Libraries.
Du kannst die Menge einschränken wenn du die Arduino IDE 1.8.19 im portablen Modus verwendest. Dann landet alles in sketchbook/libraries.
Bis auf die, welche mit den Hardwaredefinitionen stecken oder mit der IDE ausgeliefert werden.