網絡繼電器配置如下:
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("開門成功")