wifi STA

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。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值