import zmq,json # def __send_tcp_message(socket, msg): # socket.send_string(json.dumps(msg, ensure_ascii=False)) # rep = socket.recv() # str_msg = rep.decode("utf-8") # json_msg = json.loads(str_msg) # return json_msg # LISTEN_REQ = "tcp://127.0.0.1:54543" # SET_REQ = "tcp://127.0.0.1:54544" # context = zmq.Context() # req_socket = context.socket(zmq.REQ) # # 设置发送超时为 5000 毫秒(5 秒) # req_socket.setsockopt(zmq.RCVTIMEO, 2 * 1000) # # 设置接收超时为 5000 毫秒(5 秒) # req_socket.setsockopt(zmq.SNDTIMEO, 2 * 1000) # req_socket.setsockopt(zmq.LINGER, 0) # 设置为 0 表示不等待未完成的操作 # req_socket.connect(SET_REQ) # req = {} # req["msg_type"] = "Request" # req["msg_id"] = "GetCamera" # req["msg_seq_num"] = 0 # req["CameraSelection"] = "Single" # req["CameraKey"] = "Canon Inc.|Canon EOS 650D|12" # json_msg = __send_tcp_message(req_socket,req) # cameraInfo = json_msg.get("CameraInfo") # print("cameraInfo",json_msg) import zmq, json import asyncio, settings # # ... existing code ... from mcu.capture.smart_shooter_class import SmartShooter async def main(): sm = SmartShooter(None) await sm.GetCameraInfo() if __name__ == "__main__": asyncio.run(main())