|
@@ -570,8 +570,45 @@ def loadBalancingServer(request):
|
|
|
return JsonResponse({'msg': 'The number of people online is :%s'%res1, 'code': 0})
|
|
|
|
|
|
|
|
|
+class powerController(TemplateView):
|
|
|
+ def post(self, request, *args, **kwargs):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ request_dict = request.POST
|
|
|
+ return self.power_controller(request_dict)
|
|
|
+
|
|
|
+ def get(self, request, *args, **kwargs):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ request_dict = request.GET
|
|
|
+ return self.power_controller(request_dict)
|
|
|
|
|
|
+ def power_controller(self, request_dict):
|
|
|
+ uid = request_dict.get('uid', '')
|
|
|
+ access_token = request_dict.get('access_token', '')
|
|
|
+ app_name = request_dict.get('app_name', 'zosi smart')
|
|
|
+ power_controller = request_dict.get('power_controller', '')
|
|
|
+
|
|
|
+ user_qs = UserModel.objects.filter(access_token=access_token)
|
|
|
+ if not user_qs.exists():
|
|
|
+ return JsonResponse({'错误': '用户数据不存在'})
|
|
|
+
|
|
|
+ ur_qs = UidRtspModel.objects.filter(uid=uid).values('uid', 'nick', 'rtsp_url', 'password', 'region')
|
|
|
+ if not ur_qs.exists():
|
|
|
+ return JsonResponse({'错误': 'uid数据不存在'})
|
|
|
+
|
|
|
+ logger = logging.getLogger('django')
|
|
|
+ logger.info('{} 唤醒设备 {}'.format(app_name, uid))
|
|
|
+ # 请求MQTT发布消息
|
|
|
+ url = '{}/iot/requestPublishMessage'.format(SERVER_PREFIX_TEST) # 测试服务器
|
|
|
+ requests_data = {'UID': uid, 'MSG': power_controller} # TurnOn, TurnOff
|
|
|
+ r = requests.post(url, requests_data)
|
|
|
+ if r.status_code != 200:
|
|
|
+ return JsonResponse({'错误': '请求响应异常'})
|
|
|
+
|
|
|
+ res = r.json()
|
|
|
+ logger.info('请求MQTT发布消息返回状态: {}'.format(res['result_code']))
|
|
|
+ if res['result_code'] != 0:
|
|
|
+ logger.info('请求MQTT下发指令失败')
|
|
|
+ return JsonResponse({'错误': '请求MQTT下发指令失败'})
|
|
|
+ else:
|
|
|
+ logger.info('请求MQTT下发指令成功')
|
|
|
|
|
|
-'''
|
|
|
-[{"endpointId":1,"manufacturerName":"zosi smart","manufacturerId":"zosi-ACCC8E5E7513","modelName":"P1425-LE","friendlyName":"Camera VVDHCV","description":"Camera VVDHCV","resolutions":[{"width":1280,"height":720}],"videoCodecs":["H264"],"audioCodecs":["ACC"],"protocols":["RTSP"],"authorizationTypes":["NONE"],"uri":"rtsp://rtsp.zositech.xyz:8554/WVZsWkVTRU5XUWxsRVMwWk5TbEpYUVRFeE1VRT1p"},{"endpointId":2,"manufacturerName":"zosi smart","manufacturerId":"zosi-ACCC8E5E7513","modelName":"P1425-LE","friendlyName":"Camera 5N6ZW8","description":"Camera 5N6ZW8","resolutions":[{"width":1280,"height":720}],"videoCodecs":["H264"],"audioCodecs":["ACC"],"protocols":["RTSP"],"authorizationTypes":["NONE"],"uri":"rtsp://rtsp.zositech.xyz:8554/Rk5VNDJXbGM0TnpSSE5rRXpOMWMwTmpFeE1VRT1D"},{"endpointId":3,"manufacturerName":"zosi smart","manufacturerId":"zosi-ACCC8E5E7513","modelName":"P1425-LE","friendlyName":"Camera T3SLCA","description":"Camera T3SLCA","resolutions":[{"width":1280,"height":720}],"videoCodecs":["H264"],"audioCodecs":["ACC"],"protocols":["RTSP"],"authorizationTypes":["NONE"],"uri":"rtsp://rtsp.zositech.xyz:8554/b1ZETlRURU5CU0VvNVVERktTRmxDTkRFeE1VRT1X"}]
|
|
|
-'''
|