| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import os
- import sys
- import time
- import django
- local_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
- print(local_path)
- if local_path not in sys.path:
- sys.path.append(local_path)
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "kedong.settings")
- django.setup()
- from django.conf import settings
- from smartfarming.models.device import MongoDevice, MongoCBDData
- from smartfarming.models.worm_forecast import MongoBZYphoto, MongoCBDphoto
- import json
- import requests
- import pymongo
- from urllib import parse
- my_client = pymongo.MongoClient(host="8.136.98.49", port=27017, username="root", password="yfkj@6020")
- my_col = my_client['smartfarming']['sa_device']
- scd_device = {
- "866547058627400",
- "866547058637276",
- "866547058633663",
- "866547058613921"
- }
- def dsj_qxz_conf_info():
- user = parse.quote_plus("root")
- passwd = parse.quote_plus("yfkj@6020")
- # 账号密码方式连接MongoDB | "mongodb://用户名:密码@公网ip:端口/"
- myclient = pymongo.MongoClient("mongodb://{0}:{1}@8.136.98.49:57017/".format(user,passwd))
- # myclient = pymongo.MongoClient("mongodb://127.0.0.1:12514/")
- # 指定数据库
- db = myclient.smartfarming
- # 指定集合
- collection = db.sa_device
- collection1 = db.sa_device_cbdphoto
- for i in scd_device:
- device_info = collection.find_one({'device_id':i})
- device_id = device_info['id']
- data = {'device_id': str(device_id),'uptime':{'$gte':1690166400}}
- cursor = collection1.find(data,{'_id':0,'id':0})
- device_id = MongoDevice.objects.get(device_id=i).id
- for i in cursor:
- scd_data = MongoCBDphoto.objects.create(
- device_id = device_id,
- addtime = i["addtime"],
- uptime = i["uptime"],
- addr = i["addr"],
- at = i["at"],
- ah = i["ah"],
- describe = i["describe"],
- indentify_photo = i["indentify_photo"],
- indentify_result = i["indentify_result"],
- photo_status = i["photo_status"],
- is_mark = i["is_mark"],
- mark = i["mark"],
- label = i["label"]
- )
- print(scd_data.id)
- print(f"设备: {i} {device_id} 数据量 {cursor.count()}")
- return True
- if __name__ == "__main__":
- dsj_qxz_conf_info()
|