Forum: Mikrocontroller und Digitale Elektronik Arduino? Wer macht denn sowas.Ino zu .hex per Commandline


von Werner M. (werner-m)


Lesenswert?

Hallo
Ich glaube ich werd langsam alt. Ich bin es gewohnt meine Programme in 
irgendeinem Editor zu schreiben und mit einem Befehl wie Make zu 
Compilieren.
Jetzt muss ich, weil ich mit jungen Kollegen ein Projekt gestart habe 
wohl mit Arduino klaar kommen.
Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der 
Commandozeile eine hex oder Bin aus einer .ino?

Lg

von ruzzn (Gast)


Lesenswert?


von Beo Bachta (Gast)


Lesenswert?

Werner M. schrieb:
> Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der
> Commandozeile eine hex oder Bin aus einer .ino?

Nicht so einfach, denn die "hässliche GUI" nimmt dir im
Hintergrund eine Menge Arbeit ab um dir ein Software-
Framework zu liefern das du nicht siehst. Das müsstest
du dir erst mal "nachbilden" .....

von STK500-Besitzer (Gast)


Lesenswert?

Werner M. schrieb:
> Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der
> Commandozeile eine hex oder Bin aus einer .ino?

mit dem richtigen Compiler-Gedöns und avrdude (für avr-Controller).
Die Arduino-IDE macht das nichtr anders; verstreckt das nur relativ gut.

von A. F. (artur-f) Benutzerseite


Lesenswert?

Es gibt auch andere IDEs. Wenn du das auf dem Editor-Level hast, kannst 
Geany nehmen:
https://gitlab.com/snouf/geany_plugin_arduino_ide

Selber was machen, ist halt häßlig viel Arbeit. Compiler, Lib 
Abhängigkeiten, Boardtreiber etc.

von Mike R. (thesealion)


Lesenswert?

Platformio kann auch Arduino, ist open source und versteckt recht wenig 
:)

von Thomas R. (r3tr0)


Lesenswert?

Beim Sketch einfach auf überprüfen drücken.
Standardmäßig findest du hier dann einen Arduino Ordner in welchem die 
.hex Datei ist.

C:\Users\Benutzernamevondir\AppData\Local\Temp   \Arduino.....

von Stefan F. (Gast)


Lesenswert?

Das Arduino command-line Interface ist hier beschrieben: 
https://github.com/arduino/Arduino/blob/master/build/shared/manpage.adoc

von Einer K. (Gast)


Lesenswert?

Werner M. schrieb:
> Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der
> Commandozeile eine hex oder Bin aus einer .ino?

arduino-cli.exe kann das, gehört ab bald zum Lieferumfang, spätestens ab 
1.9.0, in der Beta jetzt schon vorhanden

Für ältere IDEs:
https://github.com/arduino/arduino-cli


----
Auch kann man die IDE selber ohne GUI betreiben, schon seit 1.5.2:
https://github.com/arduino/Arduino/blob/master/build/shared/manpage.adoc

von Harald (Gast)


Lesenswert?

Und wieder einmal zeigt sich: Wenn es um Arduino geht, gibt es nichts, 
was es nicht gibt.
Von vielen, die sich nicht so gut auskennen, wird das Arduino-Biotop 
nach wie vor unterschätzt.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

bis die arduino-cli.exe allgemein verfügbar ist, kannste ja die IDE 
kompilieren lassen und gehst danach in 
C:\Users\user\AppData\Local\Temp\...
hier wird für jedes Projekt ein build Ordner angelegt mit angehängter 
Nummer Bspw. arduino_build_654751 darin findest du deine gewohnten 
Dateien. Nur das du sie nicht selbst mit make erzeugt hast.

