/**************************************************************** Function : Cloud_ReqRegister description : sent register data to cloud Input : NULL; return : 0-send register data ok. other fail. add by Alex.lin --2015-03-02 ****************************************************************/ uint32 Cloud_ReqRegister( pgcontext pgc ) { uint32 socket = 0; int8 ret = 0; pgcontext pGlobalVar=NULL; pgconfig pConfigData=NULL; pGlobalVar=pgc; pConfigData = &(pgc->gc); pGlobalVar->rtinfo.waninfo.http_socketid = Cloud_InitSocket( pGlobalVar->rtinfo.waninfo.http_socketid,pConfigData->GServer_ip,80,0 ); socket = pGlobalVar->rtinfo.waninfo.http_socketid ; if( socket<=0 ) { return RET_FAILED; } memcpy(pGlobalVar->mcu.product_key, PRODUCT_KEY, strlen(PRODUCT_KEY)); ret = Http_POST( socket, HTTP_SERVER,pConfigData->wifipasscode,pGlobalVar->minfo.szmac, pGlobalVar->mcu.product_key ); if( RET_SUCCESS!=ret ) { return RET_FAILED; } else { return RET_SUCCESS; } }
/**************************************************************** * FunctionName : Cloud_ReqProvision * Description : send provision req to host. * host : GServer host,like "api.gizwits.com" * return : 0 success other error. * Add by Alex.lin --2015-03-03 ****************************************************************/ uint32 Cloud_ReqProvision( pgcontext pgc ) { int32 socket = 0; int8 ret = 0; pgcontext pGlobalVar=NULL; pgconfig pConfigData=NULL; pGlobalVar=pgc; pConfigData = &(pgc->gc); pGlobalVar->rtinfo.waninfo.http_socketid = Cloud_InitSocket( pGlobalVar->rtinfo.waninfo.http_socketid,pConfigData->GServer_ip,80,0 ); socket = pGlobalVar->rtinfo.waninfo.http_socketid; if( socket<=0 ) return RET_FAILED; ret = Http_GET( HTTP_SERVER,pConfigData->DID,socket ); return ret; }
uint32 Cloud_ReqDisable( pgcontext pgc ) { int32 socket = 0; pgcontext pGlobalVar=NULL; pgconfig pConfigData=NULL; pGlobalVar=pgc; pConfigData = &(pgc->gc); pGlobalVar->rtinfo.waninfo.http_socketid = Cloud_InitSocket( pGlobalVar->rtinfo.waninfo.http_socketid,pConfigData->GServer_ip,80,0 ); socket = pGlobalVar->rtinfo.waninfo.http_socketid; if( socket<=0 ) return RET_FAILED; Http_Delete( socket,HTTP_SERVER,pConfigData->old_did,pConfigData->old_wifipasscode ); return 0; }
/**************************************************************** Function : Cloud_ReqConnect Description : send req m2m connect packet. username : username. password : username. return : 0: send req connect packet ok other req connect fail. Add by Alex.lin --2015-03-09 ****************************************************************/ uint32 Cloud_ReqConnect( pgcontext pgc,const int8 *username,const int8 *password ) { int8 ret = 0; int32 socket = 0; pgcontext pGlobalVar=NULL; pgconfig pConfigData=NULL; int32 nameLen=0,passwordLen=0; pGlobalVar=pgc; pConfigData = &(pgc->gc); nameLen = strlen( username ); passwordLen = strlen( password ); if( nameLen<=0 || nameLen>22 ) /* invalid name */ { GAgent_Printf( GAGENT_WARNING," can't req to connect to m2m invalid name length !"); return 1; } if( passwordLen<=0 || passwordLen>16 )/* invalid password */ { GAgent_Printf( GAGENT_WARNING," can't req to connect to m2m invalid password length !"); return 1; } GAgent_Printf( GAGENT_INFO,"Connect to server domain:%s port:%d",pGlobalVar->minfo.m2m_SERVER,pGlobalVar->minfo.m2m_Port ); pGlobalVar->rtinfo.waninfo.m2m_socketid = Cloud_InitSocket( pGlobalVar->rtinfo.waninfo.m2m_socketid ,pConfigData->m2m_ip , pGlobalVar->minfo.m2m_Port,0 ); socket = pGlobalVar->rtinfo.waninfo.m2m_socketid; if( socket<=0 ) { GAgent_Printf(GAGENT_WARNING,"m2m socket :%d",socket); return RET_FAILED; } GAgent_Printf(GAGENT_DEBUG,"Cloud_InitSocket OK!"); ret = Mqtt_Login2Server( socket,username,password ); return ret; }
uint32 Cloud_JD_Post_ReqFeed_Key( pgcontext pgc ) { int32 socket = 0; pgcontext pGlobalVar=NULL; pgconfig pConfigData=NULL; pGlobalVar=pgc; pConfigData = &(pgc->gc); pGlobalVar->rtinfo.waninfo.http_socketid = Cloud_InitSocket( pGlobalVar->rtinfo.waninfo.http_socketid,pConfigData->GServer_ip,80,0 ); socket = pGlobalVar->rtinfo.waninfo.http_socketid; if( socket<=0 ) return RET_FAILED; Http_JD_Post_Feed_Key_req( socket,pConfigData->cloud3info.jdinfo.feed_id,pConfigData->cloud3info.jdinfo.access_key, pConfigData->DID,HTTP_SERVER ); pConfigData->cloud3info.jdinfo.ischanged=0; GAgent_DevSaveConfigData( pConfigData ); return 0; }
uint32 Cloud_ReqGetFid( pgcontext pgc,enum OTATYPE_T type ) { int32 socket = 0; //int8 ret = 0; uint8 *hver, *sver; pgcontext pGlobalVar=NULL; pgconfig pConfigData=NULL; pGlobalVar=pgc; pConfigData = &(pgc->gc); pGlobalVar->rtinfo.waninfo.http_socketid = Cloud_InitSocket( pGlobalVar->rtinfo.waninfo.http_socketid,pConfigData->GServer_ip,80,0 ); socket = pGlobalVar->rtinfo.waninfo.http_socketid; if( socket<=0 ) return RET_FAILED; GAgent_Printf(GAGENT_DEBUG, "http socket connect OK with:%d", socket); switch( type ) { case OTATYPE_WIFI: hver = WIFI_HARDVER; sver = WIFI_SOFTVAR; break; case OTATYPE_MCU: hver = pGlobalVar->mcu.hard_ver; sver = pGlobalVar->mcu.soft_ver; break; default: GAgent_Printf( GAGENT_WARNING,"GAgent OTA type is invalid! "); return RET_FAILED; break; } HTTP_DoGetTargetId( type,HTTP_SERVER,pConfigData->DID,pGlobalVar->mcu.product_key, hver,sver,/*pConfigData->FirmwareId,*/socket ); return 0; }