G
gebad
- Dabei seit
- 11.07.2016
- Beiträge
- 187
- Likes
- 72
Ups, war auf der falschen Seite.
val_id = 0;
idx = 0;
while (idx < CMD_TABLE_LINES) {
eepromIDset = pgm_read_word(&cmd_table[idx].eeprom_id[robot_family - 1]);
val_id++;
if (eepromIDset != 0) { // RS und RX nicht vorhandene Einstellungen ausblenden
legend_len = pgm_read_byte(&cmd_table[idx].legend_len);
if (legend_len > 1) {
memcpy_P(str_buffer, (char*)pgm_read_dword(&(cmd_table[idx].legend)), legend_len);
legend = (String)str_buffer;
if (last_legend == "") last_legend = legend;
if (last_legend != legend) {
last_legend = legend;
MsgConcat(message, ALLOC_SIZE, msg_idx, F("</fieldset>")); // Legenden-Block
}
MsgConcat(message, ALLOC_SIZE, msg_idx, F("\n<fieldset class='cmdblock'>\n<legend>")); // Legenden-Block
MsgConcat(message, ALLOC_SIZE, msg_idx, legend);
MsgConcat(message, ALLOC_SIZE, msg_idx, F("</legend>\n"));
}
}
Hallo Gerd, danke für deine Antwort.Hallo Kubeq_sq,
einige verwenden zwar den esp32 cam, aber nur dass sie den WEMOS LOLIN D32 Pro mit 4MB PSRAM zum Zeitpunkt nicht käuflich erwerben konnten oder dieses in der Bastelkiste lag.
Es ist jedoch nicht möglich damit Mähspitzel und eine Kamera damit zu betreiben.
Der esp32 stellt nur 2MByte Flash für Programme zur Verfügung und der RAM wurde von mir auch ausgereizt. Soweit es ging habe ich bereits einiges im PSRAM ausgelagert.
Für den Prozessor gibt es viele schöne Bibliotheken. Zum Beispiel https, virtual-Task, Video u.a.
Auf Grund der begrenzten Ressourcen können diese nicht verwendet werden. Damit Mähspitzel überhaupt auf den Programmspeicher passt musste ich mein Programm mehrfach optimieren.
"Der Sketch verwendet 1924122 Bytes (97%) des Programmspeicherplatzes. Das Maximum sind 1966080 Bytes.
Globale Variablen verwenden 55196 Bytes (16%) des dynamischen Speichers, 272484 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes."
Damit auch noch die Mail- und pushbullet-Benachrichtigungen funktionieren musste ich auch zur Laufzeit die Programmteile für die SD-Karte entladen und danach wieder neu laden. Hier reichte einfach der RAM-Speicher nicht aus. Die Benachrichtigungen erfordern mindestens 70 kB freien RAM!
Aus diesen Grund ist auch keine Mehrsprachige Version von Mähspitzel möglich.
So wie üblich gibt es keine zusammenhängenden Webseiten bei Mähspitzel. Diese werden zur Laufzeit im Programm anhand von Tabellen generiert. Ein kleines Beispiel:
Den angeforderten RAM (PSRAM) habe ich möglichst klein gehalten. Wird der angeforderter RAM durch andere Wortwahl (größere Wörter) überschritten, so kommt es zum Laufzeitfehler und Mähspitzel funktioniert nicht mehr! Auch wurden einige Ausgaben mittels mehrere Worte zusammengesetzt. Kurz, eine °einfache!° Übersetzung in eine andere Sprache ist nicht möglich, sondern sehr aufwendig.Code:val_id = 0; idx = 0; while (idx < CMD_TABLE_LINES) { eepromIDset = pgm_read_word(&cmd_table[idx].eeprom_id[robot_family - 1]); val_id++; if (eepromIDset != 0) { // RS und RX nicht vorhandene Einstellungen ausblenden legend_len = pgm_read_byte(&cmd_table[idx].legend_len); if (legend_len > 1) { memcpy_P(str_buffer, (char*)pgm_read_dword(&(cmd_table[idx].legend)), legend_len); legend = (String)str_buffer; if (last_legend == "") last_legend = legend; if (last_legend != legend) { last_legend = legend; MsgConcat(message, ALLOC_SIZE, msg_idx, F("</fieldset>")); // Legenden-Block } MsgConcat(message, ALLOC_SIZE, msg_idx, F("\n<fieldset class='cmdblock'>\n<legend>")); // Legenden-Block MsgConcat(message, ALLOC_SIZE, msg_idx, legend); MsgConcat(message, ALLOC_SIZE, msg_idx, F("</legend>\n")); } }
Hat man dies doch geschafft, so müsste ich mit jeder Änderung auch jedes Mal den Quellkode übermitteln.
Aus rechtlichen Gründen werde ich meinen Quellkode nicht veröffentlichen. Nicht umsonst lassen auch die Administratoren vom Forum spezielle Veröffentlichungen über Robomow-Mäher-Interna nicht zu.
MfG
Gerd
N
Testbenachrichtigung versenden...
Verbindung zu api.pushbullet.com
Pushbullet Antwort nach: 1941 ms
Connecting to SMTP server...
SMTP server connected, wait for response...
Identification...
Authentication...
Sign in...
Error, login password is not valid
Fehler Mailversand, login password is not valid
@gebad vielen Dank für die Nachricht, was meinst Du denn genau mit "Telnet auf Ip Adresse ausführen? Das verstehe ich nicht ? Ist damit ein Befehl im Browser gemeint ? 192.111.222.33/Telnet ??? oder was muss ich ausführen ?Hallo Martin,
wenn du ein Telnet auf die IP-Adresse des esp-Moduls durchführst öffnet sich die Konsole und du kannst dort sehen ob die Mailbenachrichtigung dort ankam. Falls der Server diese ablehnte so siehst du dies auch. Mit Eingabe N und Enter kannst du dort auch Testbenachrichtigungen versenden (Aktivierung in Konfiguration erforderlich).
Nein. Du benötigst einen Telnet-Client. Ich verwende PuTTY, aber auch bei Windows gibt es einen. Dieser muss noch aktiviert werden. Dazu öffnest du unter Windows die Systemsteuerung. Weiter nach Bild.Ist damit ein Befehl im Browser gemeint ? 192.111.222.33/Telnet ??? oder was muss ich ausführen ?
Ich würde es mal mit Port 587 probieren. Eine 100% schlüssige Begründung habe ich dafür nicht. securesmtp.t-online.de unterstützt eigentlich beide Ports (465 und 587) aber 465 soll nicht mehr verwendet werden. Einen Versuch mit Port 587 ist es meiner Ansicht nach wert, falls Du mit dem Telnet nicht weiterkommst.Ich habe nochmal eine Frage zum E-Mail Versand bei Benachrichtigungsereignissen. Ich habe meinen Postausgangsserver angegeben (t-online) Passwort und E-Mailadresse sind korrekt, aber trotzdem versendet der Mähspitzel keine Mail ? Was mache ich denn noch falsch ? Den Anhang 123852 betrachten
Um wie viele Jahre hast Du Deine Uhr denn heute Nacht vorgestellt? Die letzte mir bekannte Version ist 1.0.5.Ist eigentlich die Version 2.9.0 derzeit die aktuelle Version vom Mähspitzel ? oder bin ich schon im Rückstand ? ;-)
Dann ist 2.9.0 wohl die Firmware des Mähers... wurde mir in der Konsole des Mähspitzel angezeigt.. Unter dem Reiter "Konfiguration" finde ich au V . 1.0.5Um wie viele Jahre hast Du Deine Uhr denn heute Nacht vorgestellt? Die letzte mir bekannte Version ist 1.0.5.
Ja, das wäre mega, wenn man irgendwie eine Integration für den ioBroker basteln könnte.Da ich kein Programmierer bin hätte ich da noch eine Frage an die mit dem iobroker. Wie kann ich z.B. meine Robby beim Herausfahren hindern wenn das Wetter verrückt spielt oder ihn wehrend des Mähens nach Hause schicke.
Ich warte gerne noch, läuft ja auch so alles sehr gut. Auch die Integration in meine ioBroker Heimautomatisierung funktioniert tadellos.
Viele Grüße
Daniel
gebad
Beiträge: 177skyynet
Beiträge: 55RobyUser
Beiträge: 55Xjust
Beiträge: 34