import glog, signal from tofManager import * import SDK.ZX.async_communication as cm import SDK.ZX.async_communication_etc_pb2 as rce import SDK.ZX.tool as zx_tool if __name__ == '__main__': # 加载配置 rabbitmq_etc = zx_tool.getProtobufJsonConfig(os.path.dirname(os.path.abspath(__file__)) + "/etc/rabbitmq.json", rce.RabbitmqEtc()) print(rabbitmq_etc) g_rabbitmq = cm.RabbitAsyncCommunicator(rabbitmq_etc.ip, rabbitmq_etc.port, rabbitmq_etc.user, rabbitmq_etc.password) statu_ex_keys = [] for bind in rabbitmq_etc.binds: key = [] key.append(bind.ex) key.append(bind.route_key) statu_ex_keys.append(key) # 初始化 g_rabbitmq.Init(None, statu_ex_keys) g_rabbitmq.start() tofs = TofManager() tofs.searchAllCamera() etc = tofs.getAllCameraEtc() tofs.openCamera(0) tofs.startAllCameraStream() # 绑定rabbitmq g_rabbitmq.bind_statu_callback(statu_ex_keys[0][0], statu_ex_keys[0][1], tofs.exec) g_rabbitmq.publish(statu_ex_keys[0][0], statu_ex_keys[0][1], "cao") # 释放 tofs.stopAllCameraStream() tofs.closeAllCamera() # 强制结束进程 pid = os.getpid() os.kill(pid, 1)