Lucrez la o aplicație web pentru a programa câteva dispozitive nodeMCU care au fost flashate cu biblioteca arduinoOTA.
http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html
Am încercat exemplul și funcționează încărcarea OTA a fișierului binar compilat din Arduino IDE.
Să spunem că aplicația mea web va permite utilizatorului să codeze în Sketch, există vreun compilator open source sau client care poate compila codul Sketch în fișierul bin?
Comentarii
- activați ieșirea de consolă detaliată în Arduino IDE și veți vedea toate comenzile executate pentru a compila și lega. constructorul este extern și este Open Source
- vezi de exemplu Sloeber, pluginul Arduino Eclipse, modul în care folosește lanțul de instrumente Arduino și pachetele de bază fără ID Arduino
- @Juraj Vă rugăm să scrieți acest lucru ca răspuns sau să dați URL pentru un tutorial etc. care există deja pe web, dacă știți unul.
- AVC GCC este utilizat și este open source gcc.gnu.org
Răspuns
Arduino IDE rulează instrumente externe pentru a crea fișierul hex sau bin. Mai întâi fișierele ino ale unui proiect sunt procesate de arduino builder la fișierul cpp. Apoi, constructorul arduino invocă lanțul de instrumente al arhitecturii MCU – compilator și linker. De exemplu, instrumentele AVR pentru 328p sau 2560; Lanțul de instrumente ARM de la SAMD; instrumente xtensa pentru cipuri Espressif.
Nou este CLI Arduino , care se concentrează pe utilizarea Arduino cu linia de comandă.
Tha Arduino Builder, Arduino CLI și esp8266 Arduino core sunt Open Source. Instrumentele Extensa și SDK-ul Espressif nu sunt open source, dar sunt gratuite.
Răspuns
Încercați PlatformIO: https://platformio.org
Opensource și cross platform.
Comentarii
- Răspuns excelent la o altă întrebare 🙂
Răspuns
Aruncă o privire aici https://github.com/arduino/Arduino/wiki/Build-Process pentru a înțelege procesul.
De fapt, codul Arduino nu este „C sau C ++ „la 100%. Nu puteți compila direct deoarece lipsesc unele informații. Acesta este motivul pentru care, atunci când „compilați” cu IDE, acesta copiază fișierele într-un folder temporal, adăugați câteva linii la începutul acestor fișiere și apoi apelați avrul de bază și bine cunoscut -gcc. Dacă aveți un server dedicat, trebuie doar să căutați pachetul avr-gcc conform sistemului de operare. De exemplu, pentru Debian: https://packages.debian.org/stretch/gcc-avr
Apoi, sau trimiteți direct codul pe care îl așteaptă avr-gcc, sau aplicați codului aceleași modificări pe care le face IDE înainte de a trimite codul către GCC.
Sper că acest ajutor