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
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.
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.
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
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.
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.
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.
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.
>In welcher Sprache verständigen sie sich denn?
Ich würde sagen Chinesisch! Auf dem Aufkleber steht doch: "Made in
China".
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 :-)
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 ...
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
Die Programme auf deinem Pc sind doch auch in unterschiedlichen Sprachen geschrieben :)
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. ;-)
Eumel schrieb: > Die Programme auf deinem Pc sind doch auch in unterschiedlichen Sprachen > geschrieben :) stimmt. habe ich gar nicht so drauf geachtet :)
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.
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... ;-)) ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.