Frage:
Senden von Befehlen vom PC an Raspberry Pi über USB
intensified
2013-06-02 15:42:20 UTC
view on stackexchange narkive permalink

Ich mache derzeit ein Projekt mit dem Raspberry Pi als Controller, der über USB mit einem PC verbunden ist, und verwende den Pi, um Befehle an andere Geräte zu senden, die über GPIO-Pins verbunden sind.

Vereinfachte Version: Kommunikation vom PC an Pi zum Rest des Systems.

Ich frage mich, ob es möglich ist, ein Skript auf den Pi zu schreiben, um seine USB-Anschlüsse beim Booten zu steuern, damit Daten vom PC gesendet und auf dem PC empfangen werden können Pi, ohne etwas manuell von ssh / vnc ausführen zu müssen.

Ich plane auch, eine PC-App zu schreiben, damit in Zukunft Befehle vom PC an den Pi ausgegeben werden können, sobald ich dazu in der Lage bin um die USB-Kommunikation zu bekommen. Ich hoffe, jemand könnte mir helfen / mich in die richtige Richtung weisen, um dies zu tun. Ich habe mir usbnet und pyusb angesehen, um Informationen dazu zu erhalten.

Zwei antworten:
#1
+6
GuySoft
2013-06-02 23:21:57 UTC
view on stackexchange narkive permalink

Die kurze Antwort lautet - Sie können nicht. Oder wirklich, es hat keinen Sinn.
Eine Verbindung zwischen zwei Computern über ein Kabel wird als "direkte Kabelverbindung" bezeichnet. Oder in Ihrem Fall " USB-Direktkabelverbindung". Das Problem ist, dass USB auch Strom liefert und Sie nicht zwei USB-Hosts miteinander verbinden können. Wenn Sie das tun, benötigen Sie ein Raumkabel, bei dem es sich tatsächlich um zwei USB-Netzwerkadapter handelt, die miteinander verbunden sind (im Extremfall).
Es hat eigentlich keinen Sinn.

Sie könnten Verwenden Sie einen USB-zu-UART-Anschluss und verbinden Sie diesen mit dem GPIO (was ich hier versucht habe). Dies wäre eine serielle Kommunikation. Führen Sie dann die folgenden Schritte aus:

  1. Verbinden Sie die TX- und RX-Pins von der seriellen Schnittstelle mit dem PI.
  2. Verbinden Sie die Erdungsstifte des Der serielle Anschluss und der PI
    Diagaram lauten wie folgt:
    Pin Diagram

    li
  3. ​​Führen Sie dies im PC-Terminal aus: screen / dev / ttyUSB0 115200
  4. Schalten Sie den PI ein (Sie müssen ihn einschalten, wenn die serielle Schnittstelle angeschlossen ist und minicom ausgeführt wird, andernfalls wird keine Ausgabe angezeigt).

  5. Sie sollten jetzt die Startsequenz in Ihrem Terminal sehen, gefolgt von einem Anmeldebildschirm.
  6. ol>

    Oder Sie können mit / dev / ttyAMA0 Gerät auf dem PI und (normalerweise) das / dev / ttyUSB0 Gerät auf dem PC.

Vielen Dank für die Anleitung, die Sie veröffentlicht haben. Ich habe mich gefragt, ob Sie näher erläutern können, was Sie unter "Es hat keinen Sinn" verstehen, über die Host-zu-Host-Konfiguration vom PC zum Pi zu kommunizieren. Es ist möglich, zwischen ihnen mithilfe von zu kommunizieren Ein spezielles Host-zu-Host-Kabel, oder? Ich habe darüber nachgedacht, das gesamte Senden / Empfangen von Daten kopflos auf dem Pi auszuführen, was bedeutet, dass die Ports gesendet werden, um nach dem Booten auf eingehende Daten zu "warten". Da ich neu bin Beim Schreiben von Skripten habe ich mich gefragt, ob Tutorials verfügbar sind, um die oben genannten Kommunikationsmethoden auszuführen, ohne auf das Terminal zuzugreifen.
Eine USB-Verbindung entspricht dem Verbinden von Ethernet-Ports zwischen zwei Computern. Wenn Sie versuchen, ein Netzwerk zu vermeiden, hilft Ihnen USB nicht weiter, da eine direkte USB-Kabelverbindung eine Netzwerkverbindung impliziert. Es ist kein "Host-zu-Host", sondern ein "Host-Netzwerk-Adapter-Netzwerk-Adapter-Host". Wenn Sie ohne Zugriff auf das Terminal kommunizieren möchten, können Sie entweder die serielle Schnittstelle wie oben beschrieben verwenden `/ dev / ttyAMA0` und [pySerial] (http://pyserial.sourceforge.net/shortintro.html). Oder das Netzwerk mit so etwas wie [Socket] (http://docs.python.org/2/howto/sockets.html).
#2
  0
Butters
2013-06-04 21:02:49 UTC
view on stackexchange narkive permalink

Warum nicht eine serielle Verbindung über die RX / TX-GPIO-Pins oder SSH mit einer Netzwerkverbindung verwenden? Sie sollten in der Lage sein, das zu erreichen, wonach Sie suchen, solange es keinen Grund gibt, warum Sie diese Methoden nicht verwenden. Beides kann kopflos erfolgen, solange auf dem Pi das richtige Poller- oder Listener-Skript ausgeführt wird.

Der Code, der dies unterstützt, ist je nach gewünschter Aufgabe und verwendeter Sprache unterschiedlich sollte ziemlich einfach zu schreiben sein.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...