12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- # -*- coding: utf-8 -*-
- # !/usr/bin/env python
- import threading
- from smart_box import SimulatorSmartBox
- class PulseDeviceQuickCharge(SimulatorSmartBox):
- POWER_1_STATE = 1
- POWER_2_STATE = 0
- def __init__(self, mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei):
- super(PulseDeviceQuickCharge, self).__init__(mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei)
- @property
- def device_extend_info(self):
- return {
- 'driverCode': '100000',
- 'driverVersion': 'v1.0.0',
- 'power1': self.POWER_1_STATE,
- 'power2': self.POWER_2_STATE
- }
- def do_message(self, cmd, payload):
- # type: (int, dict)->None
- if cmd == 203:
- if self.device_extend_info['power{}'.format(payload['port'])] == 1:
- return self.publish_message(
- cmd = cmd,
- payload = {
- 'cmd': cmd,
- 'IMEI': self.imei,
- 'rst': 100
- })
- else:
- return self.publish_message(
- cmd = cmd,
- payload = {
- 'cmd': cmd,
- 'IMEI': self.imei,
- 'rst': 0
- })
- super(PulseDeviceQuickCharge, self).do_message(cmd, payload)
- class myThread(threading.Thread):
- def __init__(self, mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei):
- threading.Thread.__init__(self)
- self.mqtt_server = mqtt_server
- self.mqtt_port = mqtt_port
- self.mqtt_user = mqtt_user
- self.mqtt_pwd = mqtt_pwd
- self.imei = imei
- self.setDaemon(True)
- def run(self):
- PulseDeviceQuickCharge(self.mqtt_server, self.mqtt_port, self.mqtt_user, self.mqtt_pwd, self.imei).start()
- if __name__ == '__main__':
- imei_list = {
- 'DUMMY_QUICK_CHARGE': 'DUMMY_QUICK_CHARGE_IMEI'
- }
- mqtt_server = '211.159.224.10'
- mqtt_port = 1883
- mqtt_user = '20160528@vivestone'
- mqtt_pwd = 'j429QXqI5CTv'
- for imei in imei_list.values():
- myThread(mqtt_server, mqtt_port, mqtt_user, mqtt_pwd, imei).start()
- import time
- while (True):
- time.sleep(10)
|