esp2866 nur über Arduino IDE?

Gast #5641524
Lesenswert?

Nabend,
mit welchem Tool programmiert und flasht ihr esp2866-module (NodeMCU, 
also über usb)?
Alles was ich bisher gefunden habe, ist dass ich mir die Arduino IDE 
installieren muss.
Gibt es keine möglichkeit ein Addon oder so in AtmelStudio zu 
installieren?
Würde ungern extra nur dafür die Arduino IDE installieren.

Frank
Gast #5641531
Lesenswert?

Das Atmel Studio untestützt nur Atmel Mikrocontroller. Der ESP8266 ist 
von Espressif und enthält eine CPU von Tensilica. Wenn Du Dir die Doku 
zum entsprechenden SDK anschaust wirst du sehen, dass es entsprechende 
Plugins für Eclipse gibt.

Mit Arduino ist die Programmierung aber einfacher.
Gast #5641748
Lesenswert?

Hallo,
habe mir jetzt Microsoft Visual Code und plattformio installiert und 
zunächst den blink-code erstellt
1
#include <Arduino.h>
2

3
void setup() {
4
  // put your setup code here, to run once:
5
  pinMode(13, OUTPUT);
6
}
7

8
void loop() {
9
  // put your main code here, to run repeatedly:
10
  digitalWrite(13, HIGH);
11
  delay(1000);
12
  digitalWrite(13,LOW);
13
  delay(1000);
14
}

Allerdings bekomme ich den esp nicht geflasht. Verbunden habe ich den 
NodeMCU mit usb an COM3 mit dem PC verbunden.

Bekome den output
Processing nodemcuv2 (platform: espressif8266; board: nodemcuv2; 
framework: arduino)
------------------------------------------------------------------------ 
------------------------------------------------------------------------ 
------------------------------------------------------------------------ 
-
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: 
https://docs.platformio.org/page/boards/espressif8266/nodemcuv2.html
PLATFORM: Espressif 8266 > NodeMCU 1.0 (ESP-12E Module)
HARDWARE: ESP8266 80MHz 80KB RAM (4MB Flash)
Library Dependency Finder ->
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 26 compatible libraries
Scanning dependencies...
No dependencies
Retrieving maximum program size .pioenvs\nodemcuv2\firmware.elf
Checking size .pioenvs\nodemcuv2\firmware.elf
Memory Usage ->
DATA:    [===       ]  34.2% (used 28000 bytes from 81920 bytes)
PROGRAM: [==        ]  23.7% (used 247912 bytes from 1044464 bytes)
Configuring upload protocol...
Looking for upload port...
Auto-detected: COM3
Uploading .pioenvs\nodemcuv2\firmware.bin
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
*** [upload] Error 2

Aber das bisschen brauch schon 247912 bytes? Das finde ich eigentlich 
ganz schön viel. Mal schaun wie weit ich da mit meinem Programm komme
Gast #5641877
Lesenswert?

Dieses Problem habe ich hinbekommen. hatte noch einen Arduino am PC 
angeschlossen, welcher am COM3 hing. konnte ich nicht flashen.

Aber dann ist mir ein neues Problem aufgekommen. Und zwar den serial 
Monitor
Dazu lasse ich mir im Code (anstelle von die LED blinken) "HIGH" und 
"LOW" ausgeben.

Wenn ich PlatformIO: Serial Monitor anklicke, bekomme ich folgende 
Meldung
> Executing task in folder ESP_1: C:\Users\.platformio\penv\Scripts\platformio.exe 
device monitor <

could not open port '/dev/ttyUSB1': could not open port '/dev/ttyUSB1': 
WindowsError(3, 'Das System kann den angegebenen Pfad nicht finden.')
The terminal process terminated with exit code: 1

Wenn ich Debugg starte, bekomme ich ein Error
> Executing task in folder ESP_1: C:\Users\.platformio\penv\Scripts\platformio.exe 
debug <

Error: Currently, PlatformIO does not support debugging for `NodeMCU 1.0 
(ESP-12E Module)`.
Please contact support@pioplus.com or visit < 
https://docs.platformio.org/page/plus/debugging.html >
The terminal process terminated with exit code: 1

Dort ist der Fehler eigentlich klar beschrieben ( also das kein 
debugging unterstützt wird). Aber im Internet gibt es Beispiele, wo die 
es benutzen.
Einige male, wurde eine android.json angepasst. Diese existiert in 
meinem Projekt allerdings gar nicht.
Gast #5641897
Lesenswert?

Du musst vmtl. einiges in der "platformio.ini" für dein Projekt 
anpassen.


"upload_port = COM3"

für den Comport deines Nodemcu.
"upload_speed = 115200" , ist vmtl. default


"upload_resetmethod = nodemcu"
stellt ein, ob dein Board per DTR-Gewackel einen reset-auslösen kann, 
und wie. Wenn du "board = nodemcuv2" gesetzt hast, sollte das auch 
default sein.

ähnlich:

"monitor_port = COM3" für den Seriellen Monitor. /dev/ttyUSB1 wäre für 
Linux...

"monitor_speed = 115200", oder was du in deinem Sketch konfiguriert 
hast.


Wegen dem Speicherplatz-Bedarf: Da ist ja auch das ganze Wlan-drumherum 
mit dabei, das wird jedesmal mitkompiliert und hochgeladen.

Du kannst mit platformio statt

platform = espressif8266
framework = arduino


auch z.B. mit
framework = esp8266-nonos-sdk


"auf dem blankem Metall" arbeiten, da hast du mehr Kontrolle über das, 
was am Schluss im Chip landet. Aber auch weniger Easy-to-use 
vorbereitete Libraries.
#5641901
Lesenswert?

Stefanus F. schrieb:
> Das Atmel Studio untestützt nur Atmel Mikrocontroller. Der ESP8266 ist
> von Espressif und enthält eine CPU von Tensilica. Wenn Du Dir die Doku
> zum entsprechenden SDK anschaust wirst du sehen, dass es entsprechende
> Plugins für Eclipse gibt.
>
> Mit Arduino ist die Programmierung aber einfacher.

Falsch.

esp-idf bietet das Flashen mit einem Befehl an, zudem ist das ganze 
aufgebaut auf FreeRTOS und sehr angenehm zu programmieren.

Debuggen ist auch kinderleicht. Macht das mal einfach mit Arduino. 
Kannst du vergessen. Genauso wie die Nutzung einer anständigen IDE, so 
kannst du einfach in eclipse ein Projekt einbinden und fertig aus...
#5641907
Lesenswert?

Frank schrieb:
> Aber das bisschen brauch schon 247912 bytes? Das finde ich eigentlich
> ganz schön viel. Mal schaun wie weit ich da mit meinem Programm komme

Das ist normal, der größte Teil davon ist der von Espressiv 
bereitgestellte Firmwarekern in binärer Form. Da kenn man halt nichts 
weglassen auch wenn Funktionen für das eigene Projekt nicht benötigt 
werden.
Mit dem schreiben eigener Programme wächst der Speicherbedarf dann in 
üblichen Größenordnungen.

Sascha
Gast #5641913
Lesenswert?

Frank schrieb:
> Aber das bisschen brauch schon 247912 bytes? Das finde ich eigentlich
> ganz schön viel.

Ca. 250 Kilobytes gehen für die Basis Firmware des Chipherstellers 
drauf, da sind die ganzen WLAN spezifischen Funktionen drin. Mache Dir 
keine Sorgen, den Rest bekommt man nicht so schnell voll.

> /dev/ttyUSB1

So benennt Linux die USB-UART Adapter. Unter Windows heissen die Ports 
COMx. Das musst du irgendwo einstellen.

Bezüglich des Debuggings: Soweit ich weiß hat der ESP8266 keine 
Debugging Schnittstelle. Du kannst nur Texte auf dem seriellen port 
ausgeben.

Die unterstützten Plattformen von PIO kannst du hier sehen: 
https://docs.platformio.org/en/latest/plus/debugging.html
Gast #5641925
Lesenswert?

Platformio schrieb:
> Du musst vmtl. einiges in der "platformio.ini" für dein Projekt
> anpassen.

Danke für den Hinweis. Das hat mir sehr geholfen

Platformio schrieb:
> Wegen dem Speicherplatz-Bedarf: Da ist ja auch das ganze Wlan-drumherum
> mit dabei, das wird jedesmal mitkompiliert und hochgeladen.
>
> Du kannst mit platformio statt
>
> platform = espressif8266
> framework = arduino
>
> auch z.B. mit
> framework = esp8266-nonos-sdk
>
> "auf dem blankem Metall" arbeiten, da hast du mehr Kontrolle über das,
> was am Schluss im Chip landet. Aber auch weniger Easy-to-use
> vorbereitete Libraries.

Das werde ich später in Angriff nehmen :)

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