- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 12

Thema: RP6 über Seriellen Port mit Python connecten

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    28.05.2010
    Beiträge
    19

    RP6 über Seriellen Port mit Python connecten

    Hi,
    ich hab ein kleines Problem. Ich würde gerne eine Zeichen vom PC und zwar mit Python an den RP6 schicken. Hab mir nun PySerial heruntergeladen. Dann hab ich im Gerätemanager nachgeschaut welcher Port mein RP6 ist. Das war COM8. Also hab ich einfach mal dieses kleine Script für Python geschrieben:

    Code:
    import serial              # Das ist diese PySerial Library
    ser = serial.Serial(7)   # Öffnet COM8
    print ser.portstr         # Das echot, dass es mit COM8 verbunden ist
    ser.write("G")            # Sendet ein "G"
    ser.close()                 # schließt den PORT
    So nun hab ich auf dem RP6 ein Programm, welches wenn eine Nachricht ankommt, eine LED leuchten lässt. Wenn ich über dieses Terminal vom dem RP6 Loader etwas sende, dann funktioniert das auch. Aber ich möchte es ja über Python machen. Doch hier geht das nicht, sondern der RP6 restartet sich.

    Ich hoffe ihr könnt mir helfen.

    Viele Grüße
    Johannes

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Beim RP6 dient das Steuersignal RTS der seriellen Schnittstelle als "Resetleitung" für den Mega32. Deshalb muss an der Schnittstelle RTS gesetzt werden.

    https://www.roboternetz.de/community...-PC-ansprechen

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    28.05.2010
    Beiträge
    19
    Danke für deine Antwort. Hab jetzt ein bisschen rumprobiert und dann auch in der PySerial API nachgelesen, wie man dieses RTS aktiviert. Das funktioniert mit dem Befehl: rtscts – Enable hardware (RTS/CTS) flow control. Hab das dann mal reingeschrieben:
    Code:
    import serial              # Das ist diese PySerial Library 
    ser = serial.Serial(7, rtscts=1)   # Öffnet COM8 
    print ser.portstr         # Das echot, dass es mit COM8 verbunden ist 
    ser.write("G")            # Sendet ein "G" 
    ser.close()                 # schließt den PORT
    Leider hab ich aber immernoch das gleiche Problem, wie vorher.

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Es geht hier nicht um die Flusskontrolle beim Senden der Zeichen. Diese muss immer ausgeschaltet sein. Vielmehr geht es um ein andauerndes Setzen der Steuerleitung:

    Code:
    setRTS(level=True)¶
        Parameters:	
    
            * level – Set control line to logic level.
    
        Set RTS line to specified logic level.
    (Aus der oben erwähnten API)

    Ob True oder False kann ich nicht sicher sagen, ich tippe auf True. Aber ich vermute, ein kleiner Test bringt dich schnell weiter.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    28.05.2010
    Beiträge
    19
    Funktioniert damit auch nicht

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Grrr! Zeig doch mal, wie du es jetzt eingebaut hast. rtscts=1 muss natürlich wieder raus. Wo und wie werden die anderen Schnittstellenparameter eingestellt: 38400 Baud, 8 Datenbits, 1 Stopbit, keine Parityprüfung und keine Flusskontrolle
    Geändert von radbruch (15.01.2012 um 21:59 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. Timeout beim connecten
    Von headnut im Forum Robby RP6
    Antworten: 2
    Letzter Beitrag: 19.06.2010, 19:33
  2. Mit PonyProg über Seriellen Port nach RS232
    Von SephiKnight im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 29.04.2008, 21:45
  3. Übertragung von seriellen TTL-Signalen über 15m Kabel
    Von Dane im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 25.01.2006, 19:24
  4. [ERLEDIGT] Seriellen/Parallelen oder USB-Port in C ansprechen und ausle
    Von im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 10.02.2005, 16:59
  5. [ERLEDIGT] Relais über USB, den Seriellen- oder Parallen-Port Schalten
    Von DJFELIX im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 21.01.2005, 21:22

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress