123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- # coding=utf-8
- import os
- import time
- os.environ.update({"DJANGO_SETTINGS_MODULE": "configs.production"})
- from base import init_env
- init_env(False)
- from apps.web.device.models import Device, DeviceDict
- from apps.web.core.networking import MessageSender
- from apps.web.device.define import DeviceChannelType
- def is_online(devNo):
- return bool(Device.get_dev(devNo).online)
- def change_ip_and_record(devNo, debug):
- if debug:
- print devNo
- else:
- device = Device.get_dev(devNo) # type: DeviceDict
- if device.channelType == DeviceChannelType.Channel_BT:
- return
- if len(devNo) < 15:
- return
- url = "http://121.43.232.118/uploaded/version/2g/SmartBox_6.1.151_Luat_V0020_8955_SSL_v3_100000.bin"
- url = url.replace('Luat_V0020_8955_SSL', device.coreVer)
- MessageSender.send(
- device = device,
- cmd = 202,
- payload = {
- "IMEI": device.devNo,
- "ota_set": {
- "fw_url": url,
- }
- },
- timeout = 15
- )
- with open("change_driver_device.txt", "a") as f:
- f.write("{}\n".format(devNo))
- def run(debug, range_list, done_list):
- filter = {
- 'softVer': 'v6.1.150', 'hwVer': 'v3', 'driverVersion': 'v5.0.2'
- }
- if range_list:
- filter.update({
- 'devNo': {'$in': range_list}
- })
- devices = Device.objects(__raw__ = filter)
- for _dev in devices: # type: Device
- if _dev.devNo in done_list:
- continue
- if not is_online(_dev.devNo):
- continue
- if 'DUMMY' in _dev.devNo:
- continue
- if 'LuaRTOS' in _dev.coreVer:
- print('{} is lua os'.format(_dev.devNo))
- continue
- try:
- change_ip_and_record(_dev.devNo, debug)
- except Exception as e:
- print "{}-{}".format(_dev.devNo, e)
- if __name__ == '__main__':
- __list = []
- try:
- with open("change_version_device.txt", "r") as f:
- lines = f.readlines()
- for line in lines:
- line = line.strip()
- __list.append(line)
- except Exception as e:
- pass
- __done_list = []
- try:
- with open("change_driver_device.txt", "r") as f:
- lines = f.readlines()
- for line in lines:
- line = line.strip()
- __done_list.append(line)
- except Exception as e:
- pass
- run(debug = False, range_list = __list, done_list = __done_list)
|