Platformio: esp8266-rtos-sdk

OP (Firma: Google) #5543923
Lesenswert?

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!
Gast #5544013
Lesenswert?

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.
OP (Firma: Google) #5544082
Lesenswert?

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!
OP (Firma: Google) #5544087
Lesenswert?

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.
Gast #5544106
Lesenswert?

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.
Gast #5544120
Lesenswert?

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
OP (Firma: Google) #5544381
Lesenswert?

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.
Gast #5544389
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren