wifi STA创建
wifi station节点创建
wifi_set_opmode选择wifi节点功能,即ap(access point)或者STA(wireless station)功能。
wifi_start_station创建wifi STA节点,并传入要连接的热点的名称,密码。
wifi_work_mode_e wifi_mode = WIFI_MODE_STA;
wifi_set_opmode(wifi_mode);
printf("1==================wifi_stop_station\r\n");
wifi_stop_station();
printf("2==================wifi_stop_softap\r\n");
wifi_stop_softap();
printf("3==================wifi_start_station\r\n");
wifi_config_u wifiCfg = {0};
snprintf((char *)wifiCfg.sta.ssid, sizeof(wifiCfg.sta.ssid), "%s", "local_ota_test");
snprintf((char *)wifiCfg.sta.password, sizeof(wifiCfg.sta.ssid), "%s", "12345678");
// snprintf((char *)wifiCfg.sta.ssid, sizeof(wifiCfg.sta.ssid), "%s", "uwb-wifi");
// snprintf((char *)wifiCfg.sta.password, sizeof(wifiCfg.sta.ssid), "%s", "12345678");
printf("attempt link wifi,ssid: %s passwd: %s ===============================\r\n",wifiCfg.sta.ssid,wifiCfg.sta.password);
sysStatus = wifi_start_station(&wifiCfg);
与tcp server建立连接
通过socket(domain,type,protocol)函数创建套接字,domain标识IP地址族规范,这里采用IPV4地址族。创建成功后,再通过connect(s,name,namelen)经由35000端口,连接同一个局域网下的tcp server。连接成功后,直接使用send函数发送数据,通过tcp_recv函数接收数据。
char* argcv[2];
argcv[1] = 192.168.137.107;
struct sockaddr_in server_info;
memset(&server_info,0,sizeof(server_info));
int socketfd = -1;
server_info.sin_family = AF_INET;
server_info.sin_port = htons(35000);
server_info.sin_addr.s_addr = inet_addr(argv[1]);
printf("ip addr:%s\r\n",argv[1]);
if((socketfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
os_printf(LM_APP, LL_ERR, "tcp socket: %d\n", socketfd);
return -1;
}
os_printf(LM_APP, LL_INFO, "comp socket success !!!\n");
if(connect(socketfd,(struct sockaddr *)&server_info, sizeof(struct sockaddr_in))<0)
{
os_printf(LM_APP, LL_ERR, "connect failed \n" );
return -1;
}
os_printf(LM_APP, LL_INFO, "connect server success,socketfd : %d !!!!\n",socketfd);
char sendArr[20] = "0.2 socket test\r\n";
if(send(socketfd, sendArr, 20, 0) < 0){
// if(send(socketfd, sendArr, 20, MSG_DONTWAIT) < 0){
os_printf(LM_APP, LL_ERR, "client send failed \n" );
return -1;
}
os_printf(LM_APP, LL_INFO, "client send success, socketfd : %d !!!!\r\n",socketfd);
最后,使用xnet V1.2充当tcp server。