Camera scripts
Change-Id: Idb5a5d8bae420a095906f22874f2bb90f56639e5
diff --git a/camera/openvino-mqtt.py b/camera/openvino-mqtt.py
new file mode 100644
index 0000000..836f513
--- /dev/null
+++ b/camera/openvino-mqtt.py
@@ -0,0 +1,49 @@
+import paho.mqtt.client as mqtt
+import time
+import os
+import sys
+
+class Mqtt:
+
+ def __init__(self, ip, port):
+ self.topic = "camera/" + port
+ self.ip = ip
+ self.client = mqtt.Client()
+ self.client.on_connect = self.on_connect
+ self.client.on_message = self.on_message
+
+ # The callback for when the client receives a CONNACK response from the server.
+ def on_connect(self, client, userdata, flags, rc):
+ print("Connected to {} with result code ".format(self.ip, str(rc)))
+ # Subscribing in on_connect() means that if we lose the connection and
+ # reconnect then subscriptions will be renewed.
+ client.subscribe(self.topic)
+
+ # The callback for when a PUBLISH message is received from the server.
+ def on_message(self, client, userdata, msg):
+ cmd = msg.payload.decode()
+ print(msg.topic+" "+cmd)
+ if cmd == "high":
+ print("Change to high resolution")
+ os.system("sudo systemctl stop openvino-camera@low.service")
+ os.system("sudo systemctl start openvino-camera@high.service")
+ elif cmd == "low":
+ print("Change to low resolution")
+ os.system("sudo systemctl stop openvino-camera@high.service")
+ os.system("sudo systemctl start openvino-camera@low.service")
+ else:
+ print("Unknown cmd: " + cmd)
+
+ def start(self):
+ while True:
+ try:
+ self.client.connect(self.ip)
+ except:
+ time.sleep(1)
+ continue
+ break
+ self.client.loop_forever()
+
+if __name__ == '__main__':
+ mqtt = Mqtt(sys.argv[1], sys.argv[2])
+ mqtt.start()