|
@@ -230,7 +230,7 @@ class IotCoreView(View):
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
- def clear_Iot_Cerm(self, userID, request_dict, response):
|
|
|
+ def clear_Iot_Cerm(self, request_dict, response):
|
|
|
serial_number = request_dict.get('serial_number', None)
|
|
|
|
|
|
if serial_number:
|
|
@@ -246,9 +246,9 @@ class IotCoreView(View):
|
|
|
def request_publish_message(self, request_dict, response, request):
|
|
|
# Alexa请求IoT Core下发MQTT消息通知设备开始或停止推流,或唤醒设备
|
|
|
UID = request_dict.get('UID', None)
|
|
|
- MSG = request_dict.get('MSG', None)
|
|
|
-
|
|
|
- if not all([UID, MSG]):
|
|
|
+ rtsp = request_dict.get('rtsp', None)
|
|
|
+ enable = request_dict.get('rtsp', '1')
|
|
|
+ if not all([UID, rtsp]):
|
|
|
return response.json(444)
|
|
|
|
|
|
try:
|
|
@@ -270,8 +270,7 @@ class IotCoreView(View):
|
|
|
endpoint = iot[0]['endpoint']
|
|
|
Token = iot[0]['token_iot_number']
|
|
|
# Token = '297a601b3925e04daab5a60280650e09'
|
|
|
- topic_suffix = '_power_topic' if 'Turn' in MSG else '_rtsp_topic'
|
|
|
- topic_name = thing_name + topic_suffix # MQTT主题
|
|
|
+ topic_name = 'ansjer/generic/' + thing_name # MQTT主题名
|
|
|
|
|
|
# api doc: https://docs.aws.amazon.com/zh_cn/iot/latest/developerguide/http.html
|
|
|
# url: https://IoT_data_endpoint/topics/url_encoded_topic_name?qos=1
|
|
@@ -281,7 +280,10 @@ class IotCoreView(View):
|
|
|
signature = CommonService.rsa_sign(Token) # Token签名
|
|
|
headers = {'x-amz-customauthorizer-name': authorizer_name, 'Token': Token,
|
|
|
'x-amz-customauthorizer-signature': signature}
|
|
|
- params = {'command': MSG}
|
|
|
+ params = {
|
|
|
+ 'alexaRtspCommand': rtsp,
|
|
|
+ 'enable': enable
|
|
|
+ }
|
|
|
r = requests.post(url=url, headers=headers, json=params, timeout=2)
|
|
|
if r.status_code == 200:
|
|
|
res = r.json()
|