Forum: Mikrocontroller und Digitale Elektronik welche Programmiersprache?


von jo (Gast)


Lesenswert?

hallo,

ihr kennt doch bestimmt alle die AR-Drone, welches mit einem iphone bzw. 
android gesteuert wird. In welcher Programmiersprache ist denn die 
AR-Drone programmiert bzw. die Software vom Smartphone? In welcher 
Sprache verständigen sie sich denn? gibt es irgendwo eine ausführliche 
erklärung zum durchlesen?

gruß
jo

von Eumel (Gast)


Lesenswert?

Wieso interessiert dich das? Die "Verständigungssprache" nennt sich 
übrigens Protokoll.
Und eine Programmiersprache ist nur ein Mittel um Funktionalität 
erzeugen und darstellen zu können. Ob es jetzt ASM, C (wahrscheinlich in 
der Drohne) oder irgendwas anderes ist, ist doch eher egal.

von Marion (Gast)


Lesenswert?

jo schrieb:
> In welcher Programmiersprache ist denn die
> AR-Drone programmiert bzw. die Software vom Smartphone?

Die Software fürs Smartphone ist auf dem iPhone in Objective-C und auf 
Android-Phones in Jva programmiert.

von Marion (Gast)


Lesenswert?

Soll natürlich "Java" heißen.

von jo (Gast)


Lesenswert?

Naja, weil, wenn ich mal so überlege, die Ar-drone ist in C programmiert 
und die software dazu in Java , wie ist es denn möglich das sie trotzdem 
miteinander kommunizieren können.

Gruß
Jo

von Daniel F. (df311)


Lesenswert?

wie ist es möglich, dass du dich mit einem franzosen auf englisch 
unterhältst? (ok, franzose und englisch ist ein schlechte beispiel)

ihr seid ja auch in verschiedenen sprachen "programmiert"...

ernsthaft:
ein protokoll kann man sich wie eine genau definierte sprache 
vorstellen. solange beide gesprächsteilnehmer genau wissen was die 
einzelnen "worte" bedeuten können sie die sprache verstehen, auch wenn 
der gesprächspartner in einer vollständig anderen programmiersprache 
geschrieben ist.

von Karl H. (kbuchegg)


Lesenswert?

jo schrieb:
> Naja, weil, wenn ich mal so überlege, die Ar-drone ist in C programmiert
> und die software dazu in Java , wie ist es denn möglich das sie trotzdem
> miteinander kommunizieren können.

Auf genau die gleiche Art, auf die auch ein Kisuaheli sprechender 
Schachspieler mit einem Aborigine Schachspieler eine Partie Schach 
spielen kann: sie haben sich auf einen Satz Symbole geeinigt, die von 
beiden in der gleichen Art und Weise interpretiert werden.


Wie kannst du in Neapel auf einer Kreuzung wissen, was der Polizist in 
Kruezungsmitte anordent? Du kannst ja gar kein Italienisch?
Ganz einfach: Du weisst, wenn er den Arm hebt, dann bedeutet das 
'Achtung'. Siehst du seine ausgebreiteten Arme quer (und du den Mann 
frontal), dann darfst du nicht fahren. Siehst du ihn von der Seite, dann 
darfst du fahren.
Und das alles ohne dass du Italienisch kannst. Woher wißt du das? Das 
hast du in deiner Sprache in der Fahrschule gelernt. Und der Polizist 
hat das eben in seiner Sprache gelernt. Und da diese Symbole überall 
gleich sind, versteht ihr euch.

von Thomas E. (thomase)


Lesenswert?

Daniel F. schrieb:
> wie ist es möglich, dass du dich mit einem franzosen auf englisch
> unterhältst? (ok, franzose und englisch ist ein schlechte beispiel)
Aber wie kann sich eine Schwede mit einem Portugiesen unterhalten?
Auf Englisch. Das ist das Protokoll.

mfg.

von Jürgen S. (jurs)


Lesenswert?

jo schrieb:
> Naja, weil, wenn ich mal so überlege, die Ar-drone ist in C programmiert
> und die software dazu in Java , wie ist es denn möglich das sie trotzdem
> miteinander kommunizieren können.

Die Kommunikation geht über Funk per WIFI/WLAN!

Den Funkwellen zwischen der Fernsteuerung und dem gesteuerten Gerät ist 
es vollkommen schnurz, womit die ausgetauschten Funkbefehle für das WLAN 
programmiert worden sind.

von amateur (Gast)


Lesenswert?

>In welcher Sprache verständigen sie sich denn?

Ich würde sagen Chinesisch! Auf dem Aufkleber steht doch: "Made in 
China".

von Karl H. (kbuchegg)


Lesenswert?

jo schrieb:

> wie ist es denn möglich das sie trotzdem
> miteinander kommunizieren können.

Wie ist es möglich, dass dich ein Kutschenpferd 'versteht' was du 
willst?

Du sitzt auf der Kutsche und machst "Brrrrrr" und das Pferd bleibt 
stehen.
Bedeutet "Brrrrrr" für dich in deiner Sprache irgendwas besonderes? 
Nein.
Bedeutet "Brrrrrr" für das Pferd in seiner Sprache irgendwas besonders? 
Nein.

Und trotzdem funktioniert es. Das Pferd hat gelernt, stehen zu bleiben, 
wenn es "Brrrrrr" hört und du hast gelernt, "Brrrrrr" zu sagen, wenn du 
willst das das Pferd stehen bleibt.


Was also hindert das iPhone, sagen wir mal den Zahlencode 42 zu 
schicken, wenn die Anweisung "steigen" lauten soll, oder 89, wenn die 
Drohne sinken soll?
Richtig. Nichts.
Man hätte auch Singalflaggen benutzen können und eine Webcam auf der 
Drohne, die die Flaggen erkennt. Aber so ist es einfacher, wenn das 
iPhone einfach nur verabredete Codes über die Funkstrecke schickt :-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Karl Heinz Buchegger schrieb:
> Wie kannst du in Neapel auf einer Kreuzung wissen, was der Polizist in
> Kruezungsmitte anordent?

OT: Ist aber gut, daß Du hier drauf verzichtet hast, das naheliegende 
Beispiel einer Verkehrsampel zu verwenden -- die nämlich hat in Neapel 
eine ganz andere Bedeutung. Sobald auch nur ein bisschen Verkehr ist, 
wird sie ignoriert, beachtet wird sie nur, wenn dabei kein anderer 
(hinter einem fahrender) gestört werden könnte ...

von jo (Gast)


Lesenswert?

alles klar. also ist es gar nicht so wichtig, dass die beiden nicht in 
der selben Programmiersprache programmiert sind. sie verstehen sich ja 
irgendwie :)
danke für die antworten.

gruß
jo

von Eumel (Gast)


Lesenswert?

Die Programme auf deinem Pc sind doch auch in unterschiedlichen Sprachen 
geschrieben :)

von Wilhelm F. (Gast)


Lesenswert?

jo schrieb:

> alles klar. also ist es gar nicht so wichtig, dass die beiden nicht in
> der selben Programmiersprache programmiert sind. sie verstehen sich ja
> irgendwie :)

Ich kenne die AR-Drohne nicht.

Aber: Versuch doch mal, sie in Pferdesprache zu steuern: Hüüüüaah, 
brrrrr. ;-)

von jo (Gast)


Lesenswert?

Eumel schrieb:
> Die Programme auf deinem Pc sind doch auch in unterschiedlichen Sprachen
> geschrieben :)

stimmt. habe ich gar nicht so drauf geachtet :)

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

In der Tat ist die Programmiersprache egal, in der die Firmware der 
ARdrone und die zugehörige App geschrieben sind.

Es gibt jedoch auch spezielle Beschreibungssprachen für die 
Datenkommunikation, z.B. ASN.1, aus denen auf der einen Seite Funktionen 
in "normalen" Programmiersprachen wie C, C++, Pascal, Java o.ä. 
generiert werden, und auf der anderen Seite auch Anforderungen an die 
Kommunikationsschnittstelle definiert werden.

Dies sollte man jedoch nicht mit Beschreibungssprachen wie z.B. XML 
verwechseln, die direkt als Datenformat bei der Kommunikation geeignet 
sind. Jedoch gibt es gerade auch für XML Funktionsbibliotheken und 
Programmgeneratoren, um die Erzeugung und Auswertung in 
Programmiersprachen zu ermöglichen.

von Hannes L. (hannes)


Lesenswert?

Ist aber alles völlig egal, die Prozessoren und Controller arbeiten ja 
nicht mit der jeweils verwendeten Programmiersprache, sondern mit ihrem 
eigenen Maschinencode, den außer ihnen selbst und den 
Compilern/Assemblern nur Wenige verstehen... ;-))

...

von Rolf Magnus (Gast)


Lesenswert?

jo schrieb:
> Eumel schrieb:
>> Die Programme auf deinem Pc sind doch auch in unterschiedlichen Sprachen
>> geschrieben :)
>
> stimmt. habe ich gar nicht so drauf geachtet :)

Oder auch, um die Kommunikation zwischen verschiedenen Systemen 
einzubinden:
Web-Dienste sind z.B. oft in PHP programmiert. Trotzdem kann man die 
Webseiten auch auf einem Browser anschauen, der nicht in PHP 
programmiert ist.
Und die Textausgaben, die ein in BASIC programmierter µC an die serielle 
Schnittstelle schickt, können auch dann auf dem PC dargestellt werden, 
wenn das Terminalprogramm in C++ geschrieben ist.

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.