LabVIEWForum.de
NXT Communication - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: NXT Communication (/Thread-NXT-Communication)



NXT Communication - RoboPeer - 08.02.2012 13:18

Hallo LV Forum User,

Seit zwei Tagen plage ich mich nun um ein einfaches Ziel zu erreichen, aber es will mir einfach nicht gelingen. Ziel ist es eine Bluetooth-communication zwischen einem NXT und einem Computer einzurichten. Folgende Funktionen sollen realisiert werden:

- Computer kann Nachrichten an NXT senden und Nachrichten vom NXT empfangen
- NXT kann Nachrichten vom Computer empfangen und Nachrichten an Computer senden

eigentlich Sandart, hätte ich gedacht-aber funktioniert nicht. Was funktioniert ist die communication zwischen zwei NXT's (empfangen - senden, senden - empfangen(host - client)) oder Computer sendet - NXT empfängt bzw. NXT sendet - Computer empfängt.

Hat jemand Erfahrung damit?

Gruß, RoboPeer Blink


RE: NXT Communication - A.Berndsen - 08.02.2012 17:09

Hallo RoboPeer,

ich bin jetzt etwas verwirrt.
Du schreibst, daß Du eine Bluetooth Verbindung PC-NXT herstellen möchtest, was Dir nicht gelingt.

(08.02.2012 13:18 )RoboPeer schrieb:  Was funktioniert ist die communication zwischen ... oder Computer sendet - NXT empfängt bzw. NXT sendet - Computer empfängt.
Demnach funktioniert doch etwas. Oder hast Du Dich nur unglücklich ausgedrückt?

Grüße
Andreas


RE: NXT Communication - RoboPeer - 09.02.2012 16:05

Ähm ja, da habe ich mich sehr unglücklich ausgedrückt.

Die funktionierende Kommunikation ist wie eine Einbahnstraße. Ich kann vom NXT senden und der Computer empfängt die Nachricht, sobald der Computer etwas zum NXT zurücksenden soll kommt ein Fehler.

Unabhängig davon (in einem anderen Programm) funktioniert das Ganze auch umgekehrt, der Computer sendet zum NXT- der NXT empfängt, aber sobald der NXT zum Computer zurück senden soll kommt ein Fehler.

Was ich zum Beispiel möchte ist:
Sensordaten am NXT auslesen – zum Computer senden (per Bluetooth) – am Computer einlesen – auswerten – daraufhin Motorstellsignal vom Computer zum NXT senden (per Bluetooth) – Stellsignal am NXT einlesen – Motor stellen

Ich habe nirgendwo eine Anleitung gefunden wie ich solch eine Standardaufgabe bewerkstelligen kann. Wie gesagt, zwischen zwei NXT’s funktioniert das ohne Probleme, aber ich würde gern die Sensordaten auf meinem Frontpanel sehen und von dort aus auch über Schalter (oder ähnliches) die Motoren (am NXT) ansteuern können.
Gruß,Peer


RE: NXT Communication - A.Berndsen - 09.02.2012 17:14

Hallo Peer,

ich habe bisher noch keine Kommunikation über die Bluetooth-Bibliothek programmiert.
Die Beispiele von LV sind als Client und Server aufgebaut, mit Listener etc.

Kannst Du mal das VI von NXT <-> NXT genauer ansehen, wie die Kommunikation dort erfolgt.
Die Kommunikationsrichtung muß irgendwie geregelt werden, sonst senden PC und NXT und keiner empfängt.
Oder beide warten auf Daten und keiner sendet.

Ich schau mir das morgen mal noch an. Vielleicht kannst Du das VI NXT <-> NXT auch hier posten.

Grüße
Andreas


RE: NXT Communication - RoboPeer - 20.02.2012 20:58

So, ich war jetzt ne Woche offline Badewanne_2_2. Ich werde morgen noch einmal ein paar Sachen ausprobieren.
Ich habe noch kein Verständnis dafür wie die NXT-Shell funktioniert und welche Elemente dafür sorgen das es manchmal funktioniert und manchmal nicht. Ich mein damit, das man ein Programm auf dem NXT ausführen kann und parallel dazu ein Programm auf dem Computer ausführt, welches dann als NXT-Shell auf den gleichen NXT zugreift. Mal geht’s – mal nicht (je nachdem welche Elemente man benutzt).

Ich habe auch ein Beispiel gefunden, https://decibel.ni.com/content/docs/DOC-11109 welches genau das macht was ich brauch. Geht nur nicht weil:
- ich lade das NXT-client vi auf den nxt und es startet
- dann will ich das PC-host vi auf dem pc starten (Computer als Ziel) und es kommt der Fehler “error comuncation with nxt shell“ (bestimmt weil ja da schon das NXT-client vi gerade läuft??)
hat jemand eine Ahnung was ich da falsch mache??

PS: es wäre natürlich sehr einfach wenn ich nur ein Programm schreibe und dann “Computer als Ziel“ wähle. Dann kann ich vom Frontpannel aus NXT-Sensordaten betrachten und Motoren ansteuern usw. Aber ich will (muss/soll) Temperatursensoren von http://dexterindustries.com/Products-Thermometer.html nutzen. Die funktionieren nur wenn das Programm direkt auf dem NXT ausgeführt wird. Warum weiß ich nicht ganz genau, aber die funktionieren analog und haben kein i^2c-bus (hab ich mit einem Oszilloskop überprüft) und ich mein das bei “Computer als Ziel“ die NXT-Shell die Sensordaten über den i^2c-Bus auf dem NXT auslesen will (bei allen anderen mir verfügbaren Sensoren, auch von Drittanbietern, funktioniert das (die haben alle einen i^2c-Bus, sagt mir das Oszi Big Grin ))??
Ich probier morgen noch ein bisschen und werde Neuigkeiten dann hier posten.

Gruss, RoboPeer