Camera scripts

Change-Id: Idb5a5d8bae420a095906f22874f2bb90f56639e5
diff --git a/camera/openvino-camera.sh b/camera/openvino-camera.sh
new file mode 100644
index 0000000..08d8a79
--- /dev/null
+++ b/camera/openvino-camera.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+set -o errexit
+
+readonly LOG_FILE="/var/log/openvino-camera.txt"
+
+sudo touch $LOG_FILE
+exec 1>$LOG_FILE
+exec 2>&1
+
+echo $@
+
+if [ $1 = "low" ]; then
+    width="320"
+    height="240"
+else
+    width="640"
+    height="480"
+fi
+host="$2"
+port="$3"
+
+/usr/bin/gst-launch-1.0 rpicamsrc bitrate=1000000 ! video/x-h264,level=4,width=$width,height=$height,framerate=15/1 ! h264parse ! rtph264pay config-interval=10  pt=96 ! udpsink host=$host  port=$port
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()