DISCO_L475VG_IOT01 wifi library with TCP-SSL support
Dependents: DISCO_L475VG_IOT01-Telegram-BOT
Revision 1:0ce37d60fe92, committed 2018-01-26
- Comitter:
- dvddnr
- Date:
- Fri Jan 26 14:58:24 2018 +0000
- Parent:
- 0:991714b0e830
- Commit message:
- reworked tcp ssl wrapper
Changed in this revision
es_wifi.c | Show annotated file Show diff for this revision Revisions of this file |
es_wifi.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 991714b0e830 -r 0ce37d60fe92 es_wifi.c --- a/es_wifi.c Wed Jan 24 11:03:18 2018 +0000 +++ b/es_wifi.c Fri Jan 26 14:58:24 2018 +0000 @@ -1239,6 +1239,48 @@ } + + +/** + * @brief Configure and Start a Client connection. + * @param Obj: pointer to module handle + * @param conn: pointer to the connection structure + * @retval Operation Status. + */ +ES_WIFI_Status_t ES_WIFI_ConnectToRemoteHost(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn) +{ + ES_WIFI_Status_t ret; + + sprintf((char*)Obj->CmdData,"P0=%d\r", conn->Number); + ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); + + sprintf((char*)Obj->CmdData,"P1=%d\r",conn->Type); + ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); + if(ret != ES_WIFI_STATUS_OK) return ret; + + sprintf((char*)Obj->CmdData,"D0=%s\r",(char*)conn->RemoteHost); + ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); + if(ret != ES_WIFI_STATUS_OK) return ret; + + sprintf((char*)Obj->CmdData,"P4=%d\r", conn->RemotePort); + ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); + if(ret != ES_WIFI_STATUS_OK) return ret; + + if( conn->Type == ES_WIFI_TCP_SSL_CONNECTION) + { + sprintf((char*)Obj->CmdData,"P9=0\r"); + ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); + if(ret != ES_WIFI_STATUS_OK) return ret; + } + + sprintf((char*)Obj->CmdData,"P6=1\r"); + ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); + + return ret; +} + + + /** * @brief Configure and Start a Client connection. * @param Obj: pointer to module handle @@ -1249,32 +1291,8 @@ { ES_WIFI_Status_t ret; - sprintf((char*)Obj->CmdData,"P0=%d\r", conn->Number); - ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); - - if( conn->Type == ES_WIFI_TCP_SSL_CONNECTION ) - { - sprintf((char*)Obj->CmdData,"P1=3\r"); - ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); - if(ret != ES_WIFI_STATUS_OK) return ret; - - sprintf((char*)Obj->CmdData,"D0=%s\r",(char*)conn->RemoteIP); - ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); - if(ret != ES_WIFI_STATUS_OK) return ret; - - sprintf((char*)Obj->CmdData,"P4=%d\r", conn->RemotePort); - ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); - if(ret != ES_WIFI_STATUS_OK) return ret; - - sprintf((char*)Obj->CmdData,"P9=0\r"); - ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); - if(ret != ES_WIFI_STATUS_OK) return ret; - - sprintf((char*)Obj->CmdData,"P6=1\r"); - ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); - - return ret; - } + sprintf((char*)Obj->CmdData,"P0=%d\r", conn->Number); + ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); if(ret == ES_WIFI_STATUS_OK) {
diff -r 991714b0e830 -r 0ce37d60fe92 es_wifi.h --- a/es_wifi.h Wed Jan 24 11:03:18 2018 +0000 +++ b/es_wifi.h Fri Jan 26 14:58:24 2018 +0000 @@ -214,7 +214,8 @@ uint8_t Number; uint16_t RemotePort; uint16_t LocalPort; - uint8_t RemoteIP[63]; + uint8_t RemoteIP[4]; + uint8_t RemoteHost[63]; char* Name; } ES_WIFI_Conn_t; @@ -272,6 +273,7 @@ #endif ES_WIFI_Status_t ES_WIFI_DNS_LookUp(ES_WIFIObject_t *Obj, const char *url, uint8_t *ipaddress); ES_WIFI_Status_t ES_WIFI_StartClientConnection(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn); +ES_WIFI_Status_t ES_WIFI_ConnectToRemoteHost(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn); ES_WIFI_Status_t ES_WIFI_StopClientConnection(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn); #if (ES_WIFI_USE_AWS == 1) ES_WIFI_Status_t ES_WIFI_StartAWSClientConnection(ES_WIFIObject_t *Obj, ES_WIFI_AWS_Conn_t *conn);