游客发表
这个实在的事例告知咱们,欧洲一个看似简略轻松的数智化起跳动作背面,其实有着华为、同伴们等许多尽力。
时刻戳是运用数字签名技能发生的数据,国组签名的目标包含了原始文件信息、签名参数、签名时刻等信息。可信时刻戳是由联合信赖时刻戳服务中心签发的一个电子凭据,建电技联用于证明电子数据文件自请求可信时刻戳后内容坚持完好、未被更改。
二时刻戳原理时刻戳的首要意图在于通过必定的技能手段,欧洲对数据发生的时刻进行认证,然后验证这段数据在发生后是否通过篡改。DTU_UART_115200_BAUD表明运用115200波特率DDTU_TYPE_FORMAT_INCLUDE表明把格式化功用包含进来4.3添加头文件运用代码编辑器,国组将新建的工程文件参加代码编辑器中,国组翻开main.c,修正main.c,参加am.h头文件,如图:4.4修正代码示例运用的是板载5x6卡,用户的硬件可能是运用外置卡,或者是三合一全网通卡,由于硬件上三种卡运用的模组SIM卡接口不一样(外置卡SIM1,5x6卡和三合一卡SIM2),所以,需求通过一个全局变量来拟定SIM卡硬件接口。2、建电技联时刻戳网络通信中的运用在网络通信中,时刻戳能够用于确认数据包的发送时刻和接纳时刻,然后协助其在不安全的网络中完成数据的同步传输。
3代码解说1dtu_format_send透传数据格式化后发送voiddtu_format_send(char*raw_data,UINT16len){char*data_format=NULL;UINT32format_size=0;UINT8buf[DTU_IMEI_LEN+1]={0};DTU_FILE_PARAM_T*dtu_file_ctx=NULL;dtu_file_ctx=dtu_get_file_ctx();SDK_GetDevImei(buf,DTU_IMEI_LEN+1);uprintf(raw_data:%s,raw_data);if(dtu_file_ctx->format.type==1){format_size=len;format_size+=sizeof(DTU_FORMAT_HEAD_T)+sizeof(DTU_FORMAT_TAIL_T);data_format=malloc(format_size+1);DTU_FORMAT_HEAD_Theader={0};DTU_FORMAT_TAIL_Ttail={0};header.header=dtu_file_ctx->format.header;header.len=0;header.timestamp=utils_utc8_2_timestamp();memcpy(header.imei,buf,DTU_IMEI_LEN);header.num++;tail.tailer=dtu_file_ctx->format.tailer;memcpy(data_format,(void*)&header,sizeof(DTU_FORMAT_HEAD_T));memcpy(data_format+sizeof(DTU_FORMAT_HEAD_T),(void*)raw_data,len);memcpy(data_format+sizeof(DTU_FORMAT_HEAD_T)+len,(void*)&tail,sizeof(DTU_FORMAT_TAIL_T));uprintf(%s[%d]senddatalen:%dn,__FUNCTION__,__LINE__,format_size);//发送数据到服务器#ifdefDTU_BASED_ON_TCPdtu_socket_write(data_format,format_size);#endif/*ifdefDTU_BASED_ON_TCP.2023-11-315:46:57by:zhaoning*/#ifdefDTU_BASED_ON_MQTTdtu_mqtt_send(data_format,format_size);#endif/*ifdefDTU_BASED_ON_MQTT.2023-10-3014:24:51by:zhaoning*/if(NULL!=data_format){free(data_format);data_format=NULL;}}elseif(dtu_file_ctx->format.type==2){cJSON*format=NULL;char*send=NULL;//创立json目标format=cJSON_CreateObject();//依照协议,欧洲目标内参加成员cJSON_AddItemToObject(format,imei,cJSON_CreateString((char*)buf));cJSON_AddItemToObject(format,timestamp,cJSON_CreateNumber(utils_utc8_2_timestamp()));cJSON_AddItemToObject(format,raw_data,cJSON_CreateRaw(raw_data));//请求内存send=malloc(strlen(cJSON_Print(format)));if(NULL!=send){memset(send,0,strlen(cJSON_Print(format)));send=cJSON_PrintUnformatted(format);//生成不带空格的JSON字符串uprintf(send:%s,send);//发送数据到服务器#ifdefDTU_BASED_ON_TCPdtu_socket_write(send,strlen(send));#endif/*ifdefDTU_BASED_ON_TCP.2023-11-315:46:57by:zhaoning*/#ifdefDTU_BASED_ON_MQTTdtu_mqtt_send(send,strlen(send));#endif/*ifdefDTU_BASED_ON_MQTT.2023-10-3014:24:51by:zhaoning*/free(send);}//删去json目标cJSON_Delete(format);}}4Demo实战4.1创立一个Demo仿制20.2_at_xtu示例工程,欧洲到同一个文件夹下,修正文件名为20.9_di_xtu,如图:4.2修正makefile添加文件组件地点目录头文件途径,和源文件途径,以及一些宏界说,如图:-D是makefile中界说宏界说必要的前缀,能够查找相关makefile学习文章学习相关常识。在Phase2Inits_exit调用文件组件供给的对外API,国组如图:国组4.5编译在SDK根目录翻开指令行,输入指令.build.bat-l.amaziot_bloom_os_sdksamplelibraries20.15_format_xtuPSF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A08λ.build.bat-l.amaziot_bloom_os_sdksamplelibraries20.15_format_xtu子目录或文件outbin现已存在。
运用该组件,建电技联有必要一同运用AT组件,文件组件,TCP组件,掉线组件,掉线重连组件。
(时刻戳在代码签名中的运用原理示意图)4、欧洲时刻戳在数据库办理中的运用在数据库办理中,欧洲时刻戳能够记载数据的刺进、更新和删去时刻,以协助数据库办理员盯梢数据的改变前史,以及查找和康复特定时刻点的数据状况。从产品界说、国组芯片选型,到软硬件研制和测验,物联网技能的碎片化以及工业资源的碎片化,一直对团队的产品开发交给质量和功率构成限制。
恳求办法(一切办法全为大写)有多种,建电技联各个办法的解说如下:建电技联GET恳求获取Request-URI所标识的资源POST在Request-URI所标识的资源后附加新的数据HEAD恳求获取由Request-URI所标识的资源的呼应音讯报头PUT恳求服务器存储一个资源,并用Request-URI作为其标识DELETE恳求服务器删去Request-URI所标识的资源TRACE恳求服务器回送收到的恳求信息,首要用于测验或确诊CONNECT保存将来运用OPTIONS恳求查询服务器的功用,或许查询与资源相关的选项和需求运用举例:GET办法:在浏览器的地址栏中输入网址的办法拜访网页时,浏览器选用GET办法向服务器获取资源,eg:GET/form.htmlHTTP/1.1(CRLF)POST办法要求被恳求服务器承受附在恳求后边的数据,常用于提交表单。HTTPURL(URL是一种特别类型的URI,欧洲包括了用于查找某个资源的满意的信息)的格局如下:http://host[:port][abs_path]http表明要经过HTTP协议来定位网络资源。
运用这个办法,国组不用传输整个资源内容,就能够得到Request-URI所标识的资源的信息。后来咱们发现,建电技联许多物联网产品开发团队都面临着类似的困扰,建电技联所以,咱们决定向整体物联网职业开发者敞开奇观物联内部沉积的运用技能知识库Wiki,希望能为更多物联网产品开发者减轻一些重复造轮子的担负。
随机阅读
热门排行
友情链接