Forum: Mikrocontroller und Digitale Elektronik NodeMCU V2 Amica Dokumentation


von F. K. (superpcfan)


Lesenswert?

Ich habe mir ein paar der NodeMCU V2 Amica Module zugelegt und bin über 
ein grundlegendes Problem in der Dokumentation gestolpert.

Ich habe mit diversen Suchbegriffen mit Google versucht, eine 
Dokumentation für dieses Modul zu finden.
Allerdings akzeptieren meine Module die schreibweise nicht, die auf 99% 
der Seiten beschrieben wird.

Lediglich auf dieser Seite
http://www.mikrocontroller-elektronik.de/nodemcu-esp8266-tutorial-wlan-board-arduino-ide/
kann ich ein paar Codeschnippsel finden (aber eben keine 
Bibliotheks-Dokumentation) die von meinen Modulen akzeptiert wird.

Wenn ich die Lib ESP8266WiFi.h einbinde, sagen 99% der Seiten der Befehl 
zum Setzen des WiFi Betriebsmodus lautet "wifi.setmode(wifi.SOFTAP)".

Meine IDE gibt dafür einen Kompilierfehler aus und will stattdessen 
"WiFi.mode(WIFI_AP)" haben. Nur damit wird das Sketch fehlerfrei 
compiliert.

Selbst die verlinkte Seite widerspricht sich. In den Beispielen steht 
die funktionierende Schreibweise. In den Quellen ist aber die 
nicht-funktionierende Doku verlinkt.

Kann sich jemand einen Reim darauf machen, wo mein Denkfehler oder der 
Haken an der Doku zu suchen ist?

von Rolf H. (b0d0)


Lesenswert?

Das lieg vielleicht daran, dass die gefundenen Dokumente die Lua API 
beschreiben und nicht die C API.

Siehe wifi.setmode Doku -> 
https://nodemcu.readthedocs.io/en/master/en/modules/wifi/#wifisetmode

Da die Bibliotheken aber in C geschrieben sind, gibt es im Git bestimmt 
auch die .h und .c Dateien dazu.

von Stefan F. (Gast)


Lesenswert?

Anscheinend benutzt du das Arduino Framework, nicht die NodeMCU 
Firmware. Dann musst du auch in die Doku von Arduino schauen.

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

von F. K. (superpcfan)


Lesenswert?

Das sieht schon nicht schlecht aus. Die Syntax scheint zu stimmen.
Danke.

Aber ist es jetzt zu viel verlangt statt sich durch 100 Unterseiten 
wühlen zu müssen, einfach eine Tabelle mit den in der Klasse enthaltenen 
Methoden, einer kurzen Funktionsbeschreibung und den zugehörigen 
Enumeratoren zu bekommen? .....tabellarisch....:)

von Stefan F. (Gast)


Lesenswert?

Wenn Du Netbeans als IDE verwendest, brauchst du nur den Namen einer 
Klasse hinschreiben und den Cursor in den Namen zu setzen. Dann 
erscheint im "Navigator" die Auflistung aller Methoden. Und wenn du 
drauf klickst, gelangst du zum Quelltext der Methode.

Mit Eclipse geht das sicher auch irgendwie.

Leider findet man im Quelltext nur sehr wenig Dokumentation. Allgemein 
halte ich das Thema Dokumentation für den größten Schwachpunkt des 
Arduino Frameworks.

von F. K. (superpcfan)


Lesenswert?

Ich weiß, dass eine "gute" IDE solche Vorschläge und 
Auto-Vervollständigung  machen kann.

Ich wollte mir jetz blos keinen großen Aufwand machen und erst noch ewig 
nach einer "guten" IDE suchen, obwohl ich "nur" ein kleines Problem 
lösen will.

Normalerweise programmiere ich Mikrocontroller in Assembler, weil es mir 
mit C oder sonst einer Hochsprache gewaltig auf den Keks geht, dass ich 
mehr Zeit damit verbringe die richtige Dokumentation für die jeweilige 
Bibliothek zu finden, statt eine Lösung zu programmieren.

Ich brauche den NodeMCu nur, weil es mir mit 2 NodeMCU's als "das 
Einfachste" erschien, um einen Funk-Portexpander zu bauen, der 4Mbps 
schafft.

