def __init__(self, camera, settings_file = None): # Gettings settings from settings file if not settings_file: try: self.settings = json.load (open (proto_base_path + "/src/communication/Video_Settings.json", "r")) except: self.debug.print_d ("Video_settings.json is not in json format!") sys.exit () else: try: self.settings = json.load (open (settings_file, "r")) except: self.debug.print_d ("Specified file [{sfile}] doesn't exist or is not in json format!".format (sfile = settings_file)) sys.exit () context = zmq.Context () self.debug = debugging () # ZMQ Settings self.confirmer = context.socket (zmq.PUB) #self.confirmer.setsockopt (zmq.SNDTIMEO, 5000) self.confirmer.bind ("tcp://" + self.settings["Reciever_IP"] + ":" + self.settings["Reciever_Port"]) self.reciever = context.socket (zmq.SUB) self.reciever.setsockopt (zmq.SUBSCRIBE, "") #self.reciever.setsockopt (zmq.RCVTIMEO, 5000) self.reciever.connect ("tcp://" + self.settings["Server_IP"] + ":" + self.settings["Server_Port"]) com = communicator ("Pinger_Base") self.pinger = passive_pinger (communicator=com) self.pinger.daemon = True self.pinger.start ()
def main (): com = communicator ("Motors", settings_file="canned_communication_settings.json", debug=True) i = 0 while True: msg = com.get_message ("Direction") raw_msg = com.get_message ("Direction", raw=True) com.send_message ("Oh no we forgot the motors!!") print msg print raw_msg sleep (0.5)
def main (): com = communicator ("Logger", settings_file="canned_communication_settings.json", debug=True) #logger = open ("proto2.log", 'w') while True: for module in com.get_listening_to (): msg = com.get_message (module) raw_msg = com.get_message (module) print msg print raw_msg #logger.write (str (msg) + '\n') sleep (1)
def main(): com = communicator("Direction", settings_file="canned_communication_settings.json", debug=True) print com.get_listening_to() i = 0 while True: msg = "Hi " + str(i) com.send_message(msg) com.send_message_raw(str(time())) print msg sleep(0.2) i += 1
def __init__(self, camera, settings_file = None): # Gettings settings from settings file if not settings_file: try: self.settings = json.load (open (proto_base_path + "/src/communication/Video_Settings.json", "r")) except: self.debug.print_d ("Video_Settings.json is not in json format!") sys.exit () else: try: self.settings = json.load (open (settings_file, "r")) except: self.debug.print_d ("Specified file [{sfile}] doesn't exist or is not in json format!".format (sfile = settings_file)) sys.exit () context = zmq.Context () self.debug = debugging () # Camera Settings self.cap = cv2.VideoCapture (self.settings[camera]["Index"]) self.cap.set (cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, self.settings[camera]["Height"]) self.cap.set (cv2.cv.CV_CAP_PROP_FRAME_WIDTH, self.settings[camera]["Width"]) self.cap.set (cv2.cv.CV_CAP_PROP_FPS, self.settings[camera]["FPS"]) self.cap.set (cv2.cv.CV_CAP_PROP_FOURCC, cv2.cv.CV_FOURCC (str (self.settings[camera]["Codec"][0]), str (self.settings[camera]["Codec"][1]), str (self.settings[camera]["Codec"][2]), str (self.settings[camera]["Codec"][3]))) # ZMQ Settings self.server = context.socket (zmq.PUB) self.server.setsockopt (zmq.HWM, self.settings[camera]["HWM"]) #self.server.setsockopt (zmq.SNDTIMEO, 5000) self.server.bind ("tcp://" + self.settings["Server_IP"] + ":" + self.settings["Server_Port"]) self.confirmer = context.socket (zmq.SUB) self.confirmer.setsockopt (zmq.SUBSCRIBE, "") #self.confirmer.setsockopt (zmq.RCVTIMEO, 5000) self.confirmer.connect ("tcp://" + self.settings["Reciever_IP"] + ":" + self.settings["Reciever_Port"]) com = communicator ("Pinger_Copter") self.pinger = passive_pinger (communicator=com) self.pinger.daemon = True self.pinger.start () self.msg = "Ready!"