RC-Einstell-Tool zum Vermessen von Ruderausschlägen und zur Ansteuerung eines Servos

kann man natürlich:
Einfach folgenden Code suchen (müsste in Zeile 2251 sein) und die letzten beiden Zeilen auskommentieren und dort wo "hardcoded SSID/PWD" steht die Daten eingeben.
Code:
// =================================
// WiFi functions
// =================================

void setupWiFi() {
  // first try to connect to the stored WLAN, if this does not work try to
  // start as Access Point
  // strncpy(ourConfig.wlanSsid , "hardcoded SSID", CONFIG_SSID_L);
  // strncpy(ourConfig.wlanPasswd, "hardcoded PWD", CONFIG_PASSW_L);

Gruß
Rainer
 

c.radi

User
Hallo Pulsar07,

ich finde das Projekt auch total super. Da ich mich gerade mit dem Thema DLG und eher kleinen Modellen beschäftige, fände ich eine Version mit zwei Sensoren auch sehr interessant. Man könnte dann den Wemos D1 in ein Gehäuse stecken, und zwei leichte flexible Kabel zu den Sensoren ziehen. Dafür ein kleines Gehäuse erstellen, mit Klemmmechanismus. Dann kann man beide Querruder gleichzeitig einstellen, und tut sich auch beim Thema Differenzierung und Flap leichter.

Wemos habe ich hier noch liegen, die Sensoren habe ich geben mal bestellt.
Wenn die da sind würde ich mal ein Gehäuse dafür zeichnen.

Ist es über I2C grundsätzlich möglich zwei solcher Sensoren anzuschließen?

Der Aufwand im Code ist sicherlich nicht so groß, allerdings ist die Umsetzung der Webseite dafür sicherlich viel Aufwand?

Gruß
Christian
 
2 Winkelsensoren

2 Winkelsensoren

Hi Christian,

im Prinzip ist es möglich 2 von den MPU6050 an einen Wemos anzuschließen. Das verwendete Breakout-Board GY-521 hat einen AD0 - Pin, der es gestattet die I2C Adresse zu ändern, so dass über das I2C Interface 2 Sensoren angeschlossen und betrieben werden können. Technisch kein Problem.
Software und auch die Web-Oberfläche müssten allerdings angepasst werden. Ist sicherlich nicht die große Anforderung aber eben Arbeit, die jemand machen muss.

Denke weiter oben wurde schon geschrieben, dass man natürlich auch ganz leicht 2 Wemos mit 2 Sensoren und unterschiedlichen IP-Adressen im Heimnetz betreiben kann. 2 Browserfenster nebeneinander, bringen auch 2 Ruderwerte auf den Bildschirm, allerdings eher mit Komforteinbusen.

Auch wir haben die Thematik mit den 2 Sensoren ausführlich geführt und wir wollten ggfs. nach dem Test das Geräte auf 2 Sensoren erweitern.
Wir haben es nicht gemacht weil:

* der Charme des Sensors an der kabellosen Ausführung liegt
* es wirklich kaum einen Grund gibt 2 Ruder gleichzeitig zu vermessen

Meine Erfahrung / Vorgehensweise ist die folgende:
1. Mechanische Grenzen werden mit Sensor und Servoansteuerung ohne Sender/Empfänger direkt bei Servoeinbau gemacht. Hierbei kann viel exakter als bei komplett aufgebautem Modell die Mechanik einstellt und überprüft werden.
bei aufgebautem Modell:
2. Sensor wird an QR rechts geklemmt. Dann werden in den Servoeinstellungen die maximalen Werte und die Limits eingestellt.
3. Sensor wird an QR link geklemmt, jetzt werden in den Servoeinstellungen dieselben maximalen Werte und Limits eingestellt.
4. Jetzt reicht es vollkommen, alle Flugphasen-, Differenzierungs-, Butterfly-, ... Einstellungen an einem Ruder zu machen, da diese sich ja immer prozentual auf rechts wie links auswirken.
4.1 Es gibt eine Ausnahme, die aber eigentlich nicht vorkommen sollte: Aufgrund von mechanischen Unterschieden (Hebellängen, Winkeln) oder unterschiedlichen Servos. Dann muss man in der Tat beide Ruder einzeln vermessen.

Das funktioniert wirklich perfekt, schnell und unkompliziert.
Und es ist wirklich unglaublich wie schnell das geht, da man nicht ständig mit Sender, Messlehre ums Modell laufen muss und bei jedem Ablesen einen anderen Wert (je nach Blickwinkel/Paralaxenfehler) bekommt.

Viele Grüße
Rainer
 

c.radi

User
Hallo Heinz,

ja kannte ich, aber habe ich wohl nicht gut genug durchforstet. Die 3in1 Lösung von Udo wäre mein Traum.
Oder habe ich etwas übersehen?


Ich habe Ihn mal gefragt, ob es einen neuen Stand gibt.

Gruß
Christian
 

c.radi

User
Hallo Rainer,

die Intention verstehe ich. Meine Programmierkenntnisse reichen leider nicht aus, den Code zu analysieren und so anzupassen, dass zwei Sensoren verwendet werden können.

Sobald meine Sensoren da sind werden ich also mal Deine Version "as is" verwenden.

Vielen Dank für die Veröffentlichung.

Gruß
Christian
 

DETA

User
Hallo Jochen-69

erst einmal recht herzlichen Dank für das schöne Project.
Habe leider noch nichts mit dem WEMOS D1 gemacht und nun habe ich die Teile zusammen und auch eure SW aufgespielt.
Das ging widererwarten mit deiner Bedienungsanleitung auch sehr gut.
Auf mein Handy habe ich auch "UHU" gefunden und konnte mich auf den WEMOS D1 auch draufschalten.

Nur kann ich mich nicht auf mein WLAN anmelden, da die SSID viel länger als 15 Zeichen ist.
Habe somit auch keinen Zugriff von meinem PC.

Habe leider nicht so viel Ahnung vom Programmieren und bräuchte als DAU mal Hilfe.
Vielleicht habe ich auch etwas überlesen?

Bitte macht so weiter, ich finde es toll, solche Projekte nachzubauen!!!
 
Längere SSID

Längere SSID

Hi DETA,

da die SSID im nichtflüchtigen Speicher liegen muss und der nicht allzu üppig ist, muss eben versucht werden auch Längenvorgaben im sinnvollen Bereich zu machen.
Lange Passwörter sind sinnvoll, deshalb ist hier die Länge auch 64 Zeichen, lange SSIDs bringen keine Vorteile.
Kann dir die Stellen benennen, die du anpassen müsstest. Wäre das ok oder brauchst du nen Binary-File?

Gruß Rainer
 

DETA

User
Hallo Rainer

Super, dass du dich so schnell meldest :)

eine BIN.TXT wäre super!
Vielleicht sogar hier direkt?
Kann ja sein, dass andere auch das Problem haben???

Vielen Dank schon einmal!
 

c.radi

User
Hallo Rainer,

ich habe heute mal versucht den Code auf zwei Sensoren umzubauen. Aber das übersteigt meine Programmierkenntnisse leider bei weitem.
Ich bekomme schon die Initialisierung nicht eingebaut. Und das wäre ja erst der Anfang, denn in allen Funktionen müsste man ja zwei Sensoren ansprechen können.

Das macht von Aufwand her wenig Sinn.

Aber ich konnte das kleine Tool mit nur einem Sensor testen, und da funktioniert es super.

Vielen Dank und Gruß
Christian
 
Hallo Rainer

Super, dass du dich so schnell meldest :)

eine BIN.TXT wäre super!
Vielleicht sogar hier direkt?
Kann ja sein, dass andere auch das Problem haben???

Vielen Dank schon einmal!

So DETA,
hat etwas gedauert, war noch kurz fliegen ;-))

Hier deine Spezialversion. Habe sie nicht getestet und werde den Quellcode so auch nicht einchecken, da diese Version nicht kompatibel zu den bisherigen wäre, da sich aufgrund der nun 63 Zeichen langen SSID die Daten im EEPROM verschieben, und so die Config nicht mehr gültig wäre.
Nach dem Neuladen bitte auf der "Einstellungen" - Seite nach dem Neuprogrammieren, einmal "Alles zurücksetzen" und "Neustarten".

