cbd_device_config.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. import os
  2. import sys
  3. import time
  4. import django
  5. local_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
  6. print(local_path)
  7. if local_path not in sys.path:
  8. sys.path.append(local_path)
  9. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "kedong.settings")
  10. django.setup()
  11. from django.conf import settings
  12. from smartfarming.models.device import MongoDevice, MongoDeviceConfig
  13. from smartfarming.models.worm_forecast import MongoBZYphoto, MongoCBDphoto
  14. import json
  15. import requests
  16. import pymongo
  17. from urllib import parse
  18. my_client = pymongo.MongoClient(host="8.136.98.49", port=27017, username="root", password="yfkj@6020")
  19. my_col = my_client['smartfarming']['sa_device']
  20. scd_device = {
  21. "865328061465380",
  22. "865328061478136",
  23. "865328061471529",
  24. "865328061466933",
  25. "865328061428701",
  26. "865328061466404",
  27. "865328061449913",
  28. "865328061455027",
  29. "865328061271879",
  30. "865328061253190",
  31. "865328061460159",
  32. "865328061438890",
  33. "865328061429451",
  34. "869298052295540",
  35. "865328061465679",
  36. "865328061450044",
  37. "866547058627400",
  38. "866547058637276",
  39. "866547058633663",
  40. "866547058613921",
  41. "861551055315402",
  42. "861551056086671",
  43. "861551056088693",
  44. "861551056088479",
  45. "861551056088719",
  46. "861551055313365",
  47. "861551056086614",
  48. "861551056093800",
  49. "861551056095367",
  50. "861551056102502",
  51. "861551056096621",
  52. "861551056101785",
  53. "861551056086549",
  54. "861551055354120",
  55. "861551055353536",
  56. "861551056092018",
  57. "861551055319586",
  58. "861551056088875",
  59. "861551055324651",
  60. "861551055313423",
  61. "866250061217240",
  62. "863569067039065",
  63. }
  64. def dsj_qxz_conf_info():
  65. user = parse.quote_plus("root")
  66. passwd = parse.quote_plus("yfkj@6020")
  67. # 账号密码方式连接MongoDB | "mongodb://用户名:密码@公网ip:端口/"
  68. myclient = pymongo.MongoClient("mongodb://{0}:{1}@8.136.98.49:57017/".format(user,passwd))
  69. # myclient = pymongo.MongoClient("mongodb://127.0.0.1:12514/")
  70. # 指定数据库
  71. db = myclient.smartfarming
  72. # 指定集合
  73. collection = db.sa_device
  74. collection1 = db.sa_device_config
  75. for i in scd_device:
  76. device_info = collection.find_one({'device_id':i})
  77. device_id = device_info['id']
  78. data = {'d_id': device_id}
  79. cursor = collection1.find(data,{'_id':0,'id':0})
  80. try:
  81. device_id = MongoDevice.objects.get(device_id=i).id
  82. for i in cursor:
  83. MongoDeviceConfig.objects.get_or_create(
  84. d_id=device_id,
  85. defaults={
  86. "d_id": device_id,
  87. "device_config": i['device_config'],
  88. "cmd": i['cmd'],
  89. "addtime": int(time.time()),
  90. "uptime": int(time.time())
  91. }
  92. )
  93. print(f"设备: {i} {device_id} 数据量 {cursor.count()}")
  94. except Exception as e:
  95. print(i)
  96. return True
  97. if __name__ == "__main__":
  98. dsj_qxz_conf_info()