等待TCP连接时LED闪烁

2024-09-29 19:33:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的Raspberry Pi TCP服务器等待建立连接时闪烁LED。变速箱打开后,LED应保持点亮

此时,我的服务器如下所示:

connectioStatus = False
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((host, port))
s.listen()
While True: 
    try:
        led_connection_indicator(connectioStatus)
        clientSocket, address = s.accept()
        connectioStatus = True
        while True:
        measure and send data
    except ConnectionResetError:
        handle error
        connectioStatus = False

led连接指示灯功能如下所示:

def led_indicator(status):
if status is True:
    GPIO.output(Led, GPIO.HIGH)
else:
    while status is False:
        GPIO.output(Led, GPIO.HIGH)
        sleep(1)
        GPIO.output(Led, GPIO.LOW)
        sleep(1)
        if connectionStatus is True: break

当然,这根本不起作用,程序被困在while循环中。起初我认为将GPIO.HIGH和GPIO.LOW放在主While服务器循环中可以解决这个问题,但是程序停止在s。接受()

这是线程的工作吗?我试着用信号,但运气不好

我在Qt中为服务器编写了一个简单的TCP客户端。奇怪的是,在我从客户端连接到服务器之后,Qt中的套接字状态返回“QAbstractSocket::ConnectedState”,但没有收到任何数据


Tags: 服务器falsetrueoutputledgpioisstatus

热门问题