PlatformIO: Erste Schritte - AZ-Delivery
Hola a todos y bienvenidos al artículo de hoy.

En primer lugar, quisiera dar las gracias a todos los lectores por su lúcida respuesta a nuestro artículo, "instalación platformio".

Muchas personas han leído el artículo e instalado el software.

Por eso quiero darte una pequeña pista en el camino de hoy.

Uno.Buscar e instalar bibliotecas

Arduinoide proporciona una gestión funcional de las bibliotecas.Esto facilita la búsqueda, instalación y actualización de la base de datos.
El botón "Libraries" de platformio ofrece una función similar:


Biblioteca

En primer lugar, quiero instalar mi biblioteca favorita para la presentación de control: u8g2 by olio Kraus.Para ello, introduje el nombre de la Biblioteca "u8g2" en la barra de búsqueda y lo introduje con la confirmación de enter o presioné el icono de la lupa:

Platformio: Biblioteca: búsqueda

El primer objetivo es la Biblioteca necesaria.A través de una base de datos, podemos acceder a la página de resumen de la biblioteca.Aquí se muestra toda la información importante sobre la Biblioteca, podemos elegir la versión necesaria (por lo general uso la última versión) y podemos instalar la Biblioteca haciendo clic en el botón "instalar".

Plataforma: u8g2: instalación

Después de un rato, deja un mensaje.¡U8g2 @ 2.23.x instalado con éxito!"

Plataforma: u8g2: instalación normal


Al hacer clic en la ficha de selección "installed", podemos ver qué bancos se han instalado y, de ser necesario, eliminarlos.Pulse "mostrar" para abrir el gestor de archivos y mostrar la carpeta que contiene la Biblioteca instalada.


Estas bibliotecas ya no están instaladas en sus propios archivos bajo el epígrafe "C: usuario & lt; nombre & gt; - documents Ardino (bibliotecas)", sino bajo el epígrafe "C: usuario & lt; nombre & gt;. Platformio - lib".


Dos.Crear un proyecto propio

Antes de usar la Biblioteca instalada, tenemos que crear un proyecto.
Para ello, pulsamos el botón "acceso rápido" en "nuevo proyecto".

 

Plataforma: nuevo proyecto

En la siguiente ventana, especifique un nombre y seleccione un Microcontrolador.En este caso, tomé el ejemplo de nano V3, introduje a Nano en la "Junta" y escogí a Ardino Nano atmega328.Dejé la entrada "marco" en "Ardino".Los usuarios experimentados pueden elegir otros marcos, según la Junta de Síndicos.

Plataforma o: nuevo proyecto: configuración

Creando un proyecto.Esto puede llevar varios minutos, especialmente si se trata del primer proyecto que utiliza un Microcontrolador específico y si todos los documentos necesarios deben descargarse de Internet.

Estación: "por favor, espere".


Luego aparece a la izquierda de Explorers y muestra nuestro proyecto "pruebas de OLED".Al abrir el src, se verá un archivo llamado main.cpp.Esto corresponde a nuestro anteproyecto vacío de arduino, que contiene void settup () y void Loop ().

Plataforma o: proyecto vacío

En el Fondo de la barra azul aparecerá un gran número de pequeños símbolos.Estos son los botones que nos permiten acceder a las funciones.Podemos usar el Código build.Cargando el Código codificado en el Microcontrolador.

Durante la prueba, hice un boceto en blanco y lo subí.La consola mostrará la siguiente salida:
 

& gt; Run; Run; Run; target 'upload & lt; Run; Run - target.

