ich möchte gerne mal das Update over the air ausprobieren.
Dazu habe ich mir jetzt mal diese Infos durchgelesen:
https://github.com/alexreinert/Asksin_OTA_Bootloader
https://github.com/pa-pa/AskSinPP/tree/ ... loader/avr
Bevor ich mich jetzt direkt an die Umsetzung mache, hätte ich vorab ein paar Fragen, ob das (so wie ich mir das jetzt gerade vorstelle) auch überhaupt funktioniert.
Mal angenommen ich möchte das bei einem HB-UNI-Sen-CAP-MOIST machen, wäre der Ablauf dann so korrekt?
Die Hardware wäre ein normaler Arduino Pro Mini 3.3V/8MHz, so wie man ihn kaufen kann.
1. Ich baue mir einen Bootloader mit makeota.html:
Ich lade mir die makeota.html herunter und öffne sie unter Windows mit einem Browser.
Eingaben:
MCU Type: ATmega328
Device Model - a 4 digit hex number: F311
HM ID - a 6 digit hex number: F31100
HM-Serial - 10 characters: JPCAPM0000
Config String - max. 32 digit hex number: --> Was muss ich hier angeben?
Firmware: lasse ich leer
Dann klicke ich auf "Create Bootloader" und das File wird gespeichert.
2. Frisch gebauten Bootloader mittels avrdude auf den Arduino flashen
3. HB-UNI-Sen-CAP-MOIST.ino mit Arduino IDE auf den Arduino flashen
// #define USE_OTA_BOOTLOADER auskommentieren
Frage:
Ist die Anpassung hier im Sketch dann überhaupt noch erforderlich?
Code: Alles auswählen
// define all device properties
const struct DeviceInfo PROGMEM devinfo = {
{0xF3, DEVICE_MODEL, 0x00}, // Device ID
"JPCAPM0000", // Device Serial
{0xF3, DEVICE_MODEL}, // Device Model
0x10, // Firmware Version
as::DeviceType::THSensor, // Device Type
{0x01, 0x01} // Info Bytes
};
Nun zum nächsten Schritt, dem Erstellen des Update-Files für die CCU:
1. Firmware im hex-Format:
Da hänge ich jetzt gerade etwas.
Lt. der Beschreibung von pa-pa brauche ich dafür eine firmware im hex-format.
Wo bekomme ich die her?
2. Hex-Firmware in *.eq3 konvertieren:
Auch hier lt. Beschreibung von pa-pa Aufrufen der prepareforota.sh:
EDIT: ich clone das Projekt von github auf einen Raspberry.
Dann Aufruf der prepareforota.sh (vorher chmod 755) --> Frage: Was ist mit den *.exe, die mit dem Batchfile aufgerufen werden? Vermutlich auch chmod 755?
prepareforota.sh path_to_firmware.hex
3. Erstellen des tar.gz Files lt der Beschreibung von pa-pa:
Datei "changelog.txt" erstellen --> Was darf da rein und in welchem Format? Einfach irgendetwas rein schreiben?
Datei "info" erstellen.
Inhalt:
TypeCode=62225
Name=HB-UNI-Sen-CAP-MOIST
CCUFirmwareVersionMin=2.27.0
FirmwareVersion=1.1 --> Frage: Was wird dann später in der CCU angezeigt? Das was hier angegeben ist, oder das was im Sketch angegeben war?
Dann das Zip "fwupdate_1.1.tar.gz" erstellen mit folgenden Dateien:
fwupdate_1.1.tar.gz
changelog.txt
info
4. Das Update-File in der CCU hochladen und anschießend updaten.
Jetzt die Fragen aller Fragen:
Funktioniert das so?
Gruß
Franz