run_production.py 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import os, sys
  4. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  5. sys.path.insert(0, PROJECT_ROOT)
  6. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'configs.production')
  7. from script.base import init_env
  8. init_env(interactive = False)
  9. import threading
  10. from apps.web.device.models import Device
  11. from script.simulator.cell import CellDevice
  12. from script.simulator.dianchuan import DianchuanDevice
  13. from script.simulator.hp_access import HPAccessDevice
  14. from script.simulator.jh_access import JHAccessDevice
  15. from script.simulator.pulse_device import PulseDevice
  16. from script.simulator.pulse_device_boardhigh import PulseDeviceHigh
  17. from script.simulator.pulse_device_quickcharge import PulseDeviceQuickCharge
  18. from script.simulator.yongxin import YongxinDevice
  19. from script.simulator.zhiyangji import ZhiyangjiDevice
  20. from script.simulator.anhuizhitong import AHZTDevice
  21. imei_list = {
  22. 'DUMMY_CELL': ('DUMMY_CELL_IMEI', CellDevice),
  23. 'DUMMY_DIANCHUAN': ('DUMMY_DIANCHUAN_IMEI', DianchuanDevice),
  24. 'DUMMY_HP_ACCESS': ('DUMMY_HP_ACCESS_IMEI', HPAccessDevice),
  25. 'DUMMY_JH_ACCESS': ('DUMMY_JH_ACCESS_IMEI', JHAccessDevice),
  26. 'DUMMY_PULSE': ('DUMMY_PULSE_IMEI', PulseDevice),
  27. 'DUMMY_PULSE_FLB': ('DUMMY_PULSE_FLB_IMEI', PulseDevice),
  28. 'DUMMY_BOARD_HIGH': ('DUMMY_BOARD_HIGH_IMEI', PulseDeviceHigh),
  29. 'DUMMY_QUICK_CHARGE': ('DUMMY_QUICK_CHARGE_IMEI', PulseDeviceQuickCharge),
  30. 'DUMMY_YONGXIN': ('DUMMY_YONGXIN_IMEI', YongxinDevice),
  31. 'DUMMY_ZHIYANGJI': ('DUMMY_ZHIYANGJI_IMEI', ZhiyangjiDevice),
  32. 'DUMMY_AHZT': ('DUMMY_AHZT_IMEI', AHZTDevice)
  33. }
  34. mqtt_server = '120.27.251.159'
  35. mqtt_port = 1883
  36. mqtt_user = '20160528@vivestone'
  37. mqtt_pwd = 'j429QXqI5CTv'
  38. class myThread(threading.Thread):
  39. def __init__(self, mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei, simulator_cls):
  40. threading.Thread.__init__(self)
  41. self.mqtt_server = mqtt_server
  42. self.mqtt_port = mqtt_port
  43. self.mqtt_user = mqtt_user
  44. self.mqtt_pwd = mqtt_pwd
  45. self.imei = imei
  46. self.simulator_cls = simulator_cls
  47. self.setDaemon(True)
  48. def run(self):
  49. self.simulator_cls(self.mqtt_server, self.mqtt_port, self.mqtt_user, self.mqtt_pwd, self.imei).start()
  50. if __name__ == '__main__':
  51. for l, item in imei_list.iteritems():
  52. dev_no = item[0]
  53. simulator_cls = item[1]
  54. dev = Device.get_dev(dev_no) # type: Device
  55. if not dev:
  56. Device.bind(dev_no, l)
  57. myThread(mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, dev_no, simulator_cls).start()
  58. import time
  59. while (True):
  60. time.sleep(10)