[文章]【开鸿智谷NiobeU4开发板免费试用体验】增加wifi功能

阅读量0
0
0

一、wifi移植
直接将例程202中的wifi_connect.c复制放到301例程中,并修改BUILD.gn以及.application_config文件
在user_app函数中添加202例程中的wifi_example.c部分代码

int sock = -1;
    struct sockaddr_in client_addr;
    char recv_data[512] = {0};
    int recv_data_len;
    WifiConnect(WIFI_NAME, WIFI_PWD);
    printf("start wifi_test test\r\n");
    
    adc_init();
    NfcExtExample();
    while (1) 
    {
        sock = socket(AF_INET, SOCK_STREAM, 0);
        if (sock < 0) {
            printf("Socket error\n");
            osDelay(OD_DELAY_100);
            continue;
        }
        memset_s(&(client_addr), sizeof(client_addr), 0, sizeof(client_addr));
        client_addr.sin_family = AF_INET;
        client_addr.sin_port = htons(SERVER_PORT);
        client_addr.sin_addr.s_addr = inet_addr(SERVER_IP);
        printf("try connect to server "SERVER_IP" :%d \n", SERVER_PORT);
        if (connect(sock, (struct sockaddr *)&client_addr, sizeof(struct sockaddr)) == -1) {
            closesocket(sock);
            osDelay(OD_DELAY_1000);
            continue;
        }
        printf("Connect to tcp server successful!\n");
        while (1) {
            recv_data_len = recv(sock, recv_data, RECV_LEN, 0);
            if (recv_data_len <= 0) {
                break;
            } else {
                recv_data[recv_data_len] = '\0';
            }
            printf("recv: %s\n", recv_data);
            write(sock, recv_data, recv_data_len);
        }
        
    }

二、注意事项
该例程只能连接开放网络,即wifi不能加密,使用OPEN方式连接,需要修改wifi_connect.c中的SELECT_WIFI_SECURITYTYPE 为如下值

define SELECT_WIFI_SECURITYTYPE WIFI_SEC_TYPE_OPEN

另外需要注意WIFI_PWD需要设置为空,否则连接不上wifi,报如下错误。这个地方耽误了我不少时间才发现这个问题。
a18ad70a071cf9400b50d47df0476b5.jpg

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友