device.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. """
  2. 设备配置
  3. 设备编号、第三方平台接口等配置
  4. """
  5. # 设备配置
  6. DEVICE_CONFIG = {
  7. # 设备编号(必填,用于标识当前设备)
  8. 'device_id': '9c9a8000-3d13-11f1-9ffa-01f22beacf2b',
  9. # 设备名称
  10. 'device_name': '施工现场安全识别设备',
  11. # 设备安装位置
  12. 'location': '施工现场A区',
  13. # 项目编号
  14. 'project_id': 'PROJECT_001',
  15. # 项目密钥(用于接口鉴权)
  16. 'project_secret': '',
  17. # API Key(用于 Web 控制接口鉴权;留空则不鉴权,保持本地开发兼容)
  18. 'api_key': '',
  19. }
  20. # 第三方平台接口配置
  21. THIRD_PARTY_CONFIG = {
  22. 'enabled': True, # 启用第三方平台推送
  23. # 平台类型: 'custom', 'jtjai', 'huawei', 'aliyun'
  24. 'platform_type': 'custom',
  25. # 接口基础配置
  26. 'base_url': 'http://58.213.48.54:9999', # 人体分析平台
  27. 'api_version': 'v1',
  28. # 认证配置
  29. 'auth_type': 'none', # 可选: 'none', 'api_key', 'oauth2', 'basic'
  30. 'api_key': '',
  31. 'api_secret': '',
  32. # OAuth2 配置(当 auth_type='oauth2' 时使用)
  33. 'oauth2': {
  34. 'token_url': '',
  35. 'client_id': '',
  36. 'client_secret': '',
  37. 'scope': '',
  38. },
  39. # 接口路径配置
  40. 'endpoints': {
  41. # 批次信息上报接口(接收 batch_info.json)
  42. 'batch_report': '/api/v1/human-analysis/',
  43. # 心跳接口
  44. 'heartbeat': '/api/device/heartbeat',
  45. # 图片上传回调接口(可选,如果第三方平台需要单独通知)
  46. 'image_upload_callback': '/api/image/uploaded',
  47. },
  48. # 推送控制
  49. 'push_interval': 1.0, # 推送间隔(秒)
  50. 'retry_count': 3, # 重试次数
  51. 'retry_delay': 2.0, # 重试延迟(秒)
  52. 'timeout': 10, # 请求超时(秒)
  53. # 数据格式
  54. 'data_format': 'json', # 可选: 'json', 'form'
  55. # 是否包含图片文件(multipart/form-data 上传)
  56. 'include_images': False,
  57. }
  58. # 批次信息上报配置
  59. BATCH_REPORT_CONFIG = {
  60. # 上报时机
  61. 'report_on_complete': True, # 批次完成时上报
  62. 'report_realtime': False, # 实时上报(每保存一张图就上报)
  63. # 上报内容
  64. 'include_panorama_url': True, # 包含全景图 OSS URL
  65. 'include_ptz_urls': True, # 包含球机图 OSS URLs
  66. 'include_raw_images': False, # 是否包含原始图片数据(Base64)
  67. # 本地保留
  68. 'keep_local_copy': True, # 上报后是否保留本地副本
  69. 'local_retention_days': 7, # 本地保留天数
  70. }
  71. # 配对图片保存配置
  72. PAIRED_IMAGE_CONFIG = {
  73. # 本地存储目录
  74. 'base_dir': '/home/admin/dsh/paired_images',
  75. # 清理策略
  76. 'cleanup_enabled': True, # 是否启用自动清理
  77. 'max_batches': 10, # 最大保留批次数量
  78. 'retention_days': 7, # 保留天数(与 max_batches 互斥,优先按数量清理)
  79. # 时间窗口(秒):同一窗口内的检测归为一批
  80. 'time_window': 5.0,
  81. }