Jump to content

CrazyKai

Members
  • Gesamte Inhalte

    6
  • Benutzer seit

  • Letzter Besuch

CrazyKai's Achievements

Newbie

Newbie (1/14)

0

Reputation in der Community

  1. What about a USB (Host) Bricklet with some device driver for any keyboard you can buy?
  2. @borg: ich würde gerne mit meinem Sohnemann ein lustiges Fahrzeug aus Lego bauen, Motoren u.a. aus dem Mindstorms Programm dranstecken und dann per Masterbrick steuern. Oder mit Bricklets kombinieren etc. Dieser Link hat mich zu diesem Thread inspiriert: http://www.generationrobots.de/nxshield-m-fur-arduino-mega-oder-arduino-adk-mindsensors,fr,4,NXShield-M-Arduino.cfm EDIT: habe eben noch ein wenig nach dem verwendeten Protokoll gegoogelt. Es gibt eine Doku von Lego: http://cache.lego.com/Media/Download/Mindstorms2SupportFilesDownloads/otherfiles/download8CFD37F17F7EFCDC412AE7CEBF245C6A/HDK_Download1.zip Grüße, Kai
  3. Ich habe keine Ahnung, ob ads einfach oder schwierig ist. Wäre aber ziemlich cool für den schnellen Roboterbau zwischendurch.
  4. Nun funzt es über TCP/IP direkt. Allerdings nur, wenn man zuerst mit der UID per Funktion get_stack_id die Stack-ID erfragt. Versucht man, mit bekannter Stack-ID den Callback zu triggern, ohne vorher get_stack_id aufzurufen, kommt kein Callback Paket vom brickd.
  5. So, ich habe es jetzt mit direkter Stream-Programmierung in Objektive-C versucht, leider mit dem selben Resultat, ich erhalte keine Callbacks. Dafür habe ich jetzt auch die C/C++ API Bindings von Tinkerforge versuchsweise in die iOS App eingebunden. Damit geht es Bisher auf die schnelle getestet habe ich nur das Distance IR Bricklet (direktes Auslesen und Distance-Callback, geht beides). Ich habe auch auf dem iPhone getestet, nicht nur im Simulator.
  6. Hallo zusammen, ich habe am Wochenende versucht eine iOS Anwendung zu schreiben, die per TCP/IP auf die Bricklets zugreift. Die C/C++ API Bindings wollte ich nicht verwenden, sondern mich an einer objektorientierten eigenen Implementierung der API versuchen. Erste Frage: hat jemand Erfahrung mit der C/C++ API unter iOS? Zweite Frage: für wann ist mit der iOS API von tinkerforge zu rechnen ("Coming soon")? Und hier nun meine Beobachtungen. Ich habe bei den ersten Versuchen den Fehler gemacht, bei der Längenangabe im versendeten Datenpaket den Header (Stack-ID, Funktions-ID...) nicht mitzurechnen. Das hat leider nicht nur nicht funtkioniert, sondern den brickd komplett in den Abgrund gerissen. Musste ihn danach abschießen und neu starten. Das passiert z.B. mit einem Paket wie: 02010000 an den Rotary Poti mit Stack-ID 2. Richtig wäre das Paket so: 02010400. Nachdem das korrigiert war, hat es gut funktioniert. Ich konnte das Bricklet (z.B. Poti, Distance IR) auslesen und habe auch schön brav die Werte zurückbekommen. Habe mich dann an die Callbacks gemacht. Und da liegt aktuell noch mein Problem. Ich starte die Callbacks (z.B. am Poti) und bekomme nichts zurück. Ich habe dann weiter gesucht und mit Wireshark den Netzwerkverkehr beobachtet. Es sieht so, dass nach Absetzen der Funktion zum Setzen des Callback Intervalls mein TCP Client nach einigen Sekunden den Readstream beendet. Zuvor sehe ich einigermaßen reproduzierbar in Wireshark einen "TCP Dup ACK". Bisher habe ich eine iOS-Library verwendet, die das TCP Protokoll verschalt (https://github.com/robbiehanson/CocoaAsyncSocket). Vielleicht liegt das Problem darin. Ich werde demnächst mal versuchen, auf das Framework zu verzichten und mit Bordmitteln (CFNetwork/Streams) die Kommunikation herzustellen. Den Callback habe ich mit folgendem Paket versucht zu starten: 02030800 14000000 Hatte jemand schon mal ähnliche Problemchen oder eine andere Idee, was da bei mir schief gehen könnte? PS: ich verwende den brickd auf MacOS, mit dem brickv funktioniert alles, auch die Callbacks. Schöne Grüße, Kai
×
×
  • Neu erstellen...