von Einer K. (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> ....


Bewertung -1

Hi du anonymer Minusmann...

Was gefällt dir an meinem Beitrag nicht?

von Kommandozeile vor dem Frühstück für Alle! (Gast)


Lesenswert?

1
$ sudo apt install arduino-mk

...und die seit Arduino 1.0.xyz also gefühlt seit Noah und sein 
Holzschiff.

Mit dem "Dienstweg" via Google zeigt das ja bereits der erste 
Antwortpost.

von Manfred (Gast)


Lesenswert?

Werner M. schrieb:
> Ich bin es gewohnt meine Programme in
> irgendeinem Editor zu schreiben und
> mit einem Befehl wie Make zu Compilieren.

> Jetzt muss ich ... mit Arduino klaar kommen.

Na und? Mir fällt kein schlechterer Editor ein als der der Arduino-IDE, 
also nutze ich Notepad++ mit einer passenden Ergänzung.

Die IDE wird gestartet und unter Einstellungen der Haken 'externer 
Editor' gesetzt, dann wird das Editorfenster grau hinterlegt und dessen 
Bedienung gesperrt. Das bleibt dann im Hintergrund liegen oder man 
minimiert es.

Ich befingere meine Quelldatei mit dem Editor meiner Wahl, hole die IDE 
hoch und drücke 'prüfen' oder 'hochladen', fertig. Warum sollte ich mir 
dafür die Kommandozeile antun?

Vom Ressourcenbedarf her läuft das sogar auf dem 1,6GHz-Atom-Netbook 
klaglos.

von Berni Geröllheimer (Gast)


Lesenswert?

Manfred schrieb:
> Die IDE wird gestartet und unter Einstellungen der Haken 'externer
> Editor' gesetzt, dann wird das Editorfenster grau hinterlegt und dessen
> Bedienung gesperrt. Das bleibt dann im Hintergrund liegen oder man
> minimiert es.
>
> Ich befingere meine Quelldatei mit dem Editor meiner Wahl, hole die IDE
> hoch und drücke 'prüfen' oder 'hochladen', fertig. Warum sollte ich mir
> dafür die Kommandozeile antun?

Das leuchtet mir eigentlich sofort ein!
Kommandozeile, stammt das nicht aus den alten DOS Zeiten?

Worin besteht eigentlich  der angepriesene Vorteil von PlatformIO ?
wir da eine anderer Compiler benutzt der besseren Code produziert?

von Berni Geröllheimer (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Bewertung -1
>
> Hi du anonymer Minusmann...
>
> Was gefällt dir an meinem Beitrag nicht?

Wahrscheinlich sogar alle Beiträge von dir :-(

von Bernd (Gast)


Lesenswert?

Berni Geröllheimer schrieb:
> Kommandozeile, stammt das nicht aus den alten DOS Zeiten?
Nein. DOS war bloß eine schlechte Kopie von CP/M. Aber die echte 
Kommandozeile kommt aus der Unix-Welt.

von MaWin (Gast)


Lesenswert?

Werner M. schrieb:
> Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der
> Commandozeile eine hex oder Bin aus einer .ino?

Wieso willst du nicht auf den zweiten Knopf von links drücken und warten 
bis der Arduino geflashed wurde? Da musst du nicht eine Taste am 
Keyboard drücken

von Axel S. (a-za-z0-9)


Lesenswert?

Werner M. schrieb:
> Ich glaube ich werd langsam alt. Ich bin es gewohnt meine Programme in
> irgendeinem Editor zu schreiben und mit einem Befehl wie Make zu
> Compilieren.

Dito.

> Jetzt muss ich, weil ich mit jungen Kollegen ein Projekt gestart habe
> wohl mit Arduino klaar kommen.
> Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der
> Commandozeile eine hex oder Bin aus einer .ino?

Installiere dir arduino-mk. Schon reicht ein minimalistisches Makefile. 
Z.B. für das bekannte Blink.ino:
1
/*
2
  Blink
3
  Turns on an LED on for one second, then off for one second, repeatedly.
4
  This example code is in the public domain.
5
 */
6
7
void setup() {
8
  // initialize the digital pin as an output.
9
  // Pin 13 has an LED connected on most Arduino boards:
10
  pinMode(13, OUTPUT);
11
}
12
13
void loop() {
14
  digitalWrite(13, HIGH);   // set the LED on
15
  delay(100);              // wait for a second
16
  digitalWrite(13, LOW);    // set the LED off
17
  delay(900);              // wait for a second
18
}


mit diesem Makefile
1
BOARD_TAG    = nano328
2
ARDUINO_LIBS =
3
ARDUINO_QUIET = 0
4
include /usr/share/arduino/Arduino.mk

geht dann "make" zum compilieren und "make upload", um es auf den 
Arduino zu beamen.

von John P. (brushlesspower)


Lesenswert?

Berni Geröllheimer schrieb:
> Worin besteht eigentlich  der angepriesene Vorteil von PlatformIO ?

PlatformIO nutzt VSCode als Editor. Das ist der eigentliche Vorteil.

Allerdings finde ich PlatformIO weniger intuitiv als Arduino.
Und Arduino versteckt auch nichts. Alle sourcen, Makefiles usw können 
bearbeitet werden.

Das einzige ist der schlechte Editor der Arduino IDE. Aber wie bereits 
erwähnt: den kann man durch einen externen Editor ersetzen.

von Berni Geröllheimer (Gast)


Lesenswert?

John P. schrieb:
> PlatformIO nutzt VSCode als Editor. Das ist der eigentliche Vorteil.

Danke, ich hätte aber VSCode eher mit Visual C++ assoziert als mit einem 
Editor :O

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.