|
@@ -41,7 +41,7 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
json_msg = json.loads(str_msg)
|
|
json_msg = json.loads(str_msg)
|
|
|
return json_msg
|
|
return json_msg
|
|
|
|
|
|
|
|
- def __create_req(self,time_out=5) -> tuple[zmq.Socket, zmq.Context]:
|
|
|
|
|
|
|
+ def __create_req(self, time_out=5) -> tuple[zmq.Socket, zmq.Context]:
|
|
|
context = zmq.Context()
|
|
context = zmq.Context()
|
|
|
req_socket = context.socket(zmq.REQ)
|
|
req_socket = context.socket(zmq.REQ)
|
|
|
# 设置发送超时为 5000 毫秒(5 秒)
|
|
# 设置发送超时为 5000 毫秒(5 秒)
|
|
@@ -84,15 +84,15 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
msg_send = "相机未连接或软件未打开"
|
|
msg_send = "相机未连接或软件未打开"
|
|
|
if is_send:
|
|
if is_send:
|
|
|
message = {
|
|
message = {
|
|
|
- "code": 1,
|
|
|
|
|
- "msg": msg_send,
|
|
|
|
|
- "data": msg_result,
|
|
|
|
|
- "msg_type": self.msg_type,
|
|
|
|
|
- "device_status": -1,
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ "code": 1,
|
|
|
|
|
+ "msg": msg_send,
|
|
|
|
|
+ "data": msg_result,
|
|
|
|
|
+ "msg_type": self.msg_type,
|
|
|
|
|
+ "device_status": -1,
|
|
|
|
|
+ }
|
|
|
await self.websocket_manager.send_personal_message(
|
|
await self.websocket_manager.send_personal_message(
|
|
|
- message, self.websocket
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ message, self.websocket
|
|
|
|
|
+ )
|
|
|
return False, msg_send
|
|
return False, msg_send
|
|
|
cameraInfo = json_msg.get("CameraInfo")
|
|
cameraInfo = json_msg.get("CameraInfo")
|
|
|
if cameraInfo == None or len(cameraInfo) == 0:
|
|
if cameraInfo == None or len(cameraInfo) == 0:
|
|
@@ -100,50 +100,50 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
msg_send = "相机未连接"
|
|
msg_send = "相机未连接"
|
|
|
if is_send:
|
|
if is_send:
|
|
|
message = {
|
|
message = {
|
|
|
- "code": 1,
|
|
|
|
|
- "msg": msg_send,
|
|
|
|
|
- "data": msg_result,
|
|
|
|
|
- "msg_type": self.msg_type,
|
|
|
|
|
- "device_status": -1,
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ "code": 1,
|
|
|
|
|
+ "msg": msg_send,
|
|
|
|
|
+ "data": msg_result,
|
|
|
|
|
+ "msg_type": self.msg_type,
|
|
|
|
|
+ "device_status": -1,
|
|
|
|
|
+ }
|
|
|
await self.websocket_manager.send_personal_message(
|
|
await self.websocket_manager.send_personal_message(
|
|
|
- message, self.websocket
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ message, self.websocket
|
|
|
|
|
+ )
|
|
|
return False, "相机未连接"
|
|
return False, "相机未连接"
|
|
|
# 链接的相机
|
|
# 链接的相机
|
|
|
# connect_camera = cameraInfo
|
|
# connect_camera = cameraInfo
|
|
|
CameraStatus = any(
|
|
CameraStatus = any(
|
|
|
- item.get("CameraStatus") in ["Ready", "Busy"] for item in cameraInfo
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ item.get("CameraStatus") in ["Ready", "Busy"] for item in cameraInfo
|
|
|
|
|
+ )
|
|
|
# CameraStatus = connect_camera.get("CameraStatus")
|
|
# CameraStatus = connect_camera.get("CameraStatus")
|
|
|
if not CameraStatus:
|
|
if not CameraStatus:
|
|
|
self.connect_status = False
|
|
self.connect_status = False
|
|
|
msg_send = "相机未连接"
|
|
msg_send = "相机未连接"
|
|
|
if is_send:
|
|
if is_send:
|
|
|
message = {
|
|
message = {
|
|
|
- "code": 1,
|
|
|
|
|
- "msg": msg_send,
|
|
|
|
|
- "data": msg_result,
|
|
|
|
|
- "msg_type": self.msg_type,
|
|
|
|
|
- "device_status": -1,
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ "code": 1,
|
|
|
|
|
+ "msg": msg_send,
|
|
|
|
|
+ "data": msg_result,
|
|
|
|
|
+ "msg_type": self.msg_type,
|
|
|
|
|
+ "device_status": -1,
|
|
|
|
|
+ }
|
|
|
await self.websocket_manager.send_personal_message(
|
|
await self.websocket_manager.send_personal_message(
|
|
|
- message, self.websocket
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ message, self.websocket
|
|
|
|
|
+ )
|
|
|
return False, msg_send
|
|
return False, msg_send
|
|
|
self.connect_status = True
|
|
self.connect_status = True
|
|
|
msg_send = "相机已连接"
|
|
msg_send = "相机已连接"
|
|
|
if is_send:
|
|
if is_send:
|
|
|
message = {
|
|
message = {
|
|
|
- "code": 0,
|
|
|
|
|
- "msg": msg_send,
|
|
|
|
|
- "data": msg_result,
|
|
|
|
|
- "msg_type": self.msg_type,
|
|
|
|
|
- "device_status": 2,
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ "code": 0,
|
|
|
|
|
+ "msg": msg_send,
|
|
|
|
|
+ "data": msg_result,
|
|
|
|
|
+ "msg_type": self.msg_type,
|
|
|
|
|
+ "device_status": 2,
|
|
|
|
|
+ }
|
|
|
await self.websocket_manager.send_personal_message(
|
|
await self.websocket_manager.send_personal_message(
|
|
|
- message, self.websocket
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ message, self.websocket
|
|
|
|
|
+ )
|
|
|
return True, "相机已连接"
|
|
return True, "相机已连接"
|
|
|
except zmq.Again:
|
|
except zmq.Again:
|
|
|
print("获取相机信息超时,继续监听...")
|
|
print("获取相机信息超时,继续监听...")
|
|
@@ -161,7 +161,7 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
)
|
|
)
|
|
|
return False, msg_send
|
|
return False, msg_send
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
|
- print("拍照异常",e)
|
|
|
|
|
|
|
+ print("拍照异常", e)
|
|
|
self.connect_status = False
|
|
self.connect_status = False
|
|
|
socket.close()
|
|
socket.close()
|
|
|
context.term()
|
|
context.term()
|
|
@@ -261,7 +261,7 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
context.term()
|
|
context.term()
|
|
|
return False, "相机未连接或软件未打开"
|
|
return False, "相机未连接或软件未打开"
|
|
|
|
|
|
|
|
- async def CameraShooter(self, msg_type="", goods_art_no="", id=0,is_af=False):
|
|
|
|
|
|
|
+ async def CameraShooter(self, msg_type="", goods_art_no="", id=0, is_af=False):
|
|
|
# 对焦混用
|
|
# 对焦混用
|
|
|
if is_af:
|
|
if is_af:
|
|
|
await self.CameraAutofocus()
|
|
await self.CameraAutofocus()
|
|
@@ -270,10 +270,10 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
"""
|
|
"""
|
|
|
执行拍照
|
|
执行拍照
|
|
|
"""
|
|
"""
|
|
|
- # camera_states, _ = await self.GetCameraInfo(is_send=False)
|
|
|
|
|
- # print("camera_states CameraShooter", camera_states)
|
|
|
|
|
- # if not camera_states:
|
|
|
|
|
- # return False, "请先连接相机"
|
|
|
|
|
|
|
+ camera_states, _ = await self.GetCameraInfo(is_send=True)
|
|
|
|
|
+ print("camera_states CameraShooter", camera_states)
|
|
|
|
|
+ if not camera_states:
|
|
|
|
|
+ return False, "请先连接相机"
|
|
|
try:
|
|
try:
|
|
|
socket, context = self.__create_req()
|
|
socket, context = self.__create_req()
|
|
|
req = {}
|
|
req = {}
|
|
@@ -310,10 +310,27 @@ class SmartShooter(metaclass=SingletonType):
|
|
|
"msg_type": self.msg_type,
|
|
"msg_type": self.msg_type,
|
|
|
"device_status": 2,
|
|
"device_status": 2,
|
|
|
}
|
|
}
|
|
|
|
|
+ msg_send = "相机未连接或软件未打开"
|
|
|
|
|
+ message = {
|
|
|
|
|
+ "code": 1,
|
|
|
|
|
+ "msg": msg_send,
|
|
|
|
|
+ "data": None,
|
|
|
|
|
+ "msg_type": self.msg_type,
|
|
|
|
|
+ "device_status": -1,
|
|
|
|
|
+ }
|
|
|
await self.websocket_manager.send_personal_message(message, self.websocket)
|
|
await self.websocket_manager.send_personal_message(message, self.websocket)
|
|
|
return True, "拍照成功"
|
|
return True, "拍照成功"
|
|
|
except zmq.Again:
|
|
except zmq.Again:
|
|
|
- print("拍照超时,继续监听...")
|
|
|
|
|
|
|
+ msg_send = "相机未连接或软件未打开"
|
|
|
|
|
+ message = {
|
|
|
|
|
+ "code": 1,
|
|
|
|
|
+ "msg": msg_send,
|
|
|
|
|
+ "data": {goods_art_no: goods_art_no, "id": id},
|
|
|
|
|
+ "msg_type": self.msg_type,
|
|
|
|
|
+ "device_status": -1,
|
|
|
|
|
+ }
|
|
|
|
|
+ await self.websocket_manager.send_personal_message(message, self.websocket)
|
|
|
|
|
+ return True, "拍照失败"
|
|
|
except:
|
|
except:
|
|
|
socket.close()
|
|
socket.close()
|
|
|
context.term()
|
|
context.term()
|