pulse_device_quickcharge.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import threading
  4. from smart_box import SimulatorSmartBox
  5. class PulseDeviceQuickCharge(SimulatorSmartBox):
  6. POWER_1_STATE = 1
  7. POWER_2_STATE = 0
  8. def __init__(self, mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei):
  9. super(PulseDeviceQuickCharge, self).__init__(mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei)
  10. @property
  11. def device_extend_info(self):
  12. return {
  13. 'driverCode': '100000',
  14. 'driverVersion': 'v1.0.0',
  15. 'power1': self.POWER_1_STATE,
  16. 'power2': self.POWER_2_STATE
  17. }
  18. def do_message(self, cmd, payload):
  19. # type: (int, dict)->None
  20. if cmd == 203:
  21. if self.device_extend_info['power{}'.format(payload['port'])] == 1:
  22. return self.publish_message(
  23. cmd = cmd,
  24. payload = {
  25. 'cmd': cmd,
  26. 'IMEI': self.imei,
  27. 'rst': 100
  28. })
  29. else:
  30. return self.publish_message(
  31. cmd = cmd,
  32. payload = {
  33. 'cmd': cmd,
  34. 'IMEI': self.imei,
  35. 'rst': 0
  36. })
  37. super(PulseDeviceQuickCharge, self).do_message(cmd, payload)
  38. class myThread(threading.Thread):
  39. def __init__(self, mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei):
  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.setDaemon(True)
  47. def run(self):
  48. PulseDeviceQuickCharge(self.mqtt_server, self.mqtt_port, self.mqtt_user, self.mqtt_pwd, self.imei).start()
  49. if __name__ == '__main__':
  50. imei_list = {
  51. 'DUMMY_QUICK_CHARGE': 'DUMMY_QUICK_CHARGE_IMEI'
  52. }
  53. mqtt_server = '211.159.224.10'
  54. mqtt_port = 1883
  55. mqtt_user = '20160528@vivestone'
  56. mqtt_pwd = 'j429QXqI5CTv'
  57. for imei in imei_list.values():
  58. myThread(mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei).start()
  59. import time
  60. while (True):
  61. time.sleep(10)