Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
8 years, 1 month ago.
Sending Files to a Multitech mDot remotely
Hi,
I am working with a mDot and am attempting to set up OTA firmware updating. Of course the mDot does not have native support for OTA updates, although the mDot page does have a blog post explaining usage of the bootloader to implement software changes remotely. This part I understand, however I am unsure as to how I should send my file from a system to the mDot. As in, I am unsure how I would write a code that sends a file over the LoRaWAN network to the mDot to be processed and used to update. I have looked at the FirmwareUpdater library in the cookbook however I feel that it is unlikely that the mDots will have connections to the internet as otherwise we wouldn't use the LoRaWAN network. As such I am unsure what I will need to do so that OTA firmware updating can be successfully implemented as a feature of an application of the mDot.
Any suggestions on how to proceed would be greatly appreciated.
1 Answer
8 years, 1 month ago.
Posting from multitech.net forum:
We don’t currently support OTA firmware updates for the mDot, but it does have a bootloader that will flash new firmware if it finds new firmware in the filesystem on the external SPI flash. We have a writeup about updating firmware using the bootloader on mbed.
https://developer.mbed.org/teams/MultiTech/wiki/updating-firmware-using-MTS-bootloader
You’ll be interested in the “Updating Firmware from User Applications” section. You’ll have to get the FW to the mDot via serial, LoRa, etc, and put it into the filesystem using the mDot filesystem API. Then you’ll call
bool moveUserFileToFirmwareUpgrade(const char* file);
to give the file the proper name. Finally, initiate a system reset
void resetCpu();
On startup, the bootloader will detect the new firmware and update the application. The update should take 15 seconds, but this will vary depending on the size of the new application.
Hope this helps!
Cheers,
Mike