Software updates using raspberry-pi usb


#1

I have an olimex EVB installed in a remote place. At this moment the olimex it is connected by the USB port to a raspberrypi and I would like to be able to update the software using an ssh connection to raspberrypi.
I know the FOTA solution from Zerynth, but at this moment it is not an option since I can only connect raspberrypi to the network.
Can I use some utility, such as esptool, to update the software on the olimex EVB?


#2

Hi, the Zerynth toolchain that comes with the Zerynth installer package should work also on a tiny system like raspberry.
You should try to install the entire package on the raspberry then you program using the Zerynth ide on your computer, move the compiled firmware on the raspberry over ssh and then uplink it on the board using the toolchain via ssh.
The toolchain is documented here https://docs.zerynth.com/latest/official/core.zerynth.toolchain/docs/index.html


#3

I’m sorry but I think that ztc is incompatible with raspberry-pi. On the path … / ztc / there are only ZTC executables for linux64, windows and mac. I do not see anything that can be executed in a raspi that has an ARM processor.
Maybe ESPTOOL can be used?


#4

Hi @Manuel_Castro_Caaman,

I think you could take advantage of the FOTA Library on your EVB to accept and store bytecode coming from a serial stream, implementing a FOTA over serial .

The new bytecode would be received by your raspberry-pi over ssh and sent to the EVB on a serial channel.
To generate this bytecode you should follow two steps on your 64bit machine: compile your project with a -o option and then link it with the EVB virtual machine.
The output of the link process would so be ready to be sent via ssh to the raspberry-pi and then via serial to the EVB.

Of course this is not a standard procedure, but I think it is the one that fits your case best,
let me know :slight_smile:


#5

Thank you Lorenzo, I will try to use the FOTA library as you recommend.