|
n.force |
Forum-Century
|
|
Beiträge: 118
|
|
|
|
Anmeldedatum: 02.03.12
|
|
|
|
Wohnort: nähe Magdeburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.09.2012, 13:49
Titel: USB Maus auslesen
|
|
Hallo liebe Mitglieder,
ich habe ein kleines Problemchen. Wir basteln an der Uni gerade an einem Octocopter. per USB würde ich nun sehr gern die Sensordaten in Matlab einlesen.
Ich dachte mir, dass ich zuerst mal versuche, meine USB Maus auszulesen, um prinzipiell zu verstehen wie das ganze funktioniert.
Leider habe ich keine Ahnung wie das geht.
Ich habe die Funktion
gefunden.
Könnte es damit funktionieren? Wenn ja wie? vielen Dank für eure Hilfe
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 28.09.2012, 08:49
Titel: Re: USB Maus auslesen
|
|
Hallo n.force,
Die Maus-Daten werden zunächst mal von Betriebssystem abgefangen und verwendet, natürlich zum Bewegen des Pointers. Möchtest Du die Pointer-Position auf dem Bildschirm bestimmen?
Gruß, Jan
|
|
|
n.force |
Themenstarter
Forum-Century
|
|
Beiträge: 118
|
|
|
|
Anmeldedatum: 02.03.12
|
|
|
|
Wohnort: nähe Magdeburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.09.2012, 10:28
Titel:
|
|
Hallo Jan,
vielen Dank für deine Antwort. Eigentlich möchte ich mit den Daten nichts weiter anfangen. Ich möchte einfach nur die Daten anzeigen lassen, welche die Maus sendet.
So irgendwie:
Es geht mir also prinzipiell darum, zu verstehen wie ich einen USB Port auslesen kann, um die Sensordaten unseres Octocopters auslesen zu können.
Ich hoffe, dass ich mir das ganze nicht zu einfach vorstelle und es tatsächlich eine praktikable Möglichkeit gibt...
Danke
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 28.09.2012, 11:49
Titel:
|
|
Hallo n.force,
Eine USB-Maus senden einen recht komplexen Datenstrom. Darin identifiziert sie sich als Maus und ob die gesendeten Daten die Position oder den Zustand der Tasten bedeuten.
Das war in den Zeiten der PS2 bzw. seriell-angeschlossenen Mäuse noch anders.
Was möchtest Du also genau erreichen.
Gruß, Jan
|
|
|
n.force |
Themenstarter
Forum-Century
|
|
Beiträge: 118
|
|
|
|
Anmeldedatum: 02.03.12
|
|
|
|
Wohnort: nähe Magdeburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.09.2012, 11:52
Titel:
|
|
Ok,
ich merke also, es scheint sehr kompliziert zu sein.
Dann möchte ich mich darauf beschränken, ausgeben zu lassen, ob die linke Taste gedrückt ist oder nicht.
Geht das?
|
|
|
flashpixx |
Forum-Guru
|
|
Beiträge: 355
|
|
|
|
Anmeldedatum: 19.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.09.2012, 12:18
Titel:
|
|
Also es ist eigentlich unnötig sich mit USB Programmierung in diesem Fall auseinander zu setzen. Außerdem würde man keinen direkten Zugriff auf die Hardware erhalten, denn aus sicherheitstechnischen Aspekten laufen Treiber, die mit der Hardware kommunizieren in einem anderen Bereich als normale Anwendungen. Zusätzlich gilt heute, dass das OS ein Multitasking System ist und damit nur eine Komponente ein Device exklusiv im Zugriff hat und dies ist das OS.
Hänge Dich einfach an das entsprechende Interface des Betriebssystem und Du bekommst die Informationen. Das ganze lässt sich via Mex dann in Matlab einbinden
siehe für Windows http://msdn.microsoft.com/en-us/lib.....op/ms645543(v=vs.85).aspx
Bei Linux, geht dies über das entsprechende Udev Device
|
|
|
n.force |
Themenstarter
Forum-Century
|
|
Beiträge: 118
|
|
|
|
Anmeldedatum: 02.03.12
|
|
|
|
Wohnort: nähe Magdeburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.09.2012, 12:55
Titel:
|
|
vielen Dank. dann werde ich mich damit mal intensiver befassen....
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 29.09.2012, 21:49
Titel:
|
|
Hallo n.force,
Zitat: |
Dann möchte ich mich darauf beschränken, ausgeben zu lassen, ob die linke Taste gedrückt ist oder nicht. |
Auch das ist nicht leicht. Wenn man z.B. mit der Linken Maustaste auf den Close-Button von Matlab's Command-Window klickt, wird Matlab geschlossen. dann ist das Auslesen der Maustaste nicht mehr machbar... Wenn man in ein Fenster eines anderen Programmes klickt, wird diese Program aktiviert. Auch dann kann Matlab nicht ohne weiteres auf die Maus zugreifen.
Musst Du wirklich unbedingt mit dem kompliziertesten Teil des Mensch-Maschine-Interfaces beginnen?
Gruß, Jan
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 30.09.2012, 12:53
Titel:
|
|
|
|
n.force |
Themenstarter
Forum-Century
|
|
Beiträge: 118
|
|
|
|
Anmeldedatum: 02.03.12
|
|
|
|
Wohnort: nähe Magdeburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.10.2012, 17:07
Titel:
|
|
Zitat: |
Musst Du wirklich unbedingt mit dem kompliziertesten Teil des Mensch-Maschine-Interfaces beginnen? |
Ich dachte nicht, dass das ganze so kompliziert ist.
Es ist ja so, dass die Maus unentwegt irgendwelche Daten sendet. Kann ich diese denn unproblematisch auslesen? Bzw. die Sensordaten unseres Octocopters? Auch, wenn ich zunächst erstmal nicht weiss was die Daten dann bedeuten...
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 01.10.2012, 17:12
Titel:
|
|
Hallo n.force,
Ich bin sicher, dass die Daten des Optocopters, was immer das auch sein mag, deutlich einfacher auszulesen sind. Wenn man das Gerät an die USB-Schnittstelle anhängen kann, wird üblicherweise ein C/C++-Programm mitgeliefert, welches die Kommunikation übernimmt.
Andernfalls kannst Du ein USB-Interface auch zur Übermittlung serieller Daten verwenden. Maus und Tastatur stellen nur ein Sonderproblem dar, weil deren Daten von Betriebssystem interpretiert werden und das Abfangen der Daten bereits vom Behaviour-Blocker des Viren-Schutzes als feindliche Aktivität gewertet werden kann.
Werden für den Octocopter irgendwelche APIs zur Verfügung gestellt? Wenn ja, würde ich genau damit beginnen, und nicht mit einem anderen (schwierigeren!) Problem.
Gruß, Jan
|
|
|
n.force |
Themenstarter
Forum-Century
|
|
Beiträge: 118
|
|
|
|
Anmeldedatum: 02.03.12
|
|
|
|
Wohnort: nähe Magdeburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.10.2012, 17:19
Titel:
|
|
achso, ich dachte es wäre vom Schwierigkeitsgrad genau andersherum
Du hast vollkommen recht, dass ein Programm dazu existiert. Dieses zeigt auch in Echtzeit die Sensordaten an.
Also sagst du, ich müsste nach einer API suchen?
P.S.: Ein Octocopter ist ein Fluggerät mit 8 Motoren an welchem man hervorragend Regel und Steueralgorithmen anwenden kann. Wenn man denn die Kommunikation zum PC hinbekommt
Ich danke dir für deine Mühen
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|