Hier die Bin-Datei (mit txt-Endung, damit man es hochlanden kann :-) : Anhang anzeigen RcSetupTool.ino.bin.with63CharSsid.txt

Dennoch würde ich an deiner Stelle mich mal mit dem Arduino IDE und den Einstellungen für den ESP8266 beschäftigen. Die Änderungen für deine Spezialversion waren wirklich klein. Insgesamt nur 5 Zeilen geändert, davon 1 im C-Code und 4 Zeilen im HTML-Code:
Hier der git-diff (nur die Zeilen mit +/- sind unterschiedlich):

Code:
git diff Config.h htmlAdminPage.h
diff --git a/Config.h b/Config.h
index 0b41bf6..9e89914 100644
--- a/Config.h
+++ b/Config.h
@@ -3,9 +3,9 @@
 
 #include <WString.h>
 
-#define CONFIG_VERSION "RSV2"
+#define CONFIG_VERSION "RSV0"
 #define CONFIG_VERSION_L 5
-#define CONFIG_SSID_L 16
+#define CONFIG_SSID_L 64 
 #define CONFIG_PASSW_L 64
 #define CONFIG_SERVO_PRESET_L 5
 #define CONFIG_SERVO_PRESET_MAX 3 
diff --git a/htmlAdminPage.h b/htmlAdminPage.h
index 8bfa661..5e73d2a 100644
--- a/htmlAdminPage.h
+++ b/htmlAdminPage.h
@@ -33,11 +33,11 @@ const char ADMIN_page[] PROGMEM = R"=====(
     <div class="row">
      <div class="col-setting-values">
       <input type="text" id="id_wlanSsid" name="ssid"
-       maxlength="15"
+       maxlength="63"
        onchange="sendNameAsciiValue(this.id, this.value)" placeholder="WLAN SSID">
      </div>
      <div class="col-setting-descr">
-      <label for="ssid">WLAN - SSID (max. 15 Zeichen)</label>
+      <label for="ssid">WLAN - SSID (max. 63 Zeichen)</label>
      </div>
     </div>
     <div class="row">
@@ -64,11 +64,11 @@ const char ADMIN_page[] PROGMEM = R"=====(
     <div class="row">
      <div class="col-setting-values">
       <input type="text" id="id_apSsid" name="apssid"
-       maxlength="15"
+       maxlength="63"
        onchange="sendNameAsciiValue(this.id, this.value)" placeholder="AccessPoint SSID">
      </div>
      <div class="col-setting-descr">
-      <label for="id_apSsid">AccessPoint - SSID (max. 15 Zeichen)</label>
+      <label for="id_apSsid">AccessPoint - SSID (max. 63 Zeichen)</label>
      </div>
     </div>
     <div class="row">


Gruß Rainer
 
Hallo Rainer,

ich habe heute mal versucht den Code auf zwei Sensoren umzubauen. Aber das übersteigt meine Programmierkenntnisse leider bei weitem.
Ich bekomme schon die Initialisierung nicht eingebaut. Und das wäre ja erst der Anfang, denn in allen Funktionen müsste man ja zwei Sensoren ansprechen können.

Das macht von Aufwand her wenig Sinn.

Aber ich konnte das kleine Tool mit nur einem Sensor testen, und da funktioniert es super.

Vielen Dank und Gruß
Christian

Hi Christian,
ja ist ein Problem bei Software Projekten. Selbst bei diesem Mini-Projekt mit einem Sensor der eigentlich nur einen Winkel misst, wird die Komplexität, natürlich auch deutlich forciert durch die Web-Oberfläche mit mehreren HTML-Seiten und der AJAX Schnittstelle zwischen HTML und embedded HTTP-Server, deutlich spürbar.
Und wer da nicht aus der Software-Entwickler-Ecke kommt, tut sich da typischerweise sehr schwer.

