OTA firmware update with external MQTT broker
-
@Marcel Can you post some of the screenshots? I will help us to understand easily.
-
I am trying to understand the logic of the program. But what I expect is the following:
When I press the upload firmware I see a list where I can choose the firmware from and upload it. But that seems not the case after trail and error. So let me explain what I think it works.
When I have a new node, this will publish an auto node ID. Then I cannot upload new firmware because if I do this the default firmware will be loaded ? I am not sure if that is even possible with manually assigned numberings of nodes.
So the next step is that I press edit on the new node and assign the firmware to it (that I added to utilities\firmware tab) and save this and the press the above button upload firmware? This seems to work but I am not sure if this is the correct process as I find this not very logical.When I would like to update a node, I add the software again to the utilities\firmware tab, edit the specific node and assign this new software and do the upload firmware again? Correct?
The part where it did goes wrong is that I put the default switch on for firmware as I saw errors in the logging about this. Then this will upload software (which is already on another node) to the new node and you get duplicated node numbers.
So preferable, I would like to see. Add also the possibility that you have a split menu. Upload Assigned/default firmware or upload firmware where you get a popup and select the one you would like to upload to your node.
Secondly, I had a problem with my boot software. The first time it advertises itself and after the upload of the new firmware, I could never upload new firmware again. I have downloaded the MySensors Bootloader and recompiled it for my hardware (slim node atMega328p 8MHz) and this bootloader seems to work okay
-
@skywatch
Thanks -
@Marcel I am out of town, I will soon respond for your query. Thanks for the patience.
-
@jkandasa okay
-
@Marcel Thank you for your patience!
OTA works in the following way,
- send available firmware details(version, checksum, etc.,) to the node
- If node thinks, it is a different sketch, it will request block by block.
- MyController sends firmware block data(requested block)
When I have a new node, this will publish an auto node ID. Then I cannot upload new firmware because if I do this the default firmware will be loaded? I am not sure if that is even possible with manually assigned numberings of nodes.
Assigning node ID is a different process than OTA. So do not get confuse with node ID assignment.
So the next step is that I press edit on the new node and assign the firmware to it (that I added to utilities\firmware tab) and save this and the press the above button upload firmware? This seems to work but I am not sure if this is the correct process as I find this not very logical.
Yes, this is the correct way to upload firmware and it is by design. You can keep any number of version of the firmware and assign a version to a particular node.
When I would like to update a node, I add the software again to the utilities\firmware tab, edit the specific node and assign this new software and do the upload firmware again? Correct?
Yes, correct
The part where it did goes wrong is that I put the default switch on for firmware as I saw errors in the logging about this. Then this will upload software (which is already on another node) to the new node and you get duplicated node numbers.
Default firmware should not contain node id statically. It is mainly used when we use MYSBootloader. With this boot loader, we may not have any firmware. So we can keep default firmware for the first time. and later we can switch to new firmware by assigning manually.
That is up to our convenience. We can go without default firmware also.
You can disable it as follows,
So preferable, I would like to see. Add also the possibility that you have a split menu. Upload Assigned/default firmware or upload firmware where you get a popup and select the one you would like to upload to your node.
Yes, nice feedback/enhancement request. Could you please create a ticket in GitHub?
Secondly, I had a problem with my boot software. The first time it advertises itself and after the upload of the new firmware, I could never upload new firmware again. I have downloaded the MySensors Bootloader and recompiled it for my hardware (slim node atMega328p 8MHz) and this bootloader seems to work okay
Great! I hope you have mentioned MYSBootloader ^^