Jump to content

Servobrick ohne Brick Deamon ansprechen


Recommended Posts

Hallo,

 

Wir versuchen eine Roboterschlange aus einem Servobrick und 7 Servos zu bauen. So weit so gut. Im moment haben wir unseren Programmcode in Python und die Schlange funktioniert, wenn man sie an einen PC oder Laptop mit Windows oder Linux anschließt, der den Brickd installiert hat. Wir würden das ganze gerne zu vorführungszwecken per Kabel von einem Android-Gerät aus Steuern. Ich habe schon eine Python-Laufzeitumgebung für das Gerät und auch eine Bibliothek gefunden, mit der man direkt USB ansteuern kann (PyUSB). Leider habe ich zu wenig ahnung von Tinkerforge um den Servobrick per USB direkt anzusteuern. Ist soetwas überhaupt möglich, oder gibt es eine andere Möglichkeit den Brick ohne den Brickd anzusteuern?

 

Danke,

CodenameRoboterschlange

Link zu diesem Kommentar
Share on other sites

Der Brick Daemon leitet die Pakete unseres TCP/IP Protokolls unverändert durch und kümmert sich dabei um das Routing zwischen mehreren Bricks und mehreren TCP/IP Verbindungen.

 

Du kannst also mit einem Brick auch direkt per USB sprechen und ihm die gleichen Pakete schicken, wie sie für unser TCP/IP Protokoll definiert sind:

 

http://www.tinkerforge.com/de/doc/Low_Level_Protocols/TCPIP.html

 

Deutlich einfach ist es aber eine WIFI Extension zu verwenden. Dafür steckst du einen Master Brick unter den Servo Brick und eine WIFI Extension oben auf den Servo Brick. Dann kannst du die WIFI Extension als Access Point konfigurieren, dich vom Smartphone aus damit verbinden und dein bisheriges Steuerprogramm für die Schlange weiterverwenden.

Link zu diesem Kommentar
Share on other sites

Der Brick Daemon leitet die Pakete unseres TCP/IP Protokolls unverändert durch und kümmert sich dabei um das Routing zwischen mehreren Bricks und mehreren TCP/IP Verbindungen.

 

Du kannst also mit einem Brick auch direkt per USB sprechen und ihm die gleichen Pakete schicken, wie sie für unser TCP/IP Protokoll definiert sind:

 

Hallo photron.

 

Och. :staun:

 

Nur mal kurz gefragt: Wie geht das? Kann du mir einen kleinen Ansatz geben?

 

Danke.

 

Der Loetkolben

 

Link zu diesem Kommentar
Share on other sites

Loetkolben, wie borg schon sagt kannst du dir das alles im brickd anschauen.

 

Was du grob gesagt tun musst ist:

 

- den Brick in der Liste der USB Devices finden

- einen USB Handle für den Brick öffnen

- Interface 0 claimen

 

Dann kannst du Requests als Bulk Transfer an den Interface 0 OUT Endpoint senden und Responses als Bulk Transfer vom Interface 0 IN Endpoint empfangen.

 

Die Pakete sind die gleichen die auch über TCP/IP versendet werden.

 

Um mit USB zu interagieren kannst du z.B. libusb verwenden.

Link zu diesem Kommentar
Share on other sites

Hallo borg, hallo photron,

 

vielen Dank fuer die ausfuehliche Erklaerung. Ich nehme davon mit, dass man dazu ein Programm schreiben und dabei eine Library (libusb) mit einbinden muss.

 

Die Vorgehensschritte klingen sehr logisch, da USB Devices nunmal keine statische IP USB-Adresse haben.  :)

 

Es scheint also auch kein typisches Shellprogramm zu geben mit dem ich die USB-Devices in geeignet Form ansprechen kann.

 

Danke nochmals.  :)

 

 

Der Loetkolben

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...