python控制網絡繼電器

網絡繼電器配置如下:

1. 搜索局域網網絡設備

 

 2. 參數配置&寫入配置

 這裏網絡繼電器作爲服務端。客戶端通過socket建立鏈接併發送開關指令(socket對接即可。mqtt根據需求配置(高版本mqtt協議不支持)))

 

import socket


def open_door(rely_host="", rely_port=12345, channel_id=0, timeout=5):
    try:
        client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        client.settimeout(0.5)
        client.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        client.connect((rely_host, rely_port))
        print(f"控制繼電器通道{channel_id}開端口發送吸合發送:AT+STACH{channel_id}=1,{timeout}\\r\\n")
        cmd = f"AT+STACH{channel_id}=1,{timeout}\r\n"
        client.send(cmd.encode())
        print(client.recv(BUFF_SIZE).decode())
    except Exception as e:
        print(e)
        return False
    else:
        client.close()
        print("Socket關閉")
        return True


if __name__ == '__main__':
    """
    數據庫邏輯微調
    1. 繼電器初始化配置
    2. 繼電器開啓超時時間
    3. MQTT僅支持低版本
    rely_host: 繼電器ip
    rely_port: 繼電器端口,默認12345
    channel_id: 繼電器通道口,默認爲0表示所有
    timeout: 開門->閉合超時時間
    """
    HOST = "192.168.2.199"
    PORT = 12345
    BUFF_SIZE = 1024

# 表示通道一開門。3秒後關閉 status = open_door(rely_host=HOST, rely_port=PORT, channel_id=1, timeout=3) if not status: print("開門失敗") else: print("開門成功")

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章