Hallo Fahrradfreunde!
es gab mehrere Anfragen ob das Intervall der Bike Bean auf weniger als 1h z.B. auf 5 Minuten herunter gestellt werden könnte. Das geht natürlich.
Hier der Versuch es in alle Kürze zu erklären.
Folgende Änderungen müssen dafür am Code vorgenommen werden:
ab Zeile 104
bei den SMS Kommandos muss ein neues Kommando eingefügt werden:
if((strcasestr(checksmstext, "int5") != NULL && strlen(checksmstext) == 4) || (strcasestr(checksmstext, "int 5") != NULL && strlen(checksmstext) == 5)){
interval = 0.08;
char *sendernumber = SenderNumber(i);
char *sendsmstext = sendsmstextarray;
memset(sendsmstextarray, NULL, 161);
strcat(sendsmstext, "GSM will be switched on every 5 minutes.\nBattery Status: ");
char battpercentage[3] = "";
itoa(battpercent,battpercentage,10);
strcat(sendsmstext, battpercentage);
strcat(sendsmstext, "%");
SendSMS(sendernumber, sendsmstext);
free(sendernumber);
DeleteSMS(i);
}else
Achtet darauf das noch mindestens 350 Bytes Ram nach der Änderung eures Programms zur Verfügung stehen. Sollte dem nicht so seien könnt ihr einen nicht benötigtes Kommando löschen.
Beste Grüße,
Mirko
Mit der o.g. Vorgehensweise habe ich das in der Firmware der Bean, kann es aber nicht mit der App steuern, korrekt?
Kann ich als Workaround auch einfach eine Einstellung aus der App nehmen die ich nicht brauche, bspw. 24h?
Dann müsste ich im Code der oben unter ab Zeile 104 gelistet ist doch nur "int5" bzw "int 5" durch "int24"/"int 24" ersetzen und strlen(checksmstext) == 5) und nicht 4.
Die alten Zeilen zu int24 werden natürlich vorher auskommentiert.
Beste Grüße,
Bohnito
Hallo Bohnito!
Ja das ginge. Die App wertet allerdings auch die Antwort der BB aus. Das heißt in der folgenden Zeile sollte auch der Orginaltext stehen:
strcat(sendsmstext, "GSM will be switched on every 5 minutes.\nBattery Status: ");
Den neuen Text kennt die App noch nicht. Und wenn die App keine Antwort bekommt steht dann in der App ewig "warte auf Antwort". Auch wird in der App natürlich die falsche approximierte Akkulaufzeit angezeigt. Wenn dich das nicht stört kannst du das machen.
Beste Grüße,
Dattel
Naja, da die App bei mir eh nicht richtig funktioniert und bekanntlich die Antworten nicht erkennt, wäre das nicht so tragisch.
Aber solltet Ihr das gefixt bekommen, wäre es wohl schlauer, ich nehme einfach den Int 24 Eintrag und ändere dort nur
interval = 0.08;
und lasse den Rest zum 24h Intervall stehen damit die App das erkennt.
Danke für die Aufklärung!
Beste Grüße,
Bohnito
Hallo Dattel,
eins habe ich noch vergessen:
Wenn ich die Bohne resete ist ja Standard Int 1, bleibt das so oder ist das dann mit der obigen Modifikation 0.08?
Das wäre ja schon interessant zu wissen, nicht dass man sich ungewollt den Akku leer saugt. 😉
PS. Ich hab übrigens keine Möglichkeit gefunden, meinen Post von vorhin zu editieren. Geht das für Normalsterbliche nicht oder bin ich nur blind?
PPS. Ah das geht offensichtlich nur so lange, bis jemand die Antwort liest
Beste Grüße,
Bohnito
Diese Zeile definiert das Anfangsinterval nach dem Reset:
float interval = 0.08;
So wie es jetzt da steht wäre das Anfangsinterval ~ 5 Minuten
Grüzi!
Mirko
Hallo Bohnito!
Ja das ginge. Die App wertet allerdings auch die Antwort der BB aus. Das heißt in der folgenden Zeile sollte auch der Orginaltext stehen:
strcat(sendsmstext, "GSM will be switched on every 5 minutes.\nBattery Status: ");
Den neuen Text kennt die App noch nicht. Und wenn die App keine Antwort bekommt steht dann in der App ewig "warte auf Antwort". Auch wird in der App natürlich die falsche approximierte Akkulaufzeit angezeigt. Wenn dich das nicht stört kannst du das machen.
Beste Grüße,
Dattel
Ich würde das auch so machen, würde mich persönlich nicht stören, aber danke für den Hinweis.