Daher habe ich mir um die IDE keinen Kopf gemacht und irgendson Arduino 
billig Dingsbums installiert, in der Hoffnung, dass die Doku gut genug 
ist und die Methoden beschreibt.....Arduino ist ja schließlich für 
Anfänger gedacht...dachte ich.... :)

von F. K. (superpcfan)


Lesenswert?

Ich habe jetzt versucht Netbeans zum Laufen zu bringen und bin kläglich 
gescheitert.

Netbeans lässt sich problemlos installieren und das Programm startet 
auch ohne murren, aber mehr passiert nicht. Bei etwa 50% der 
Buttons(Optionen, neues Projekt, Projekt öffnen, usw.) passiert einfach 
gar nichts. Keine Fehlermeldung aber auch keine sichtbare Reaktion des 
Programmes. Abstürzen tut Netbeans aber auch nicht. Es passiert einfach 
nichts.

Somit kann ich auch nicht auf den Menüpunkt "Optionen" drücken, wie es 
die Seite von Stefan Frings beschreibt, um die IDE für Arduino 
einzurichten.

Jemand einen Tipp?

von Andreas M. (andiator)


Lesenswert?

Hallo F.K.

Netbeans habe ich nicht probiert, dafür aber Eclipse - da gibt es eine 
fertige Variante (nach Sloeber suchen). Es gibt auch ein anderes 
Arduino-Plugin, hat aber bei mir irgendwie nicht richtig geklappt.

Und wenn man sich Visual Studio (Communtity Edition) und dessen 
Installationsorgie antun will, gibt es ein Arduino-AddOn. Hat 
erstaunlich gut funktioniert, besser als die Eclipse-Varianten.

MfG,
Andreas

PS
ist bei Netbeans auch C++ Plugin installiert?

von Stefan F. (Gast)


Lesenswert?

> Netbeans lässt sich problemlos installieren und das Programm
> startet auch ohne murren, aber mehr passiert nicht.

Das ist seltsam. Versuche es mal mit Java 8 statt Java 9.

Oder versuche, es beim ersten mal als Administrator zu starten.

Hat dein Rechner genug RAM? 4GB muss es schon sein und dann kannst du 
die Arduino IDE eventuell nicht gleichzeitig laufen lassen. Beide sind 
gewaltige Speicherfresser.

von F. K. (superpcfan)


Lesenswert?

Das Problem bei NetBeans war tatsächlich, dass NetBeans mit Java 9 nicht 
zurecht kommt. Mit Java 8 läuft NetBeans.
Allerdings habe ich mich dann über die merkwürdige Implementierung 
gewundert und NetBeans beiseite geräumt.
Dass die Arduino IDE zusätzlich benötigt wird und man beim Anlegen eines 
neuen Projektes dann noch solche Klimmzüge machen muss, ist ja unter 
aller Kanone.

Ich hab jetzt also Visual Studio samt Arduino Plugin installiert.
Läuft auch alles soweit.

Danke.

von Stefan F. (Gast)


Lesenswert?

> Dass die Arduino IDE zusätzlich benötigt wird und man beim Anlegen eines
> neuen Projektes dann noch solche Klimmzüge machen muss, ist ja unter
> aller Kanone.

Der Aufwand für die Ersteinrichtung ist bei allen mir bekannten IDE's 
ähnlich. Für Eclipse gibt es vermutlich lediglich ein Plugin, welches 
die Arbeitsschritte automatisiert.

Bedenke, das Netbeans in erster Linie eine IDE für Java ist. Dass sie 
sich für C/C++ eignet ist eigentlich nur ein netter Bonus.

Das Java Programme mit der neuesten Java Version nicht funktionieren, 
ist keine Seltenheit. Die aktuelle Netbeans Version ist für Java 7 und 8 
vorgesehen. Unterstützung für Java 9 kommt wohl erst mit der nächsten 
Version.

Die Arduino IDE ruft nicht einfach nur den Compiler auf, sondern sie 
generiert noch zusätzlichen Code. Für erfahrene Programmierer ist das 
eher ärgerlich, für Anfänger vereinfacht es jedoch den Einstieg ganz 
erheblich.

Die steht es frei, deinen Mikrocontroller ohne Arduino Framework zu 
programmieren. Ich wünsche Dir dazu ironisch viel Spaß mit dem Espressif 
SDK!

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
Noch kein Account? Hier anmelden.