• Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    OTA firmware update with external MQTT broker

    General Discussion
    6
    46
    28674
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Doug @jkandasa last edited by

      @jkandasa

      Hi SmartSleep is now working for me thank you this is great I haven't yet tested all the commands but have noticed you are forced to enter a sensor ID as well as the node id on internal commands such as reboot and present when the sensor id is not relevant.

      I have also noticed that the name field doesn't seem to get updated when a presentation request is made after first registration. This may be intentional though as people may wish to display a different name to that presented. May be worth having a name field and a known as field just a thought.

      I'm attempting to get OTA updates working using dualoptiboot. I have it operating using MYScontroller so know the nodes are accepting the firmware ok. In your post you mention for dualoptiboot you need to click Update firmware. Any help on where I may find this in the UI would be appresiated.

      On a testing front I have noticed a few small niggles one of those being the filter and sort options at the top of each page don't seem to persist past page refreshes.

      Hope this is helpful

      jkandasa 1 Reply Last reply Reply Quote 0
      • jkandasa
        jkandasa @Doug last edited by

        @Doug

        I haven't yet tested all the commands but have noticed you are forced to enter a sensor ID as well as the node id on internal commands such as reboot and present when the sensor id is not relevant.

        I hope you passing commands via Send Raw message page. Which is not require. Suppose if you want to reboot smartsleep node. Just select that node on Resources >> Nodes >> your node on actions click on Reboot. This command will be send to SmartSleep node when it talks to MyController.

        I have also noticed that the name field doesn't seem to get updated when a presentation request is made after first registration. This may be intentional though as people may wish to display a different name to that presented. May be worth having a name field and a known as field just a thought.

        Yes, this is addresses on this requirement. However if your node sends some name will be overridden. It will not change only when node sends NULL or "" no values.

        I'm attempting to get OTA updates working using dualoptiboot. I have it operating using MYScontroller so know the nodes are accepting the firmware ok. In your post you mention for dualoptiboot you need to click Update firmware. Any help on where I may find this in the UI would be appresiated.

        I believe it should be on user manual. And here is the steps.

        • Update your firmware under Utilities >> Firmwares
        • Edit your node and select your uploaded firmware for a node [Resources >> Nodes >> select a node and on actions Edit] finally save the configuration.
          *MyController ready to send your firmware to your node. Select your node under Resources >> Nodes >> your node and on actions select Upload firmeware

        On a testing front I have noticed a few small niggles one of those being the filter and sort options at the top of each page don't seem to persist past page refreshes.

        Yes, This is known limitation. If possible I will address this. Kindly create a ticket on github project page

        Hope I have addressed your queries.

        M 1 Reply Last reply Reply Quote 0
        • M
          Marcel @jkandasa last edited by

          I am very new to this. Sorry for stupid questions.

          @jkandasa I have still issues with OTA. It is uploading spontaneously to a wrong node? Anyone here has maybe a bootfile for 8MHZ node which should work correctly? (Also serial works?) and is there a clear description of how it should work. I have added the firmware but if I select the node and upload firmware I cannot select the firmware version only with the edit mode.

          Thanks for any help.

          skywatch jkandasa 2 Replies Last reply Reply Quote 0
          • skywatch
            skywatch @Marcel last edited by

            @Marcel said in OTA firmware update with external MQTT broker:

            I am very new to this. Sorry for stupid questions.

            The only stupid questions are the ones you don't ask!

            We are all on a learning curve here and it takes time. Stick with it!

            OTA I have not tried yet, but will in the coming months as I have outdoor nodes that would benefit from this. So if you get it going, please tell us how! 😉

            M 1 Reply Last reply Reply Quote 1
            • jkandasa
              jkandasa @Marcel last edited by

              @Marcel Can you post some of the screenshots? I will help us to understand easily.

              M 1 Reply Last reply Reply Quote 0
              • M
                Marcel @jkandasa last edited by

                @jkandasa

                I am trying to understand the logic of the program. But what I expect is the following:

                2019-01-12 09_31_00-MyController.org - The Open Source Controller.png

                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 🙂

                jkandasa 1 Reply Last reply Reply Quote 0
                • M
                  Marcel @skywatch last edited by

                  @skywatch
                  Thanks 🙂

                  1 Reply Last reply Reply Quote 0
                  • jkandasa
                    jkandasa @Marcel last edited by

                    @Marcel I am out of town, I will soon respond for your query. Thanks for the patience.

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      Marcel @jkandasa last edited by

                      @jkandasa okay

                      jkandasa 1 Reply Last reply Reply Quote 0
                      • jkandasa
                        jkandasa @Marcel last edited by

                        @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,
                        461787f1-c759-4063-9c35-8af7e073c66d-image.png

                        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 ^^

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        0
                        Online

                        647
                        Users

                        506
                        Topics

                        3.3k
                        Posts

                        Copyright © 2015-2022 MyController.org | Contributors | Localization