Rename file and add readme
[remote-debug.git] / sztool
diff --git a/sztool b/sztool
new file mode 100755 (executable)
index 0000000..8a053d0
--- /dev/null
+++ b/sztool
@@ -0,0 +1,32 @@
+#!/usr/bin/env python2
+
+from subprocess import call, Popen, PIPE, STDOUT
+import paho.mqtt.client as mqtt
+import argparse
+
+MQTT_SERVER = 'mqtt.suanzi.ai'
+MQTT_PORT = 1883
+
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser(description='Choose an avaiable port and run autossh.')
+    parser.add_argument('-i', '--id', dest='id', help='the unique id of remote machine, such as rpdzkj-080027a6f8dc, where the rpdzkj is the user, and 080027a6f8dc is the mac addres', required=True)
+    args = parser.parse_args()
+    id = args.id
+
+    def on_connect(client, userdata, flags, rc):
+        client.subscribe(id + "-response")
+        print("Connected with result code "+str(rc))
+        client.publish(id + '-request', 0)
+
+    def on_message(client, userdata, msg):
+        print(msg.topic+" "+str(msg.payload))
+        if msg.topic == id + '-response':
+            port = msg.payload
+            print 'port is', str(port)
+            print 'run ssh debug@autossh.suanzi.ai -p ' + str(port) + ' to connect to  ' + id + ' device'
+
+    client = mqtt.Client()
+    client.on_connect = on_connect
+    client.on_message = on_message
+    client.connect(MQTT_SERVER, MQTT_PORT, 60)
+    client.loop_forever()