Reputation: 147
I have a Raspberry Pi at a remote location. I have attempted to run the Arduino IDE on that system but it doesn't have enough memory. I would like to compile some code on my Ubuntu desktop, copy the executable file to the Pi and use some utility to load it to an ESP8266 running the OTA software. What I need is to know where the executable is after an IDE compile step and what utility might be used to transfer the file from the Pi to the ESP8266 over the lan.
Any ideas? Thanks, Jim.
Upvotes: 0
Views: 237
Reputation: 147
Thanks to both of the responders. I wanted to try to describe a possible scenario to satisfy my needs. I found out from another post that the "Sketch/Export compiled binary" menu selection will produce a bin file that can be uploaded using a script similar to the one in this page https://github.com/esp8266/Arduino/issues/3553 The script finds the available OTA ports in the network and then uses espota.py to upload the .bin file to the port that you select. I suggest slight update to that script. On my system, espota is in ~/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/espota.py and it is now a python3 script. It is executable so you don't need to explicity execute python.
/home/$USER/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/espota.py -i $ip -p 8266 --auth="$password" -f "$path" 2> /dev/null && echo -e "Success:\t$ip" || echo -e "Fail: \t$ip" &
I've not tested it yet but I think it'll work with maybe some small tweaks. The avahi-browse utility is in the avahi-utils package on the Raspberry Pi OS. It was not installed by default on RPi OS but it appears to have been on Linux Mint.
To summarize I will run the Arduino IDE on my desktop using the "Export ..." menu, then I'll find the .bin file in the sketch directory and copy it to the Pi. Then I'll use the script mentioned before to hopefully write the bin file to the esp8266 via OTA. I hope this will help someone else with a similar problem.
Thanks again, Jim.
Upvotes: 0
Reputation: 1909
See answer by Kinaly Jain. If you upload your code to a local esp, verbose mode will also show you the commands it used to do the upload. You can gather these commands into a script or a makefile to run on the remote Pi.
Upvotes: 0
Reputation: 26
in arduino ide, go to, File-> Preferences. Tick mark the boxes for compilation “Show verbose output during: ☑ compilation"
Now You will get the location of all the files generated in arduino console.
Upvotes: 1