Elaboración de nanoatmag 328 (Plataforma: atmelavr; placas: nanoatmag 328; marco: arduino)
---------------------------------------------------------------------------
Packagegmanager: herramienta de instalación avrdde @ 1.60300.0
Descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar descargar
No, no, no, no, no, no, no, no, no, no, no, no, no.
El modo detallado puede activarse con la opción "V, verbose".
Plataformas: Atmel avr & gt; Ardino Nano atmega328
Sistema: memoria atmega328p 16mhz 2kb (memoria flash de 30kb)
Customs based Project Search procedure & gt; http: / / bit.ly / configure - PIO - LDF
Modelo LDF: búsqueda (cadena) Compatibilidad (blanda)
Se reunieron 25 bibliotecas compatibles.
Escaneando la Dependencia...
En una relación de dependencia
Estoy en proceso de codificar. Pioenevs.
Archivo. Pioenevs - anoatge328 libframeworks arduino variant.a.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino – cdc.cpp.o.
Compilador. Pioenevs ~ anotmag328 Frameworks Ardino hardwarserial.cpp.o.
Compilador. Pioenevs ~ anotmag328 Frameworks Ardino hardware serial0.cpp.o.
Compilador. Pioenevs ~ anotmag328 Frameworks Ardino hardware serial1.cpp.o.
Compilador. Pioenevs ~ anotmag328 Frameworks Ardino hardware serial2.cpp.o.
Compilador. Pioenevs ~ anotmag328 Frameworks Ardino hardware serial3.cpp.o.
En proceso de redacción. Pioenevs ~ oatmag 328 ~ Frameworks Ardino ~ address.cpp.o.
Compilador. Pioenevs ~ oatmag328 Frameworks ardenino ~ pluggabelusb.cpp.o.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino ~ print.cpp.o.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino stream.cpp.o.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino towne.cpp.o.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino – usbcore.cpp.o.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino • interrupts.c.o.
En proceso de traducción. Pioenevs ~ oatmag 328 ~ Frameworks Ardino ~.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino ~ strting.cpp.o.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino ~ abi.cpp.o.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino – hooks.c.o.
En proceso de traducción. Pioenevs ~ oatmag328 Frameworks Ardino ~ main.cpp.o.
En proceso de redacción. Pioenevs ~ oatmag328 Frameworks Ardino ~.Nuevo.cpp.o.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino • wiring.c.o.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino ~ Wiring analog.c.o.
Compilador. Pioenevs ~ oatmag328 Frameworks Ardino • digital.c.o.
Compilador. Pioenevs - nanoatam328 Frameworks Ardino Wiring in pulse.s.o.
Compilador. Pioenevs - noatmag 328 Frameworks Ardino Wiring in pulse.c.o.
Compilador. Pioenevs - noatmag 328 Frameworks Ardino Wiring in shift.c.o.
Archivo. Pioenevs - oatmag328 Frameworks ardino.a.
El enlace. El enlace.
Building.pioenevs-oatmag328-fire.hex
Estoy revisando el tamaño de los aviones.
Uso de memoria & gt; http: / / bit.ly / PIO - Memory - Usage
Datos: [] 0,4% (utilizando 9 de 2.048)
Procedimiento: [] 1,4% (utilizando 444 de 30.720)
Configurando Protocolo de carga...
Presentada por: arduino
Protocolo de carga = arduino
Buscando el puerto de embarque...
Detección automática: com25
¿Se está cargando. Pioenevs?

El equipo avr ha sido activado y listo para recibir instrucciones.

Lectura: 12124; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 124; 100% - 0,00

Firma del equipo = 0x1e950f (probablemente m328p)
Estoy leyendo el archivo de entrada.
"Memoria flash" (444 bytes):

A pesar de que la mayoría de los países en desarrollo se encuentran en una situación de desventaja, la mayoría de los países en desarrollo no están en condiciones de hacer frente a los retos que plantea la mundialización y, por lo tanto, no están en condiciones de hacerlo.

Flash, 444 bytes.
De acuerdo. Pironvs. Nano - oatmag 328 - fire.hex, prueba de Flash:
El archivo de entrada contiene datos de flash.
El pioenevs contiene 444 bytes de texto, pero no lo sé.
Datos de flash en el disco de lectura:

Lecturas: 12124; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 35; 44; 100% 0.11

Está en proceso de verificación...
Prueba flash de 444 bytes.

Modo de Seguridad: fusibles normales (E / 00, h.00, l.00)

Alfred ha terminado.Gracias, señor.

¡= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =!

El terminal está siendo reutilizado y presionado para cerrar cualquier tecla.

 

Debajo del navegador está el archivo "platformio.ini".Cuando elijamos estos, identificaremos los microcontroles seleccionados.En este momento, si es necesario, podemos cambiar el puerto de embarque.

En este documento podríamos añadir la opción de puerto "upload", por ejemplo, utilizando la línea "upload Port = com25".

Para más opciones de carga, sírvase visitar https: / / docs.platformio.org / en / latest / projects / section env upload.html '35; Puerto de embarque

Recordatorio: bajo "equipo" de la página principal, se enumeran todas las placas de conexión e identificación:
Plataforma o: selección de tarjetas: equipo

Plataforma: equipo

Ahora podemos usar - 35; incluido el Banco integrado.He utilizado un boceto ilustrativo de nuestro libro electrónico a la pantalla de pantalla de 91 'i c ole y he hecho algunos ajustes menores.

 

 

35; incluye <Adino..Hora>
35; incluye <U8g2lib.Hora>

U8 G2 a 128x32 en la ssd1306 de la OMS U8g2(U8g2 R0, • • Sustitución = * U8x8, ninguna.);
U8g2, Unidad: T Compensación;
U8g2, Unidad: T Anchura;
Constante Chamuscar *Texto = "Prueba";

Vacío. Configuración() {     U8g2.Iniciar();     U8g2.Tipo de letra(Fuentes logísticas 32);     Anchura = U8g2.Anchura getutf8(Texto);     U8g2.Modo de texto(0);
} 

Vacío. Correr() {     U8g2, Unidad: T Diez;     U8g2.Página 1();     Hora prevista de despegue {         Diez = Compensación;         U8g2.Tipo de letra(Fuentes logísticas 32);             Hora prevista de despegue {              U8g2.Plano f8(Diez, 32, Texto);              Diez += Anchura;     } Aunque ( Diez < U8g2.Anchura de visualización() );     U8g2.Tipo de letra(Fuentes logísticas 32);     U8g2.Establecer cursor(0, 64);     U8g2.Imprimir(Anchura);
} Aunque ( U8g2.Bajo el sol() );
Compensación -= 1;
Si ( (U8g2, Unidad: T)Compensación < (U8g2, Unidad: T) - Anchura ){     Compensación = 0;     U8g2.Limpiar la zona tampón();     }
}

 

Una vez compilados y cargados, el texto se mostrará en la pantalla:

 En la pantalla aparece el texto "test".

La transición a un nuevo programa informático no sólo será difícil, sino que también exigirá mucha disciplina, ya que será muy fácil poner en marcha el arduino IDE y cargar rápidamente el Código allí.

Espero que esta guía progresiva te ayude a resistir esta tentación.

 

Queremos saber cómo entraste en el mundo platformio.¿Escribe tu experiencia en el comentario o envíanos un breve e - mail. Qué obstáculos tienes que superar?¿Te imaginas abandonar completamente a Ardino IDE?¿Quieres ver más blogs sobre platformio?

Espero con interés sus comentarios y me despido hoy.

Tu Marcus Neumann.

 

Für arduinoGrundlagen software

15 comentarios

Jörn Weise

Jörn Weise

Hallo Peter,

im Prinzip geht es mit dem einbinden von externen Bibliotheken, siehe dazu https://docs.platformio.org/en/latest/projectconf/sections/env/options/library/lib_extra_dirs.html
Jedoch würde ich das nicht empfehlen, wenn nicht die Libraries sehr speziell sind. Das Prinzip hinter PlatformIO ist, dass jedes OS die Libs runterladen kann und dort abspeichert, wo es passt. Wenn nun Extra-Libs angenommen werden, so kann es nachher zum Fehler kommen.

Gruß

Jörn

Peter

Peter

Vielen Dank für den tollen Artikel.
Wie ist es möglich, lokal gespeicherte Libraries (Arduino-IDE) in Platformio zu integrieren,, bzw. über die Suchfunktion entsprechenden Libraries zu filtern.
Beispiel: Bei der Suche nach einer Library mit dem Namen “Wire” werden mehr als 600 Treffer angezeigt. Auch solche in denen der Name “Wire” im Namen nicht enthalten ist.

Julia

Julia

vielen Dank für den hilfreichen Artikel, ich bin begeistert. Nur das Hochladen auf den ESP32 klappt nicht.
Ich arbeite mit macOS Big Sur Vers. 11.2.3
mit Windows klappt es
Fehler: A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
den Boot Button auf dem ESP32 habe ich gedrückt während des Hochladens,
beste Grüße von Julia

Jürgen Beckamp

Jürgen Beckamp

Danke für den guten Beitrag,
ich kann Libraries nur in ein Projekt installieren.
Bei mir fehlt der gezeigte Schalter “Install…” (viertes Bild).
Ich habe dort “Add to Project” als einzige Auswahl und muss dann auch das Projekt auswählen in das die Libs installiert werden.
So werden viele “gleiche” Libs in den unterschiedlichen Projektordnern abgelegt.
Es wird jedesmal .pio unter dem Projekt erzeugt und darin ist libdeps\esp32… mit den Libs.
( z.B. für ein Webserverprojekt wird .pio mit 110MB und 167Dateien gross) je nach Projekt und installieren Libs, die beim Upate ja auch berücksichtigt werden.
Den erwähnten Ordner „C:\Users\\.platformio\lib“ habe ich nicht.
Ich habe mein Userverzeichnis auf Laufwerk D: verlegt (weil C: klein ist), und da ist kein Verzeichniss „D:\Users\\.platformio\lib“.
Was muss ich in den Einstellungen ändern um auch ein gemeinsames Liraries-Verzeichnis zu bekommen?

