Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Announcements
  3. 💬 FOTA (Wireless Programming)

💬 FOTA (Wireless Programming)

Scheduled Pinned Locked Moved Announcements
wirelessupdateover the airsensebenderfotafirmware over the airwireless programming
130 Posts 46 Posters 31.5k Views 44 Watching
  • 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.
  • maghacM maghac

    I just enabled OTA on a non-sleeping node - it doesn't call smartSleep() and the loop function is mostly empty (except for sending one initial message). I do have a receive() function since I need to respond to incoming messages.

    How can I properly enable OTA in this kind of node? Sending the "New firmware" command in MyController sends the message which gets caught by receive() and just gives me an error message since it's not one of the message types I expect. Telling the node to reboot sends it into some sort of endless loop which I cannot break unless I kill power to the board.

    gohanG Offline
    gohanG Offline
    gohan
    Mod
    wrote on last edited by
    #56

    @maghac did you see this? https://forum.mysensors.org/topic/6769/node-reboot-issue/7

    maghacM 1 Reply Last reply
    0
    • gohanG gohan

      @maghac did you see this? https://forum.mysensors.org/topic/6769/node-reboot-issue/7

      maghacM Offline
      maghacM Offline
      maghac
      wrote on last edited by
      #57

      @gohan Thanks. I seem to have the same issue and I'm also using a 5V pro mini, although I actually am using the MYSBootloader.

      1 Reply Last reply
      0
      • maghacM Offline
        maghacM Offline
        maghac
        wrote on last edited by
        #58

        I am having problems flashing a new bootloader on a 5V 16Mhz Pro Mini board. Or rather. the flashing is fine, it's just that I cannot upload a new sketch via FTDI afterwards.

        Here are my custom entries from boards.txt:

        ## Arduino Pro or Pro Mini (3V3 & 5V, 16 MHz) w/ ATmega328 MYSBootloader
        ## -------------------------------------------------
        
        
        proMYSBL.name=ATmega328 16Mhz MYSBootloader 1.3 beta 
        
        proMYSBL.upload.tool=avrdude
        proMYSBL.upload.protocol=arduino
        proMYSBL.upload.maximum_size=30720
        proMYSBL.upload.maximum_data_size=2048
        proMYSBL.upload.speed=115200
        
        proMYSBL.bootloader.tool=avrdude
        proMYSBL.bootloader.low_fuses=0xF7
        proMYSBL.bootloader.high_fuses=0xDA
        proMYSBL.bootloader.extended_fuses=0xfe
        proMYSBL.bootloader.unlock_bits=0x3F
        proMYSBL.bootloader.lock_bits=0x0F
        proMYSBL.bootloader.file=MySensors/MYSBootloader.hex
        
        proMYSBL.build.mcu=atmega328p
        proMYSBL.build.f_cpu=16000000L
        proMYSBL.build.board=AVR_UNO
        proMYSBL.build.core=arduino
        proMYSBL.build.variant=standard
        
        ## Arduino Pro or Pro Mini (3V3 & 5V, 16 MHz) w/ ATmega328 MYSBootloader
        ## -------------------------------------------------
        
        
        proMYSBL16.name=ATmega328 16Mhz MYSBootloader 1.3 beta DEV
        
        proMYSBL16.upload.tool=avrdude
        proMYSBL16.upload.protocol=arduino
        proMYSBL16.upload.maximum_size=30720
        proMYSBL16.upload.maximum_data_size=2048
        proMYSBL16.upload.speed=57600
        
        proMYSBL16.bootloader.tool=avrdude
        proMYSBL16.bootloader.low_fuses=0xF7
        proMYSBL16.bootloader.high_fuses=0xDA
        proMYSBL16.bootloader.extended_fuses=0xFD
        proMYSBL16.bootloader.unlock_bits=0x3F
        proMYSBL16.bootloader.lock_bits=0x0F
        proMYSBL16.bootloader.file=MySensors/MYSBootloader_16MHz.hex
        
        proMYSBL16.build.mcu=atmega328p
        proMYSBL16.build.f_cpu=16000000L
        proMYSBL16.build.board=AVR_UNO
        proMYSBL16.build.core=arduino
        proMYSBL16.build.variant=standard
        
        
        ## Arduino Pro or Pro Mini (3V3 & 5V, 8 MHz) w/ ATmega328 MYSBootloader
        ## -------------------------------------------------
        
        
        proMYSBL8.name=ATmega328 8Mhz MYSBootloader 1.3 beta DEV
        
        proMYSBL8.upload.tool=avrdude
        proMYSBL8.upload.protocol=arduino
        proMYSBL8.upload.maximum_size=30720
        proMYSBL8.upload.maximum_data_size=2048
        proMYSBL8.upload.speed=57600
        
        proMYSBL8.bootloader.tool=avrdude
        proMYSBL8.bootloader.low_fuses=0xE2
        proMYSBL8.bootloader.high_fuses=0xD2
        proMYSBL8.bootloader.extended_fuses=0xFE
        proMYSBL8.bootloader.unlock_bits=0x3F
        proMYSBL8.bootloader.lock_bits=0x3F
        proMYSBL8.bootloader.file=MySensors/MYSBootloader_8MHz.hex
        
        proMYSBL8.build.mcu=atmega328p
        proMYSBL8.build.f_cpu=8000000L
        proMYSBL8.build.board=AVR_UNO
        proMYSBL8.build.core=arduino
        proMYSBL8.build.variant=standard
        
        

        MYSBootloader.hex is from the master branch of MYSBootloader 1.3.0-beta.3, the other two are from the development branch.

        Doesn't matter which one I use, I can never get my 5V 16MHz boards to accept a new sketch via FTDI cable. I have to go back to the standard Pro Mini bootloader.

        gohanG 1 Reply Last reply
        0
        • maghacM maghac

          I am having problems flashing a new bootloader on a 5V 16Mhz Pro Mini board. Or rather. the flashing is fine, it's just that I cannot upload a new sketch via FTDI afterwards.

          Here are my custom entries from boards.txt:

          ## Arduino Pro or Pro Mini (3V3 & 5V, 16 MHz) w/ ATmega328 MYSBootloader
          ## -------------------------------------------------
          
          
          proMYSBL.name=ATmega328 16Mhz MYSBootloader 1.3 beta 
          
          proMYSBL.upload.tool=avrdude
          proMYSBL.upload.protocol=arduino
          proMYSBL.upload.maximum_size=30720
          proMYSBL.upload.maximum_data_size=2048
          proMYSBL.upload.speed=115200
          
          proMYSBL.bootloader.tool=avrdude
          proMYSBL.bootloader.low_fuses=0xF7
          proMYSBL.bootloader.high_fuses=0xDA
          proMYSBL.bootloader.extended_fuses=0xfe
          proMYSBL.bootloader.unlock_bits=0x3F
          proMYSBL.bootloader.lock_bits=0x0F
          proMYSBL.bootloader.file=MySensors/MYSBootloader.hex
          
          proMYSBL.build.mcu=atmega328p
          proMYSBL.build.f_cpu=16000000L
          proMYSBL.build.board=AVR_UNO
          proMYSBL.build.core=arduino
          proMYSBL.build.variant=standard
          
          ## Arduino Pro or Pro Mini (3V3 & 5V, 16 MHz) w/ ATmega328 MYSBootloader
          ## -------------------------------------------------
          
          
          proMYSBL16.name=ATmega328 16Mhz MYSBootloader 1.3 beta DEV
          
          proMYSBL16.upload.tool=avrdude
          proMYSBL16.upload.protocol=arduino
          proMYSBL16.upload.maximum_size=30720
          proMYSBL16.upload.maximum_data_size=2048
          proMYSBL16.upload.speed=57600
          
          proMYSBL16.bootloader.tool=avrdude
          proMYSBL16.bootloader.low_fuses=0xF7
          proMYSBL16.bootloader.high_fuses=0xDA
          proMYSBL16.bootloader.extended_fuses=0xFD
          proMYSBL16.bootloader.unlock_bits=0x3F
          proMYSBL16.bootloader.lock_bits=0x0F
          proMYSBL16.bootloader.file=MySensors/MYSBootloader_16MHz.hex
          
          proMYSBL16.build.mcu=atmega328p
          proMYSBL16.build.f_cpu=16000000L
          proMYSBL16.build.board=AVR_UNO
          proMYSBL16.build.core=arduino
          proMYSBL16.build.variant=standard
          
          
          ## Arduino Pro or Pro Mini (3V3 & 5V, 8 MHz) w/ ATmega328 MYSBootloader
          ## -------------------------------------------------
          
          
          proMYSBL8.name=ATmega328 8Mhz MYSBootloader 1.3 beta DEV
          
          proMYSBL8.upload.tool=avrdude
          proMYSBL8.upload.protocol=arduino
          proMYSBL8.upload.maximum_size=30720
          proMYSBL8.upload.maximum_data_size=2048
          proMYSBL8.upload.speed=57600
          
          proMYSBL8.bootloader.tool=avrdude
          proMYSBL8.bootloader.low_fuses=0xE2
          proMYSBL8.bootloader.high_fuses=0xD2
          proMYSBL8.bootloader.extended_fuses=0xFE
          proMYSBL8.bootloader.unlock_bits=0x3F
          proMYSBL8.bootloader.lock_bits=0x3F
          proMYSBL8.bootloader.file=MySensors/MYSBootloader_8MHz.hex
          
          proMYSBL8.build.mcu=atmega328p
          proMYSBL8.build.f_cpu=8000000L
          proMYSBL8.build.board=AVR_UNO
          proMYSBL8.build.core=arduino
          proMYSBL8.build.variant=standard
          
          

          MYSBootloader.hex is from the master branch of MYSBootloader 1.3.0-beta.3, the other two are from the development branch.

          Doesn't matter which one I use, I can never get my 5V 16MHz boards to accept a new sketch via FTDI cable. I have to go back to the standard Pro Mini bootloader.

          gohanG Offline
          gohanG Offline
          gohan
          Mod
          wrote on last edited by
          #59

          @maghac why don't you use the ota feature?

          maghacM 1 Reply Last reply
          0
          • gohanG gohan

            @maghac why don't you use the ota feature?

            maghacM Offline
            maghacM Offline
            maghac
            wrote on last edited by
            #60

            @gohan Good question :)

            I was afraid it would get stuck in a neverending loop and I would have to cycle power to the board, but actually OTA programming with mycontroller works fine.

            The problem is that OTA uploades takes around 10 mins, which is annoying if I want to test something while I have the node on my desk, before placing it somewhere in my house. So while I anyway have it on the desk, I'd like to use the FTDI cable.

            Anyway, things seem to work fine now :)

            1 Reply Last reply
            1
            • A Offline
              A Offline
              arraWX
              wrote on last edited by
              #61

              Is it possible to do FOTA from my raspberry pi (serial gateway + domoticz)?

              As it is now I move the gateway from the rpi to a windows pc running MYSController. It would be nice to avoid this step.

              V 1 Reply Last reply
              0
              • A arraWX

                Is it possible to do FOTA from my raspberry pi (serial gateway + domoticz)?

                As it is now I move the gateway from the rpi to a windows pc running MYSController. It would be nice to avoid this step.

                V Offline
                V Offline
                Viciousman
                wrote on last edited by Viciousman
                #62

                @arraWX you can create a Ethernet gateway in raspberry pi and connect MYScontroller to you raspberry pi gateway.
                See instructions to create raspberrypi ethernet gateway on https://www.mysensors.org/build/raspberry
                From there you can perform FOTA in MYScontroller.

                A 1 Reply Last reply
                2
                • V Viciousman

                  @arraWX you can create a Ethernet gateway in raspberry pi and connect MYScontroller to you raspberry pi gateway.
                  See instructions to create raspberrypi ethernet gateway on https://www.mysensors.org/build/raspberry
                  From there you can perform FOTA in MYScontroller.

                  A Offline
                  A Offline
                  arraWX
                  wrote on last edited by
                  #63

                  @Viciousman Thank you!

                  How do I create a Ethernet gateway?

                  Will I have to build this: https://www.mysensors.org/build/ethernet_gateway

                  or

                  Will I have to do some kind of configuration on the rpi and continue using my serial gateway?

                  V 1 Reply Last reply
                  0
                  • A arraWX

                    @Viciousman Thank you!

                    How do I create a Ethernet gateway?

                    Will I have to build this: https://www.mysensors.org/build/ethernet_gateway

                    or

                    Will I have to do some kind of configuration on the rpi and continue using my serial gateway?

                    V Offline
                    V Offline
                    Viciousman
                    wrote on last edited by
                    #64

                    @arraWX I find more simple to simply connect nrf24 to raspberry pi as instructed in https://www.mysensors.org/build/raspberry
                    But you can also build the Ethernet gateway with W5100.

                    1 Reply Last reply
                    2
                    • T Offline
                      T Offline
                      Tommas
                      wrote on last edited by
                      #65

                      Dear all!

                      I have an mysensors ethernet gateway and nodes with nrf24 . I have an openhab2 controller. Could i use the above solution to program my nodes over the air through my current gateway? So i write my sketch on windows arduino and send it through my gateway to the node? Or i have to connect my computer direct to nodes over air?

                      1 Reply Last reply
                      0
                      • gohanG Offline
                        gohanG Offline
                        gohan
                        Mod
                        wrote on last edited by
                        #66

                        You can use myscontroller to connect to the ethernet gateway and assign the firmware to upload for each node

                        T V 2 Replies Last reply
                        0
                        • gohanG gohan

                          You can use myscontroller to connect to the ethernet gateway and assign the firmware to upload for each node

                          T Offline
                          T Offline
                          Tommas
                          wrote on last edited by
                          #67

                          Dear @gohan

                          Thank you! Superb!

                          1 Reply Last reply
                          0
                          • gohanG gohan

                            You can use myscontroller to connect to the ethernet gateway and assign the firmware to upload for each node

                            V Offline
                            V Offline
                            vikasjee
                            wrote on last edited by vikasjee
                            #68

                            @gohan , Thanks for this idea... I am going to try this with a serial gateway instead. Do you perceive a problem? Will this work only with an ethernet gw?

                            1 Reply Last reply
                            0
                            • gohanG Offline
                              gohanG Offline
                              gohan
                              Mod
                              wrote on last edited by
                              #69

                              Myscontroller works only as ethernet. Mycontroller should also work with mqtt gateway but I'm not sure about serial.

                              V 1 Reply Last reply
                              0
                              • gohanG gohan

                                Myscontroller works only as ethernet. Mycontroller should also work with mqtt gateway but I'm not sure about serial.

                                V Offline
                                V Offline
                                vikasjee
                                wrote on last edited by
                                #70

                                @gohan Ook! Are you talking about installing MysController on Raspberrypi (I think not)? If you are going to run it on Windows and connect to Raspi Ethernet gateway remotely then using the the same option we can remotely connect to a serially connected gateway on Raspberrypi (using a USB port) from MysController running on Windows.

                                Are there steps somewhere to install MysController on Raspi [some Windows pre-installer running on Debian Linux]? I remember reading some Mysensors posts here a couple of years back(!!!), but cant seem to locate it now...

                                1 Reply Last reply
                                0
                                • gohanG Offline
                                  gohanG Offline
                                  gohan
                                  Mod
                                  wrote on last edited by
                                  #71

                                  MyScontroller is a windows application.
                                  MyController is a controller that you can install anywhere. I personally try to avoid the usb gateways because of the limitations.

                                  1 Reply Last reply
                                  0
                                  • Nca78N Offline
                                    Nca78N Offline
                                    Nca78
                                    Hardware Contributor
                                    wrote on last edited by
                                    #72

                                    @scalz do you have any specific reason why you use avrdudes to burn the fuses and burn bootloader separately, instead of using some board definitions matching the bootloader and using the burn bootloader method for Arduino interface ? I think that method is far more user intuitive for the average MySensors user ?

                                    1 Reply Last reply
                                    0
                                    • scalzS Offline
                                      scalzS Offline
                                      scalz
                                      Hardware Contributor
                                      wrote on last edited by
                                      #73

                                      @Nca78 just old school habit ;) I think in the video both ways are explained. But I'll take a look at the howto to make it simpler, agree.

                                      thx for reminding me!

                                      1 Reply Last reply
                                      0
                                      • A Offline
                                        A Offline
                                        arraWX
                                        wrote on last edited by arraWX
                                        #74

                                        Using FOTA in myscontroller works only occasionally for me. Sometimes it works fine. But most often I get the following messages and nothing more happens.

                                        0_1512991929867_Udklip.PNG

                                        The node is a sensebender micro. Gateway is rpi ethernet.

                                        Has anyone experienced something similar? Anyone knows how to solve the problem?

                                        EDIT: Problem solved. Reading this post I now understand that in order to get new fw into the node one has to update the sketch, refresh the repo in MysController and assign it the node.

                                        1 Reply Last reply
                                        0
                                        • gohanG Offline
                                          gohanG Offline
                                          gohan
                                          Mod
                                          wrote on last edited by
                                          #75

                                          Once I managed to burn the sensbender micro bootloader to the pro mini, how do I connect the external flash? Just connect it to pins D10 to D13? Is this the correct way of managing the fota in the sketch before the sleep?

                                          A 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          5

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular