Hallo, ich möchte gerne auf dem RaspberryPi eine LED über telnet
ansteuern.
Dazu habe ich dieses Script gefunden:
http://stackoverflow.com/questions/39973653/python-socket-programming-and-led-interfacing
1 | #!/usr/bin/python # This is server.py file
|
2 | import socket # Import socket module
|
3 |
|
4 | def led_blink(msg):
|
5 | print "got msg", msg # Debug msg
|
6 |
|
7 | s = socket.socket() # Create a socket object
|
8 | host = "127.0.0.1" # Get local machine name
|
9 | port = 12345 # Port
|
10 | s.bind((host, port)) # Bind to the port
|
11 | s.listen(5) # Now wait for client connection.
|
12 | print "Listening"
|
13 | c, addr = s.accept() # Establish connection with client.
|
14 | while True:
|
15 | msg = c.recv(1024)
|
16 | print 'Got connection from', addr
|
17 | if msg == "Exit":
|
18 | break
|
19 | led_blink(msg)
|
20 | c.close()
|
Ich kann damit die Verbindung zum RasPi herstellen, aber wenn ich den
Code richtig verstehe, sollte das senden von "Exit" den Server beenden.
Das tut er aber nicht, er bleibt immer im Empfangsmodus.
Wenn man den Server manuell mit CTRL-C beendet, ist der Port beim
nächsten Start blockiert und man muss einen anderen nehmen.
Weiß jemand Rat?