In der platformio.ini habe ich dann z.B. :
lib_deps =
AsyncTCP@^1.1.1
ESP Async WebServer@^1.2.3
Im Main.cpp dann die normalen #include und es geht…
aber die Libs kommen dann wohl aus dem Unterordner .pio aus dem jeweiligen Projekt.

Danke für die Unterstützung
Mit freundlichem Gruß
Jürgen

Markus W

Markus W

Anntwort für Daniel:
Sehr einfach, indem man auf den src-Ordner im Arbeitsbereich mit der rechten Maustaste klickt und dann “Neue Datei” wählt. Dann benennt man die Datei und sie ist auch gleich als neuer Tab geöffnet.
Ich habe mir hier die “ordentliche” Arbeitsweise mit Header- und Quelltextdateien angewöhnt.

Das einzige, was ich noch nicht vertsnden habe, ist die Verwendung von Git.

Daniel

Daniel

Hallo, ich bin auch gerade dabei, von der Arduino IDE auf PlatformIO umzusteigen. Vielen Dank für den hilfreichen Beitrag.
In der Arduino IDE kann man den Code eines Projektes (z.B. der Übersichtlichkeit halber) einfach in mehrere .ino Dateien aufteilen.
Wie macht man sowas in PlatformIO?

Viele Grüße
Daniel

R. Otto

R. Otto

Hallo,
ist es möglich aufzuzeigen, wie man mit einem Programmer (zB STK500) oder /und mit dem Bottloader das Programm auf den Arduino überträgt- wo wird das konfiguriert?

Dieter Behm

Dieter Behm

hallo Herr Markus Neumann,

der Artikel ist super, danke auch für Ihren Einsatz für meine Ersatzlieferung. Nach anfänglichen Problemen komme ich meinem Ziel mit Ihren Artikeln ein Stück näher.
Danke dafür

Dieter Behm

Markus

Markus

Ich habe ein Problem mit dem seriellen Monitor unter PlatformIO (in VSC) und dem “ESP32 NodeMCU Module WLAN WiFi Development Board mit CP2102” von Euch.

Unter der Arduinio Ide funktionierte der Zugriff auf die serielle Schnittelle (für Debug-Ausgaben) problemlos.

Unter PlatformIO scheint der ESP32 nicht zu funktionieren, sobald ein “Serial.begin(115200);” in der setup-Funktion erscheint.
Ohne diesen Zugriff auf Serial.XY macht der ESP32 was er soll. (hab mal zum testen die LED blinken lassen)
Welche Einstellungen sind in PlatformIO nötig, damit der serielle Zugriff funktioniert?

Umgebung: MacOS

Einstellungen z.B. für Board habe ich genauso wie hier beschrieben übernommen:
https://docs.platformio.org/en/latest/tutorials/espressif32/arduino_debugging_unit_testing.html

Wer kann mir helfen?

Danke + Gruß

Markus

Bert

Bert

Hallo, wie kann mann die Deutsche Sprache Installieren vielen Dank im voraus Gruß Bert

Thomas

Thomas

Auch vom mir vielen Dank.
Nun kann ich ganz prima Bibliotheken einbinden. Doch wie werde ich die wieder los?
Wie kann man Bibliotheken deinstallieren?
Weiß das jemand?
LG au Berlin

Michael

Michael

Danke für diese Anleitung. Dadurch fällt der Wechsel von der Arduino IDE auf PlattformIO leichter :-)

Udo Scharnitzki

Udo Scharnitzki

Hallo,

es gibt relativ wenige Tutorials, die wie dieses hier, ausführlich und engagiert eine Software vorstellen. Es hat unter Windows 10 alles auf Anhieb geklappt. Für eine Bewertung habe Sie volle Punktzahl mit Auszeichnung verdient.

Vielen, vielen Dank für die Arbeit, die Sie sich gemacht haben. Sowas braucht die Welt!!! Ihnen “ALLES GUTE” weiterhin.

Stephan Strittmatter

Stephan Strittmatter

Super Artikel, ich bin auch recht schnell von der Arduino IDE auf Platform.io umgestiegen. Die IDE ist um Welten besser.

Bernd

Bernd

Das hat einwandfrei funktioniert! Vielen Dank für diese Hilfe!

Deja un comentario

Todos los comentarios son moderados antes de ser publicados