Pracuji na webové aplikaci, abych naprogramoval některá zařízení nodeMCU, která byla flashována knihovnou arduinoOTA.
http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html
Zkoušel jsem příklad a funguje OTA upload binárního souboru zkompilovaného z Arduino IDE.
Řekněme, že moje webová aplikace umožní uživateli kódovat v aplikaci Sketch, existuje nějaký otevřený zdrojový server nebo kompilátor na straně klienta, který může zkompilovat kód skici do souboru bin?
Komentáře
- zapněte podrobný výstup z konzoly v Arduino IDE a uvidíte všechny spuštěné příkazy, které chcete zkompilovat a propojit. stavitel je externí a je to Open Source
- viz například Sloeber, plugin Arduino Eclipse, jak používá Arduino toolchain a základní balíčky bez Arduino IDE
- @Juraj Prosím napište to jako odpověď nebo uveďte URL pro tutoriál atd., který již existuje na webu, pokud o něm víte.
- Používá se AVC GCC, který je open source gcc.gnu.org
odpověď
Arduino IDE spouští externí nástroje k vytvoření souboru hex nebo bin. Nejprve ino soubory projektu zpracuje arduino builder do souboru cpp. Poté arduino builder vyvolá řetězec nástrojů architektury MCU – kompilátor a linker. Například nástroje AVR pro 328p nebo 2560; ARM toolchain od SAMD; Nástroje xtensa pro čipy Espressif.
Novinkou je Arduino CLI , které se zaměřuje na používání Arduina s příkazovým řádkem.
Tha Arduino builder, Arduino CLI a esp8266 jádro Arduino jsou Open Source. Nástroje Extensa a Espressif SDK nejsou open source, ale jsou zdarma.
Odpověď
Vyzkoušejte PlatformIO: https://platformio.org
opensource a více platforem.
Komentáře
- Skvělá odpověď na další otázku 🙂
Odpověď
Stačí se podívat zde https://github.com/arduino/Arduino/wiki/Build-Process porozumět procesu.
Ve skutečnosti Arduino kód není „C nebo C ++ „na 100%. Nemůžete „kompilovat directy, protože chybí některé informace. Proto když“ kompilujete „s IDE, zkopíruje soubory do dočasné složky, přidá několik řádků na začátek těchto souborů a poté zavolá základní a dobře známé avr -gcc. Pokud máte dedikovaný server, musíte pouze vyhledat balíček avr-gcc podle OS. Například pro Debian: https://packages.debian.org/stretch/gcc-avr
Pak nebo přímo odešlete kód, na který čeká avr-gcc, nebo na kód použijete stejné změny, jaké provádí IDE před odesláním kódu do GCC.
Doufám, že tato pomoc