Aber nichts ist unmöglich ;-)

Gruß Rainer
 

DETA

User
Hallo Rainer

Danke für die doch schnelle Antwort und deiner gelungenen Arbeit!

Ja, Fliegen ist wichtiger!!!
Ich war auch mal wieder unterwegs zum Fliegen und die Thermik war sehr gut :)

Habe trotz deiner Arbeit noch das Problem, dass keine Verbindung zum WLAN aufgebaut wird.
Am Handy:
Habe die SSID und PW von meinem Router eingegeben. Beim UHU auch das PW und dann auch noch Hott eingeschaltet.
Unten auf speichern gedrückt und nach einiger Zeit neu gestartet.
Leider steht dann weiterhin unter WLAN: nicht verbunden

Wird sich wahrscheinlich nur um eine Kleinigkeit handeln? Werde ich kommende Woche dann mal näher untersuchen.

Werde gleich noch zum Fliegen fahern :)
Ich wünsche dir bei diesem schönen Wetter auch noch viel Spass beim Fliegen!
 
Hi DETA,

habe nochmals in die vom ESP8266 unterstützte Library geschaut. Die dort maximal unterstützte Länge des SSID ist nur 32 Zeichen. Hast du mehr ?
Wenn ja, dann hilft nur eine Änderung/Kürzung auf 32 Zeichen.

Gruß
Rainer
 

c.radi

User
Hallo,

die Software ist doch so geschrieben, dass der ESP beides macht, sich ins lokale WLAN verbinden, und trotzdem einen AccessPoint öffnen.
Zur not könntest Du Dich auch immer mit dem WLAN "UHU" verbinden, und dann die im Browser die 192.168.4.1 aufrufen.

Das ist zwar nicht so schön, funktioniert aber auch. Super an der Lösung ist, man kann das Ding mitnehmen zum Spezi oder auf den Platz, und auch dort noch Ruderauschschläge korrigieren. Einfach das Handy mit dem Netzwerk UHU verbinden, und los geht es.

Gruß
Christian
 

c.radi

User
Hallo,

für alle, die die beiden Komponenten Wemos und Sensor lieber trennen würden habe ich angefangen etwas zu zeichnen.
Aktuell ist das Gehäuse für den Sensor fertig. Ich habe in den Sensor eine 4-polige Stiftleiste gewinkelt eingelötet.

Das Gehäuse besteht aus drei Komponenten, Box, Deckel und Klemme. Box und Klemme verklebe ich mit einem Tropfen Sekundenkleber, und auch den Deckel fixiere ich so.
Der Sensor wird mit 2 M3 Schrauben im Gehäuse fixiert. Als Kabel verwende ich ein 4-poliges altes ISDN Kabel. Dort habe ich entsprechende Stecker angebracht. Im Deckel gibt es ein kleines + welches anzeigt, wo der Pluspol des Kabels angesteckt werden muss, um keine Verzollung zu bekommen.

IMG_3314.jpgIMG_3313.jpgIMG_3312.jpg

Das beigefügte zip (Endung bitte anpassen) enthält die stl Dateien sowie die Fusion360 Konstruktion.

Das Gehäuse für den Wemos mache ich auch noch, und teile es dann hier.

Gruß und vielen Dank an Rainer.
Christian
 

Anhänge

  • GY-521.zip.txt
    286,1 KB · Aufrufe: 128

c.radi

User
und hier auch noch das Gehäuse für den Wemos D1

IMG_3318.jpgIMG_3317.jpg

... komisch in der Bildvorschau sind die Bilder richtig herum, werden hier aber falsch angezeigt. Sorry.

In der zip Datei sind die stl und die Fusion360 Datei, falls jemand Änderungen machen möchte.

Gruß
Christian
 

Anhänge

  • WemosD1.zip.txt
    238,8 KB · Aufrufe: 119
Ansicht hell / dunkel umschalten
Oben Unten