Browse Source

增加tuoreniot

YunZhiNeng 1 year ago
parent
commit
f32084a74d
3 changed files with 63 additions and 0 deletions
  1. 54 0
      Drivers/Modules/Tuoreniot.c
  2. 8 0
      Drivers/Modules/Tuoreniot.h
  3. 1 0
      Drivers/Modules/ec800m/Ec800m_Regist.c

+ 54 - 0
Drivers/Modules/Tuoreniot.c

@@ -0,0 +1,54 @@
+#include "stm32f10x.h"
+#include <stdio.h>
+#include <stdarg.h>
+#include <string.h>
+#include <stdlib.h>
+#include "Tuoreniot.h"
+
+#include "mbedtls_util.h"
+#include "Log_Module.h"
+#include "At_Module.h"
+#include "Common_Util.h"
+#include "ec800m.h"
+
+unsigned char key[17]="tuorenzhinenghua";
+/**
+* 
+*注册信息打包
+*/
+enum Result packRegistDataAnd(uint8_t *length,char * qcciddata,char *recvdata,uint8_t *mcu_id,uint16_t Version_data){
+	 enum Result result = Result_None;
+	// 
+//	 int i=0;
+	int datalen = 0;
+	char* dataPtr = recvdata+2; //dataPtr指针指向registData第三个字节
+	//复制muid,并转化为16进制
+
+	Log_Printf_Debug("mcu_id:%s,%d\r\n",mcu_id,sizeof(mcu_id));//串口打印
+	byteToHexStr(mcu_id, dataPtr, (int)length);
+	Log_Printf_Debug("device data:%s,%d\r\n",dataPtr,strlen(dataPtr));//串口打印
+	memcpy(dataPtr+strlen(dataPtr),"&",1);
+	//获取qccid
+	AT_Clear();
+	//get_qccid_flag=get_qccid(qcciddata);
+	
+//	result=ec800m.query_qccid_sync(qcciddata);
+	
+    //获取复制qccid
+	memcpy(dataPtr+strlen(dataPtr),qcciddata,31);
+	//复制版本号
+	snprintf(dataPtr+strlen(dataPtr),10,"&%d.%03d",Version_data/1000,Version_data%1000);
+	Log_Printf_Debug("device data:%s,%d\r\n",dataPtr,strlen(dataPtr));//串口打印
+	Log_Printf_Debug("regist data:%s\r\n",recvdata+2);
+	datalen = utils_aes128_ECB_base64_enc_with_length((char *)key,(uint8_t *)dataPtr);
+
+	recvdata[0] = datalen>>8;//头2个字节赋值数据长度
+	recvdata[1] = datalen;
+	Log_Printf_Debug("strlendata:%d,datalen=%d\r\n",strlen(dataPtr),datalen);
+	 *length=datalen+2;
+	 return Result_Success;
+}
+
+
+
+

+ 8 - 0
Drivers/Modules/Tuoreniot.h

@@ -0,0 +1,8 @@
+#ifndef __TUORENIOT_H
+#define __TUORENIOT_H
+
+#include <stdint.h>
+enum Result packRegistDataAnd(uint8_t *length,char * qcciddata,char *recvdata,uint8_t *mcu_id,uint16_t Version_data);
+
+
+#endif

+ 1 - 0
Drivers/Modules/ec800m/Ec800m_Regist.c

@@ -212,6 +212,7 @@ result=ec800m.query_cgreg_sync(&regist_result,&stat,&lac,&ci);//Ñ­
   {
 	 memset(qcciddata,'\0',sizeof(qcciddata));
      memset(recvdata,'\0', sizeof(recvdata));
+	  length = sizeof(mcu_id);
     result =(enum Result)packRegistDataAnd(&length,qcciddata,recvdata,mcu_id,Version_data);//Êý¾Ý´ò°ü
 	 Log_Printf_Debug("data length=%d\r\n", length);
 	  Log_Printf_Debug("recvdata:%s\r\n", recvdata);