This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LAUNCHXL-CC3235SF:无法使用内部 HTTP 服务器

Guru**** 2017950 points
Other Parts Discussed in Thread: CC3235SF
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1045328/launchxl-cc3235sf-unable-to-use-internal-http-server

器件型号:LAUNCHXL-CC3235SF
主题中讨论的其他器件:CC3235SF

尊敬的 TI 专家:

我无法使用 CC3235SF 的内部 HTTP 服务器。 如果我没有加载 IP_address/file.html 页面、则在运行服务器后、我已刷新了 www 部分下的 html 文件。 请大家说、我们是否有任何与此相关的示例代码。 BTW 这是我的内部 http 服务器实现函数:

void internal_HTTP_server (void)

mq_attr 属性;
int j;
//mqd_t linkLocalMQueue;
int32_t msgqRetVal;
uint32_t ulEvent;
//设置客户端和服务器的互斥量操作
HTTPObj = malloc (sizeof (pthread_mutex_t));
pthread_mutex_init (HTTPObj、(pthread_mutexattr_t*) NULL);
if (HTTPObj ==空)

while (1)




/*初始化 http 消息的邮箱*/
attr.mq_maxmsg = 10;/*队列大小*/
attr.mq_msgsize = sizeof (slNetAppRequest_t*);//邮件大小
HTTPServerMQueue = MQ_open ("linklocal msg q"、O_creat、0、&attr);
if (((int) HTTPServerMQueue)<= 0)

//无法创建消息队列输入故障
while (1)




while (1)

slNetAppRequest_t * netAppRequest;

msgqRetVal = MQ_Receive (HTTPServerMQueue、(char*)&netAppRequest、
sizeof (slNetAppRequest_t*),NULL);
if (msgqRetVal < 0)

//从消息队列接收数据失败
while (1)



if ((netAppRequest->Type == sl_NetApp_Request_HTTP_Get)
||(netAppRequest->Type =sl_NetApp_Request_HTTP_DELETE)

if (netAppRequest->Type = sl_NetApp_Request_HTTP_Get)

//("[Link local task] HTTP GET 请求\n\r");

其他

//("[Link local task] HTTP delete request\n\n");

httpGetHandler (netAppRequest);

否则(((netAppRequest->Type == sl_NetApp_Request_HTTP_POST)
||(netAppRequest->Type =sl_NetApp_Request_HTTP_Put)

if (netAppRequest->Type = sl_NetApp_Request_HTTP_POST)

//("[链接本地任务] HTTP POST 请求\n\r");

其他

//("[Link local task] HTTP PUT Request\n\r");

////(
//"[Link local task] data received、len =%d、flags=%x\n\r"、
// netAppRequest->requestData.PayloadLen,
// netAppRequest->requestData.Flags);

httpPostHandler (netAppRequest);
if (strstr (Server_data、CMP_SSID))

I=0;
对于(;I < 400;I++)

if (Server_data[i]='=')

i++;
count++;
如果(计数= 1)

memset (SSID、0、sizeof (SSID));
对于(j = 0;i < 400;i++、j++)

if (SERVER_DATA[i]='&')

SSID_Length = strlen (SSID);
中断;

SSID[j]= Server_data[i];



如果(计数== 3)

memset (security_key、0、sizeof (security_key));
对于(j = 0;i < 400;i++、j++)

if (SERVER_DATA[i]='\0')

memset (Server_data、0、400);
计数= 0;
I = 0;
key_Length = strlen (security_key);
memcpy (stWiFiSave.SSID、SSID、sizeof (SSID));
stWiFiSave.SSID_Length = SSID_Length;
memcpy (stWiFiSave.Key、security_key、sizeof (security_key));
stWiFiSave.Key_Length = Key_Length;
stWiFiSave.Sec_Type = SL_WLAN_SEC_TYPE_WPA_WPA2;
memcpy (&stWiFi.Sta_Profile、&stWiFiSave、sizeof (st_wifi 配置文件));
ulEvent = EN_WIFI_Configured;
xQueueSend (stWiFi.Queue、&ulEvent、0);
WIFI_SUCCESS = true;
//httpGetHandler (netAppRequest);
//sL_NetAppStop (sl_NET_APP_HTTP_SERVER_ID);
中断;

security_key[j]= Server_data[i];




if (strstr (Server_data、CMP_MQTT))

K=0;
对于(;k < 400;k++)

if (Server_data[k]='=')

K++;
count++;
如果(计数= 1)

memset (org_ID、0、sizeof (org_ID));
对于(j = 0;k < 400;k++、j++)

if (SERVER_DATA[k]='&')
中断;
org_ID[j]= Server_data[k];


如果(计数== 2)

memset (Dev_Type、0、sizeof (Dev_Type));
对于(j = 0;k < 400;k++、j++)

if (SERVER_DATA[k]='&')
中断;
DEV_Type[j]= Server_data[k];


如果(计数== 3)

memset (Dev_ID、0、sizeof (Dev_ID));
对于(j = 0;k < 400;k++、j++)

if (SERVER_DATA[k]='&')
中断;
DEV_ID[j]= Server_data[k];


如果(计数== 4)

memset (令牌、0、sizeof (令牌));
对于(j = 0;k < 400;k++、j++)

如果(SERVER_DATA[k]='\0')

memset (Server_data、0、400);
计数= 0;
K = 0;
/*memcpy (stMqttConfigSave.Org_ID,org_ID,sizeof(org_ID));
memcpy (stMqttConfigSave.Device_Type、Dev_Type、sizeof (Dev_Type));
memcpy (stMqttConfigSave.Device_ID、Dev_ID、sizeof (Dev_ID));
memcpy (stMqttConfigSave.Token、Token、sizeof (Token));*/

memcpy (&stMqttConfig、&stMqttConfigSave、sizeof (st_MQTT_CONFIG));
SAVE_MQTT_CONFIG ();
中断;

TOKEN[j]= Server_data[k];




if (netAppRequest->requestData.MetadataLen >0)

free(netAppRequest->requestData.pMetadata);

如果(netAppRequest->requestData.PayloadLen >0)

free(netAppRequest->requestData.pPayload);

免费(netAppRequest);




请指出我是否遗漏了一些东西。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 TI 专家:

    我已经解决了自己的问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的更新。