import sys
from uuid import getnode as get_mac
import ast
+import threading
MQTT_SERVER = 'mqtt.suanzi.ai'
MQTT_PORT = 1883
payload = {'from':userdata['id'], 'type':'request', 'command':'ssh'}
client.publish(userdata['to'], str(payload))
elif userdata['action'] == 'list':
+ timer = threading.Timer(5, timeout)
+ timer.start()
payload = {'from':userdata['id'], 'type':'request', 'command':'list'}
client.publish(userdata['to'], str(payload))
payload = ast.literal_eval(str(msg.payload))
from_id = payload['from']
if payload['type'] == 'response':
+ print payload['command']
if payload['command'] == 'ssh':
port = payload['data']
print 'run "ssh ' + URI + ' -p ' + str(port) + '" to connect to device (%s)' % from_id
+ client.disconnect()
+ sys.exit(0)
elif payload['command'] == 'list':
print payload['from'], payload['data']
- client.disconnect()
- sys.exit(0)
-
-
def get_mac_str():
mac = hex(get_mac())
return '{:0>12}'.format(mac[2:-1])
+def timeout():
+ print 'timeout'
+ client.disconnect()
+ sys.exit(0)
+
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Choose an avaiable port and run ssh.')