Hallo Gemeinde, ich bin jetzt auf PlatformIO umgestiegen und würde ganz gerne meinen ESP8266 damit "bespaßen". Als Platform würde ich gerne das offzielle RTOS SDK verwenden, um mich im Umgang mit einer Echtzeitumgebung zu schulen. Das einfache "blink-Beispiel" das mitinstalliert worden ist konnte ich problemlos übersetzen und hochladen. Jetzt scheitert es aber mehr und mehr an zusätzlichen Bibliotheken, die ich noch unter Arduino gewohnt war. Zum Beispiel würde ich gerne den BMP280 anschließen und über I2C die Messwerte auslesen. Woher bekomme ich nun einen Treiber oder eine passende Bibliothek? Im Internet finde ich kaum etwas hierzu... Und: Was hat es hiermit auf sich https://github.com/SuperHouse/esp-open-rtos Was ist das für ein RTOS? Im Ordner "extras" finden sich hier zahllose Quellen für die verschiedensten Devices... Kann ich diese auch für das offizielle Espressif SDK hernehmen? Fragen über Fragen. Herzlichen Dank!
Hallo Tim, ich habe meine unter Arduino benutzten Bibliotheken einfach in den Projektordner unter Lib rein kopiert. Dann ging es auf jeden Fall. Ob dies der richtige Weg ist? MbG Daniel
Tim S. schrieb: > Jetzt scheitert es aber mehr und mehr an zusätzlichen Bibliotheken, die > ich noch unter Arduino gewohnt war. > Zum Beispiel würde ich gerne den BMP280 anschließen und über I2C die > Messwerte auslesen. Normalerweise kannst du das doch einfach über den Bibliotheks-Tab auf der Home-Seite im PlatformIO installieren.
daniel schrieb: > Hallo Tim, > > ich habe meine unter Arduino benutzten Bibliotheken einfach in den > Projektordner unter Lib rein kopiert. Dann ging es auf jeden Fall. Ob > dies der richtige Weg ist? > > MbG Daniel Danke, dass müsste ich ausprobieren... Muss ich in der platform.ini noch irgendein zusätzliches Verzeichnis definieren wo nach header-Dateien gesucht wird? Wie sieht es hier mit den Abhängigkeiten aus? Ich gehe stark davon aus das eine BME280 Bibliothek die I2C-Bibliothek benötigt... Dies wird alles automatisch aufgelöst? DANKE!
Sneef schrieb: > Tim S. schrieb: >> Jetzt scheitert es aber mehr und mehr an zusätzlichen Bibliotheken, die >> ich noch unter Arduino gewohnt war. >> Zum Beispiel würde ich gerne den BMP280 anschließen und über I2C die >> Messwerte auslesen. > > Normalerweise kannst du das doch einfach über den Bibliotheks-Tab auf > der Home-Seite im PlatformIO installieren. Das geht leider nicht wirklich für die "esp8266-rtos-sdk" Platform. Ich finde dort ausschließlich Bibliotheken für Arduino und mbed.
Ich empfehle dir, das Arduino SDK zu verwenden, und darin kannst du FreeRTOS nutzen. Als Includes nutzt du:
1 | #include "freertos/FreeRTOS.h" |
2 | #include "freertos/task.h" |
3 | #include "Arduino.h" |
Deine Libraries bindest du, wie im "readme.txt" beschrieben, wie folgt in dein Projekt ein:
1 | This directory is intended for the project specific (private) libraries. |
2 | PlatformIO will compile them to static libraries and link to executable file. |
3 | |
4 | The source code of each library should be placed in separate directory, like |
5 | "lib/private_lib/[here are source files]". |
6 | |
7 | For example, see how can be organized `Foo` and `Bar` libraries: |
8 | |
9 | |--lib |
10 | | | |
11 | | |--Bar |
12 | | | |--docs |
13 | | | |--examples |
14 | | | |--src |
15 | | | |- Bar.c |
16 | | | |- Bar.h |
17 | | | |- library.json (optional, custom build options, etc) http://docs.platformio.org/page/librarymanager/config.html |
18 | | | |
19 | | |--Foo |
20 | | | |- Foo.c |
21 | | | |- Foo.h |
22 | | | |
23 | | |- readme.txt --> THIS FILE |
24 | | |
25 | |- platformio.ini |
26 | |--src |
27 | |- main.c |
28 | |
29 | Then in `src/main.c` you should use: |
30 | |
31 | #include <Foo.h> |
32 | #include <Bar.h> |
33 | |
34 | // rest H/C/CPP code |
35 | |
36 | PlatformIO will find your libraries automatically, configure preprocessor's |
37 | include paths and build them. |
38 | |
39 | More information about PlatformIO Library Dependency Finder |
40 | - http://docs.platformio.org/page/librarymanager/ldf.html |
Danach kannst du sie wie beschrieben nutzen. Wenn du vom Arduino SDK wegkommen willst, würde ich das ESP-IDF SDK nutzen. ALlerdings müssen da die Libraries wahrscheinlich selbst geschrieben werden, da es nicht allzuviele Libraries gibt. Nach
1 | #include "Arduino.h" |
kannst du, wie gewohnt, auf alle Arduino Bibliotheken zurückgreifen, viele davon kannst du im Lib-Manager von Platformio direkt für das Projekt installieren.
Das ESP8266 SDK basiert auch auf FreeRTOS: https://github.com/espressif/ESP8266_RTOS_SDK https://www.freertos.org/ https://de.wikipedia.org/wiki/FreeRTOS
Trembel schrieb: > Ich empfehle dir, das Arduino SDK zu verwenden, und darin kannst du > FreeRTOS nutzen. Als Includes nutzt du:#include "freertos/FreeRTOS.h" > #include "freertos/task.h" > #include "Arduino.h" > > Deine Libraries bindest du, wie im "readme.txt" beschrieben, wie folgt > in dein Projekt ein: Selbstverständlich mit Platformio (wie von dir gewünscht), und nicht mit der Arduino IDE
Trembel schrieb: > Das ESP8266 SDK basiert auch auf FreeRTOS: > > https://github.com/espressif/ESP8266_RTOS_SDK > > https://www.freertos.org/ > > https://de.wikipedia.org/wiki/FreeRTOS Das weiß ich... Ich hätte allerdings gerne gewusst was das esp-open-rtos ist? https://github.com/SuperHouse/esp-open-rtos Kann man das unter PlatformIO verwenden? Dort sind alle Treiber für diverse Sensoren dabei + FreeRTOS V10.0.1. Wäre schon cool, wenn ich darauf aufsetzen könnte.
Tim S. schrieb: > https://github.com/SuperHouse/esp-open-rtos > > Kann man das unter PlatformIO verwenden? > Dort sind alle Treiber für diverse Sensoren dabei + FreeRTOS V10.0.1. > > Wäre schon cool, wenn ich darauf aufsetzen könnte. Ich denke, das sollte funktionieren. Vielleicht hilft dir das weiter: https://community.platformio.org/t/adding-a-new-framework-to-platformio/297 Ansonsten postest du deine Frage am Besten zusätzlich direkt im Community-Forum
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.