Forum: Mikrocontroller und Digitale Elektronik ESP32 & ESP8266 etc ohne Arduino?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Frank L. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
kommt man, wenn man die verwenden möchte, eigentlich als 
Gelegenheitsprogrammierer noch an Arduino vorbei?
Irgendwie, finde ich NUR Arduiono Turorials und nichts anderes :-(

von Marco H. (damarco)


Bewertung
0 lesenswert
nicht lesenswert
Sicher warum nicht? Im Hintergrund läuft auch der gleiche Code. Nur ohne 
Arduino Bibliotheken.

von Andreas B. (bitverdreher)


Bewertung
1 lesenswert
nicht lesenswert
man kommt schon dran vorbei
http://bbs.espressif.com/
http://esp-idf.readthedocs.io/en/latest/get-started/index.html

Auch wenn ich zugeben muß daß ich für die ESP auch oft die Arduino 
Umgebung verwende.

von Keller (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Arduino ist doch kein Virus

von Stefan ⛄ F. (stefanus)


Bewertung
1 lesenswert
nicht lesenswert
Nun es gibt da noch das originale SDK des Herstellers. Ich weiss nicht 
in welchem Zustand das inzwischen ist.

Als ich das SDK zum ersten mal verwenden wollte, musste man dazu noch 
eine ganz bestimmte Linux Distribution auf den PC installieren. Es gab 
praktisch keine Doku, außer ein paar wild verstreute Notizen und die 
Software lief ziemlich instabil.

All das war bei Arduino schneller verbessert worden, als bei der 
original Firmware, obwohl die Arduino Erweiterung natürlich auf dem 
Espressif SDK aufbaut.

Jedenfalls habe ich mich deswegen an Arduino gewöhnt und bleibe nun auch 
dabei. Andere Mikrocontroller programmiere ich allerdings bevorzugt ohne 
Arduino.

Wenn du da noch flexibel bist würde ich Dir raten, es erst mit dem SDK 
zu versuchen.

von Marco H. (damarco)


Bewertung
0 lesenswert
nicht lesenswert
Die Hürde ist er die Toolchain einzurichten. Da braucht man sich bei der 
Arduino Umgebung kaum Gedanken zu machen.

von Joachim S. (oyo)


Bewertung
0 lesenswert
nicht lesenswert
Wenn man die ESPs in C/C++ programmieren willst, dann kommt man um 
Arduino eigentlich nicht herum.

Es ginge zwar theoretisch natürlich auch ohne Arduino, über das 
hersteller-eigene SDK (letztlich baut Arduino da ja auch nur darauf 
auf); aber in der Praxis macht das so gut wie niemand, und daher ist das 
üblicherweise keine gute Wahl, weil man im Vergleich zur Programmierung 
per Arduino so gut wie keine Tutorials oder erfahrene Leute findet, die 
einem helfen können, wenn man Probleme hat. Daher landet in der Praxis 
eben doch jeder bei Arduino.

Aber wenn es nicht C/C++ sein muss, dann gibt es ja immer noch gewisse 
Alternativen wie LUA/NodeMCU oder MicroPython.

von Sven (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Hi,

ich benutze seit einiger Zeit Sming.
Das funktioniert sehr gut und man kann das schön in Eclipse 
programmieren.

Gruß Sven

von Dauergast (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Joachim S. schrieb:
> Wenn man die ESPs in C/C++ programmieren willst, dann kommt man um
> Arduino eigentlich nicht herum.

Nachdem der Entwickler des ESP8266 Arduino Core, Ivan Grokhotkov, 
inzwischen "Director of Software Platforms at Espressif Systems" ist, 
ist das nicht wirklich eine Überraschung ;-)

von Ben W. (ben_w)


Bewertung
1 lesenswert
nicht lesenswert
und dann gibts da auch noch MicroPython für ESP32/8266 :)

von Marco H. (damarco)


Bewertung
-1 lesenswert
nicht lesenswert
Quark das funktioniert wie bei jedem anderen Controller auch man schaut 
in die Referenz welche Register man setzen muss. Auch die IDF ist 
hinreichend beschrieben.

von Arno (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Aber vielleicht will man das ganze WLAN-Handling ja nicht neu erfinden, 
dafür gibts alternativ zum Arduino Core auch das SDK von Expressif, ohne 
jedes Bit einzeln in den Registern setzen zu wollen.

So richtig gut dokumentiert ist allerdings weder das SDK noch der 
Arduino Core... für letzeren findet man immerhin 1000x mehr Tutorials.

Aber zum Beispiel Fragen wie:

- Was macht die Kiste, wenn man sie in deep sleep versetzt, ohne den 
GPIO mit Reset zu verbinden? Geht sie dann aus bis zum Batteriewechsel 
(wäre mein Ziel, bei leerer Batterie...)? oder
- Welchen Datentyp und Wertebereich liefert analogRead eigentlich 
zurück?

beantwortet weder die Doku zum SDK noch die zum Arduino Core (oder ich 
bin zu blöd, die Info zu finden - bei AVR und der avr-libc schaffe ich 
das, da muss man aber auch weniger Social Media Kompetenzen haben ;) ).

MfG, Arno

von Phil J. (exloermond)


Bewertung
0 lesenswert
nicht lesenswert
Interessante Frage!
Ich plane ein Projekt mit nem ESP32 dem vergleichsweise viel kleinkram 
abverlangt werden soll (X509,ssl,api,ntp,http,wifi,bluetooth ble) und 
ich Frage mich was ich nutzen soll.
Bisher brauchte ich Arduino nicht und hab alles in C gelöst.
Aber weiß nicht wie viele tausend zusätzliche structs ich dann noch 
schreiben sollte bei dem Umfang.

von Stefan ⛄ F. (stefanus)


Bewertung
1 lesenswert
nicht lesenswert
> Aber zum Beispiel Fragen wie ...
> beantwortet weder die Doku zum SDK noch die zum Arduino Core

Diese Dokumentationen sind in der Tat schlecht - sehr schlecht, wenn ich 
das mal so sagen darf. Genau aus diesem Grund habe ich meine 
Erkenntnisse (incl. Antworten auf deine konkreten Fragen) hier zusammen 
getragen:

http://stefanfrings.de/esp8266/index.html

von ABC (Gast)


Angehängte Dateien:

Bewertung
-2 lesenswert
nicht lesenswert
Stefan U. schrieb:
> http://stefanfrings.de/esp8266/index.html

Ich bekomm beim Aufruf deiner Webseite von Norten obige Warnung ???

von Frank L. (Gast)


Bewertung
1 lesenswert
nicht lesenswert
lol..selbst schuld, wer nutzt denn bitte auch norton Antivirus, das 
bekackteste Programm ever!
Der findet immer rigendwas..selbst beim Systemscan findet der total oft 
was..nur immer Falschalarme!!!
Echte Viren dagegen gehen ihm regelmäßig durch die lappen.ein 
Trauerspiel

von Conny G. (conny_g)


Bewertung
0 lesenswert
nicht lesenswert

von temp (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich finde auch dass Arduino auf den ESPs nicht so schlecht ist. 
Allerdings würde ich da keine großen Projekte machen wollen. Das geht 
schon damit los das es keine vernünftige Debuglösung gibt. Auch sind die 
Zeiten um ein neues Programm in den Flash zu laden alles andere als 
klein. Da fühlt man sich zurück in die Steinzeit versetzt wenn man das 
mit einer aktuellen Cortex Entwicklungsumgebung vergleicht.
Außerdem ist die Arduino-Schicht nicht so dick und verhindert auch nicht 
bei Bedarf direkt auf die ESP-Register zu programmieren.
Ich hab mir eine make-File Umgebung für ESP8266 und ESP32 gebaut, die 
Arduino-IDE benutze ich nie. Auf alle Fälle kann man viele Sachen recht 
schnell verwirklichen wenn man ein wenig Arduino kennt ohne sich in die 
Tiefen des ESP-SDKs begeben zu müssen.

von temp (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Conny G. schrieb:
> Da gibts noch was:
>
> https://github.com/SuperHouse/esp-open-rtos
>
> Mit
>
> https://github.com/pfalcon/esp-open-sdk/

Die Arduino Libs für die ESPs haben aber den riesen Vorteil durch eine 
relativ weite Verbreitung halbwegs clean zu sein. Ob die o.g. 
Nischenlösungen in 2 Jahren noch gepflegt werden kann niemand sagen. Ich 
würde damit nicht anfangen.

von Conny G. (conny_g)


Bewertung
-1 lesenswert
nicht lesenswert
temp schrieb:
> Conny G. schrieb:
>> Da gibts noch was:
>>
>> https://github.com/SuperHouse/esp-open-rtos
>>
>> Mit
>>
>> https://github.com/pfalcon/esp-open-sdk/
>
> Die Arduino Libs für die ESPs haben aber den riesen Vorteil durch eine
> relativ weite Verbreitung halbwegs clean zu sein. Ob die o.g.
> Nischenlösungen in 2 Jahren noch gepflegt werden kann niemand sagen. Ich
> würde damit nicht anfangen.

Ja, da muss ich zustimmen, dass man da aufpassen muss, wenn es um 
längerfristiges "Investment" geht.
Ich bin da grad nur über ein schnelles Spassprojekt drübergestolpert und 
fand es dabei auch mal ganz witzig mir FreeRTOS anzuschauen.
Aber das bauen der Toolchain war schonmal sehr beschwerlich auf dem Mac, 
da muss man zwei Hacks anwenden damit das klappt...
War einen Nachmittag damit beschäftigt das zum Laufen zu bekommen.

von Stefan ⛄ F. (stefanus)


Bewertung
3 lesenswert
nicht lesenswert
> Ich bekomm beim Aufruf deiner Webseite von Norten obige Warnung

Seltsam, dabei enthält die Seite nur ein winziges kleines Javascript zum 
Nachladen der Navigation. Was soll daran gefährlich sein?

Vielleicht hat ein Buchverlag die Seite angeschwärzt weil er Angst um 
seine Umsätze hat. Das wäre allerdings lächerlich. Meine Tutorials 
können keinem fundierten Fachbuch das Wasser reichen.

: Bearbeitet durch User
von ABC (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Seltsam, dabei enthält die Seite nur ein winziges kleines Javascript zum
> Nachladen der Navigation

Da lungert irgendwo auf deiner Website ein netcat rum und das mag er 
nicht.

https://de.wikipedia.org/wiki/Netcat#Missbrauch

"Durch seine Universalität kann Netcat auch verwendet werden, um 
beispielsweise Backdoors auf einem System einzurichten. So stufen 
diverse Antivirenprogramme, unter anderem McAfee VirusScan, Ikarus, 
Avira AntiVir, AVG-Antivirus, Norton AntiVirus, Kaspersky Anti-Virus, 
Sophos AntiVirus und G Data Antivirus, das Programm nc.exe als Werkzeug 
zur Sicherheitsüberprüfung oder als potentiell unerwünschtes Programm 
ein und verhindern dessen Ausführung."

von Oliver S. (phetty)


Bewertung
0 lesenswert
nicht lesenswert
Phil J. schrieb:
> Ich plane ein Projekt mit nem ESP32 dem vergleichsweise viel kleinkram
> abverlangt werden soll (X509,ssl,api,ntp,http,wifi,bluetooth ble) und
> ich Frage mich was ich nutzen soll.

Das ist sehr komplex. Nimm einen Raspberry.

von Phil J. (exloermond)


Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Das ist sehr komplex

Das musst du begründen.
In den SDKs sind für alles Beispiele da.
Ein ESP32 hat ja auch einiges an Power.
So Sachen wie NTP sind ja keine permanenter Task und soll ja nur einmal 
am Tag die Zeit in die RTC schreiben.
Prinzipiell sollen nur ein paar Daten ins Web weitergeleitet werden, nur 
muss das ganze halt auch sicher sein, was den ganzen Krempel mehr oder 
weniger einfordert.

: Bearbeitet durch User
von kwriedel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dann gibt es da noch einen Basic Interpreter, der (soweit ich es 
verstanden habe) mit ein paar richtig fetten Vorteilen:

- Kann als als Webserver Grafiken/Messkurven darstellen, ohne 
irgendwelche Cloud/Google Funktionen. Alles Lokal. Sicherlich sinnvoll, 
wenn das Gerät ein paar Jahre funktionieren soll.

- IDE ist im ESP drin. Alles wird über das Webinterface 
programmiert/editiert. Auf dem PC/Tablet/Handy/Äpfelchen muß nix 
installiert werden.

https://www.esp8266basic.com/

von Marco H. (damarco)


Bewertung
0 lesenswert
nicht lesenswert
https://mongoose-os.com/ gibt es ja auch noch. Wer schnell zu 
Ergebnissen kommen will und keine Lust hat grundlegende Protokolle zu 
implementieren genau das richtige.

von Wolfgang S. (ws01)


Bewertung
-1 lesenswert
nicht lesenswert
Joachim S. schrieb:
> Wenn man die ESPs in C/C++ programmieren willst, dann kommt man um
> Arduino eigentlich nicht herum.
>
> Es ginge zwar theoretisch natürlich auch ohne Arduino, über das
> hersteller-eigene SDK (letztlich baut Arduino da ja auch nur darauf
> auf); aber in der Praxis macht das so gut wie niemand,

Das stimmt so nicht. Die Entwickler der NodeMCU-Firmware machen das 
beispielsweise so, wobei sie allerdings nicht direkt auf dem SDK, 
sondern einem Nachbau aufsetzen.

https://github.com/nodemcu/nodemcu-firmware

Zitat:

"NodeMCU is an eLua based firmware for the ESP8266 WiFi SOC from 
Espressif. The firmware is based on the Espressif NON-OS SDK 2.1.0 and 
uses a file system based on spiffs. The code repository consists of 
98.1% C-code that glues the thin Lua veneer to the SDK."

Es gibt die Buildumgebung als Docker-Image, als VM, aber man kann sie 
sich auf Basis von https://github.com/pfalcon/esp-open-sdk 
zusammenbauen. Ist zwar schon eine ganze Weile her, ich fand diese 
Variante auf Basis einer selbst gebauten VM die - für mich - am besten 
kontrollierbare und in gewisser Weise interessanteste.

> und daher ist das
> üblicherweise keine gute Wahl, weil man im Vergleich zur Programmierung
> per Arduino so gut wie keine Tutorials oder erfahrene Leute findet, die
> einem helfen können, wenn man Probleme hat. Daher landet in der Praxis
> eben doch jeder bei Arduino.

Ich jedenfalls bisher nicht.

>
> Aber wenn es nicht C/C++ sein muss, dann gibt es ja immer noch gewisse
> Alternativen wie LUA/NodeMCU oder MicroPython.

Mit der NodeMCU-Firmware muß man sich nicht von C verabschieden, denn 
ein Lua-Modul ist schnell geschrieben, tatsächlich sind die einzelnen 
Komponenten dieser Firmware überwiegend in C geschriebene Lua-Module. 
Diese kann man auch gut als Vorlage für eigene Versuche benutzen.

Die Eleganz dieser Geschichte liegt daran, daß man @runtime den 
kompletten Lua-Interpreter zur Verfügung hat.

von Forist (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ABC schrieb:
> Ich bekomm beim Aufruf deiner Webseite von Norten obige Warnung ???

Und das von einer Software, deren Herausgeber mit Panikmache und 
Sicherheitstools ihr Geld verdient. Wundert dich das also?

Was ist denn in deren Augen gefährlich an der Web-Site?

Lies die Warnung als WERBUNG in eigener Sache.

von Joachim S. (oyo)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang S. schrieb:
> Joachim S. schrieb:
>> Wenn man die ESPs in C/C++ programmieren willst, dann kommt man um
>> Arduino eigentlich nicht herum.
>>
>> Es ginge zwar theoretisch natürlich auch ohne Arduino, über das
>> hersteller-eigene SDK (letztlich baut Arduino da ja auch nur darauf
>> auf); aber in der Praxis macht das so gut wie niemand,
>
> Das stimmt so nicht.

Auch nach dem Rest Deines Postings habe ich ehrlich gesagt nicht ganz 
verstanden, worauf sich Dein "Das stimmt so nicht"-Widerspruch 
eigentlich genau bezieht.
Du redest doch exklusiv von NodeMCU/LUA (was im Übrigen auch mein 
Programmieransatz der Wahl, zumindest für den ESP8266, ist), während ich 
lediglich geschrieben habe, dass bei der ESP-Programmierung per C/C++ 
Arduino der de-facto-Standard ist, an dem man in der Praxis kaum 
vorbeikommt.

Falls Du einfach darauf hinaus wolltest, dass man NodeMCU-Module auch in 
C schreiben kann, dann hast Du natürlich Recht - aber das macht man in 
der Praxis ja eigentlich nur dann, wenn man den ESP grundsätzlich zwar 
in LUA programmieren möchte, und es für eine bestimmte gewünschte 
Funktionalität bislang noch kein passenden LUA-Modul gibt (und nicht, 
wenn man den ESP ganz grundsätzlich in C/C++ programmieren möchte).

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
> Da lungert irgendwo auf deiner Website ein netcat rum

Interessant, wegen so etwas die ganze Domain zu blockieren. Naja, 
Software von Symantec war schon immer Sch....

: Bearbeitet durch User
von Thomas Z. (thomas_z41)


Bewertung
0 lesenswert
nicht lesenswert
temp schrieb:
> Conny G. schrieb:
>> Da gibts noch was:
>>
>> https://github.com/SuperHouse/esp-open-rtos
>>
>> Mit
>>
>> https://github.com/pfalcon/esp-open-sdk/
>
> Die Arduino Libs für die ESPs haben aber den riesen Vorteil durch eine
> relativ weite Verbreitung halbwegs clean zu sein. Ob die o.g.
> Nischenlösungen in 2 Jahren noch gepflegt werden kann niemand sagen. Ich
> würde damit nicht anfangen.

esp-open-sdk ist die Grundlage für die Buildumgebung von MicroPython und 
wird sehr gewissenhaft gepflegt. Im Prinzip ist es aber auch nur ein 
Makefile welches sich ums Aufsetzen der Toolchain kümmert und dafür eine 
für den ESP8266 getestete Version von Crosstool-NG installiert und alle 
nicht als Opensource verfügbare Bestandteile des Espressif SDK aus 
diesem installiert.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
> Und das von einer Software, deren Herausgeber mit Panikmache und
> Sicherheitstools ihr Geld verdient. Wundert dich das also?

Schlimmer noch, ich habe gerade versucht, diesen Fehler zu melden. Geht 
nicht, keine Chance Kontakt aufzunehmen. Man dreht sich auf deren 
Webseite nur im Kreis. Telefonsupport und Chat stehen "zufälligerweise" 
gerade nicht zur Verfügung und es gibt keine Email Adresse.

Bleibt also nur ein böser Brief nach USA - na toll!

von Wolfgang S. (ws01)


Bewertung
-1 lesenswert
nicht lesenswert
Joachim S. schrieb:
> Wolfgang S. schrieb:
>> Joachim S. schrieb:
>>> Wenn man die ESPs in C/C++ programmieren willst, dann kommt man um
>>> Arduino eigentlich nicht herum.
>>>
>>> Es ginge zwar theoretisch natürlich auch ohne Arduino, über das
>>> hersteller-eigene SDK (letztlich baut Arduino da ja auch nur darauf
>>> auf); aber in der Praxis macht das so gut wie niemand,
>>
>> Das stimmt so nicht.
>
> Auch nach dem Rest Deines Postings habe ich ehrlich gesagt nicht ganz
> verstanden, worauf sich Dein "Das stimmt so nicht"-Widerspruch
> eigentlich genau bezieht.

Auf die Aussage "in der Praxis macht das so gut wie niemand" im 
Zusammenhang mit "wenn man in C/C++ programmieren will".

> Du redest doch exklusiv von NodeMCU/LUA (was im Übrigen auch mein
> Programmieransatz der Wahl, zumindest für den ESP8266, ist),

Nein. Ich habe spezifisch darauf hingewiesen, daß man beim Einsatz der 
NodemMCU-Firmware durchaus nennenswerte Teile einer Anwendung auch in C 
programmieren kann, ohne sich dafür ungewöhnlich verrenken zu müssen.


> während ich
> lediglich geschrieben habe, dass bei der ESP-Programmierung per C/C++
> Arduino der de-facto-Standard ist, an dem man in der Praxis kaum
> vorbeikommt.

Und dem habe ich widersprochen. Es mag in gewissen Kreisen "der 
de-facto-Standard" sein, das bedeutet aber nicht, daß man in der Praxis 
nicht daran vorbeikommt, wenn man in C/C++ programmieren will. 
Selbstverständlich muß man sich bei Einsatz der NodeMCU-Firmware in 
gewisser an deren Konzepte anpassen, aber was ist diesbezüglich anders 
als bei der Anpassung an die Arduino-Modalitäten? Wer völlige Freiheit 
haben will, wird direkt auf dem Espressif-SDK aufsetzen.

>
> Falls Du einfach darauf hinaus wolltest, dass man NodeMCU-Module auch in
> C schreiben kann, dann hast Du natürlich Recht - aber das macht man in
> der Praxis ja eigentlich nur dann, wenn man den ESP grundsätzlich zwar
> in LUA programmieren möchte, und es für eine bestimmte gewünschte
> Funktionalität bislang noch kein passenden LUA-Modul gibt (und nicht,
> wenn man den ESP ganz grundsätzlich in C/C++ programmieren möchte).

Wenn ich den ESP ganz grundsätzlich nur in C/C++ programmieren möchte, 
benutze ich den Espressif-SDK ohne irgendwelches Beiwerk.

Wenn etwas, das man benötigt, bereits ein passendes in C programmiertes 
Lua-Modul existiert, dann verwendet man das natürlich, oder man nimmt es 
als Vorlage für ein eigenes Modul. Entsprechend würde man bei Verwendung 
der Arduino-Plattform verfahren, nur daß man dort nicht die Option hat, 
die benötigte Funktionalität, sofern das praktikabel ist, alternativ in 
einer interpretierten Hochsprache zu formulieren und insb. damit 
Funktionalität @runtime zu ergänzen oder zu modifzieren.

Eine Aussage, ob man das will oder braucht und was die bessere Variante 
ist, oder was generell populärer ist, war mit meinem Einwand nicht 
verbunden.

von a4711 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich nutze "sloeber" und eclipse. Das ist zwar immer noch Arduino, aber 
mit Indexer. Für mich die perfekte Lösung.

von Egon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Autor: Frank L. (Gast)
Datum: 19.01.2018 07:30

>Hallo,
>kommt man, wenn man die verwenden möchte, eigentlich als
>Gelegenheitsprogrammierer noch an Arduino vorbei?

Was macht eigentlich so einen Gelegenheitsprogrammierer aus?

von Arno (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
>> Aber zum Beispiel Fragen wie ...
>> beantwortet weder die Doku zum SDK noch die zum Arduino Core
>
> Diese Dokumentationen sind in der Tat schlecht - sehr schlecht, wenn ich
> das mal so sagen darf. Genau aus diesem Grund habe ich meine
> Erkenntnisse (incl. Antworten auf deine konkreten Fragen) hier zusammen
> getragen:
>
> http://stefanfrings.de/esp8266/index.html

Stimmt, da hätte ich mal nachgucken können :) Zumindest die erste Frage 
beantwortest du (vielen Dank!), zu der zweiten hab ich nichts gefunden 
:(

Also klar, ich kann 0-1V an den AD-Eingang anlegen, aber was gibt 
analogRead dann jeweils zurück? Ich glaube, einen Integer mit 
Wertebereich 0 (bei 0V) bis 1023 (bei 1V), aber das hab ich irgendwo aus 
der Arduino-Dokumentation für AVR, ob das für den ESP auch so ist, hab 
ich noch nicht herausfinden können.

MfG, Arno

von 900ss D. (900ss)


Bewertung
0 lesenswert
nicht lesenswert
temp schrieb:
> Ich hab mir eine make-File Umgebung für ESP8266 und ESP32 gebaut

Magst du die hier mal zeigen (beschreiben)?
Danke schön.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
> ich kann 0-1V an den AD-Eingang anlegen, aber was gibt
> analogRead dann jeweils zurück?

Der ADC Eingang misst 0 bis 1 Volt mit 10 Bit, aber wegen der 
Einstreuung des eigenen HF Signals muss man mit 0,2V (!) Abweichung 
rechnen. Eigentlich kann man den Eingang nur gebrauchen, während der HF 
Teil deaktiviert ist. Im Datenblatt findet man diese Info nur gut 
versteckt zwischen den Zeilen.

10 bit entspricht den Werten 0 - 1023. Das hättest du sicher längst 
ausprobieren können.

Achtung: Auf NodeMCU Boards gibt es einen Spannungsteiler, damit man 0 - 
3,3V anlegen kann.

von temp (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
900ss D. schrieb:
> temp schrieb:
>> Ich hab mir eine make-File Umgebung für ESP8266 und ESP32 gebaut
>
> Magst du die hier mal zeigen (beschreiben)?
> Danke schön.

Na gut, ich fange mal mit dem ESP8266 an. Habe das gerade auf den 
aktuellen Stand 2.4.0 angepasst. Im Anhang ein zip mit meiner 
Verzeichnisstruktur. blinky und wifi darin sind Beispiele ohne Anspruch 
auf Funktion. Sie dienen nur dazu den build-Vorgang zu demonstrieren.


Zuerst die Esp8266-Arduino Quelle, den Compiler und das esptool von 
folgenden Quellen
laden:

http://arduino.esp8266.com/versions/1.6.5-947-g39819f0/esp8266-1.6.5-947-g39819f0.zip
https://github.com/esp8266/Arduino/releases/download/2.4.0/esp8266-2.4.0.zip
https://github.com/igrr/esptool-ck/releases/download/0.4.12/esptool-0.4.12-win32.zip


die zips so auspacken dass folgende Verzeichnisstruktur entsteht:
1
c:/esp8266-24 |- esp8266-2.4.0
2
              |- xtensa-lx106-elf
3
              |- esptool-0.4.12-win32
4
              |- tools
5
              |- blinky

wir brauchen noch: make.exe mkdir.exe rm.exe sh.exe und echo.exe

das habe ich von hier:
https://github.com/gnuarmeclipse/windows-build-tools/releases

diese Dateien aus dem Zip ins Tools Verzeichnis kopieren. Sind in meinem 
Zip aber schon drin.


Wenn das alles gelaufen ist kann man z.B. ins Verzeichnis blinky 
wechseln und dort eine Konsole aufmachen. Mit build.bat wird der Pfad 
für die tools gesetzt und das Beispiel uebersetzt. Danach kann in dieser 
Konsole mit "make flash" der esp geflasht werden. Anpassungen an die 
reale Hardware müssen natürlich im makefile gemacht werden.

von Arno (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> 10 bit entspricht den Werten 0 - 1023. Das hättest du sicher längst
> ausprobieren können.

Danke, und natürlich hätte ich das demnächst ausprobiert, die HW ist ja 
noch nicht da, ich programmiere nur schon :)

Ich erwarte aber eigentlich von einer Dokumentation, dass sowas da drin 
steht. Kann ja auch sein, dass Arduino das in ein float von 0.0 bis 1.0 
umsetzt oder sowas, das weiß ich ja nicht, weil es nicht in der Doku 
steht.

Aber jetzt höre ich auch auf zu meckern :D

Mal sehen, wie gut das mit den +-0.2V funktioniert - mir geht es nur um 
die Erkennung, wann 2x AA leer sind. Das kann langsam sein (Mittelung 
über viele Messungen) und es muss auch nicht auf 0.1V Akkuspannung genau 
sein.

MfG, Arno

von 900ss D. (900ss)


Bewertung
0 lesenswert
nicht lesenswert
temp schrieb:
> Na gut, ich fange mal mit dem ESP8266 an

Danke dir. Das werde ich die Tage mal testen. Ich mag die Arduino- 
Umgebung gar nicht.

: Bearbeitet durch User
von Mathias O. (m-obi)


Bewertung
0 lesenswert
nicht lesenswert
Also ich nutze FreeRTOS auf dem ESP32. Programmieren tue ich in Qt 
Creator, da ich es auch nehme um Windows Applikationen zu programmieren. 
Zum compilieren dann den Xtensa-esp32-elf-gcc vom ESP-IDF.
Hab auch mal gelesen, dass der Arduino Core 65% lamgsamer ist als 
FreeRTOS.
Hab MQTT, CAN und I2C prima zum laufen bekommen.

Suche jetzt nur was passendes um Webserver aufzusetzen. Denke mal werde 
Mongoose verwenden oder kennt jemand was besseres?

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Falls Du eine Implementierung der QTcpServer Klasse für deinen 
Mikrocontroller hast (oder bauen kannst), dann könnte QtWebApp was für 
Dich sein.

von Mathias O. (m-obi)


Bewertung
0 lesenswert
nicht lesenswert
QtWebApp kenn ich schon von vorigen Projekten. Wär eine Idee, generell 
eine Qt-Implementierung zu machen für den ESP32. Aber soweit hab ich 
noch keine Erfahrung. Trotzdem würde ich jetzt gerne erstmal was schon 
erprobtes nutzen.

von devzero (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mongoose ist schon gut (also die lib in Verbindung mit esp-idf).

von esp (Gast)


Bewertung
0 lesenswert
nicht lesenswert
https://realtimelogic.com/downloads/sharkssl/ESP8266/


letztens gesehen ...
klingt zumindest interessant

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Blockiert Symantec meine Webseite immer noch?

Beitrag #5409469 wurde vom Autor gelöscht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.