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?
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.
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....:)
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.
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.... :)
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?
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?
> 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.
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.
> 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!