modify_debug.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import os
  4. import sys
  5. import uuid
  6. from django.conf import settings
  7. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  8. sys.path.insert(0, PROJECT_ROOT)
  9. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'configs.production')
  10. from script.base import init_env
  11. init_env(False)
  12. from apps.web.device.models import Device
  13. from apps.web.core.networking import MessageSender
  14. from apps.web.constant import Const
  15. from apps.web.core.mqtt_client import MqttClient
  16. import simplejson as json
  17. mqttc1883 = None
  18. mqttc1884 = None
  19. try:
  20. def on_connect(client, userdata, flags, rc):
  21. pass
  22. def on_message(mqttc, obj, msg):
  23. # type: (MqttClient, object, json)->None
  24. imei = msg.topic.split('/')[1]
  25. device = Device.get_dev(imei)
  26. if device['driverCode'] == '900100':
  27. return
  28. MessageSender.send(device, 202, {'debug': False})
  29. def on_disconnect(client, userdata, self):
  30. print('exit. client = %s' % str(client))
  31. mqttc1883 = MqttClient(client_id = 'webapp_' + str(uuid.uuid1()))
  32. try:
  33. mqttc1883.on_message = on_message
  34. mqttc1883.on_connect = on_connect
  35. mqttc1883.on_disconnect = on_disconnect
  36. mqttc1883.username_pw_set(settings.MQTT_USER, settings.MQTT_PSWD)
  37. mqttc1883.connect(settings.MQTT_HOSTNAME, 1883, 60)
  38. mqttc1883.subscribe('server/+/log', Const.MQTT_QOS)
  39. mqttc1883.loop_forever()
  40. except Exception as e:
  41. print(e)
  42. mqttc1884 = MqttClient(client_id = 'webapp_' + str(uuid.uuid1()))
  43. try:
  44. mqttc1884.on_message = on_message
  45. mqttc1884.on_connect = on_connect
  46. mqttc1884.on_disconnect = on_disconnect
  47. mqttc1884.username_pw_set(settings.MQTT_USER, settings.MQTT_PSWD)
  48. mqttc1884.connect(settings.MQTT_HOSTNAME, 1884, 60)
  49. mqttc1884.subscribe('server/+/log', Const.MQTT_QOS)
  50. mqttc1884.loop_forever()
  51. except Exception as e:
  52. print(e)
  53. finally:
  54. if mqttc1883:
  55. mqttc1883.loop_stop()
  56. mqttc1883.disconnect()
  57. mqttc1883.close()
  58. if mqttc1884:
  59. mqttc1884.loop_stop()
  60. mqttc1884.disconnect()
  61. mqttc1884.close()
  62. print('finished')