使用WiFi联网

Posted Bruceoxl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用WiFi联网相关的知识,希望对你有一定的参考价值。

开发环境:
开发系统:Ubuntu 20.04
开发板:小凌派-RK2206开发板
OpenHarmony版本:3.0.0-LTS

RK2206开发板自带WiFi,SDK也提供了相应的驱动,只需要打开连接WiFi的线程即可。WiFi的初始化线程函数在device/rockchip/rk2206/sdk_liteos/board/src/config_network.c中。

UINT32 ExternalTaskConfigNetwork(VOID)

    UINT32  ret;

    //ret = TaskConfigApMode();
    ret = TaskConfigWifiMode();

    return ret;

这里默认使用STA模式,当然也可将WiFi设置为AccessPoint模式,也就是我们常说的热点,本文就使用默认模式就行。WiFi的配置也是一个线程,源代码如下:

UINT32 TaskConfigWifiMode(VOID)

    UINT32  ret;
    TSK_INIT_PARAM_S task =  0 ;


    task.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskConfigWifiModeEntry;
    task.uwStackSize  = OS_TASK_STACK_SIZE;
    task.pcName       = "taskConfigWifiModeEntry";
    task.usTaskPrio   = 8;
    ret = LOS_TaskCreate(&g_wifiTask, &task);
    if (ret != LOS_OK) 
        LZ_HARDWARE_LOGE(LOG_TAG, "rknetwork LOS_TaskCreate taskConfigWifiModeEntry error: %d\\n", ret);
        return ret;
    

    return LOS_OK;

更详细的代码请自行查看device/rockchip/rk2206/sdk_liteos/board/src/config_network.c吧。
下面我们简单修改下代码,让RK2206开发板连接WiFi。

1.修改WiFi账户信息

修改文件device/rockchip/rk2206/sdk_liteos/board/src/config_network.c 中的SSID WiFi名称,PASSWORD WiFi密码。

#define SSID                    "media"
#define PASSWORD                "12345678"

以上信息根据自己的实际情况修改。

2.开启WiFi线程

打开main文件device/rockchip/rk2206/sdk_liteos/board/main.c wifi功能。

ExternalTaskConfigNetwork();

接下来编译,编译下载固件,调试信息如下:

可以看到开发板已经获取到IP地址了,下面查看WiFi是否连接成功。

将PC与开发板连接到同一个网络,然后ping下开发板。

说明已经成功连接到网络了。



欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书
BruceOu的知乎


欢迎订阅我的微信公众号

关注公众号[嵌入式实验楼]获取更多资讯

以上是关于使用WiFi联网的主要内容,如果未能解决你的问题,请参考以下文章

《嵌入式 - 模块》RW007 WIFI模块联网与使用

《嵌入式 - 模块》RW007 WIFI模块联网与使用

wifi显示已连接但无法访问互联网是怎么回事

微信Wifi物联架构---机智云/云智易如何接入微信硬件平台

解析-ESP01模块开发Arduino物联网wifi开关模块

为啥我手机wifi已连接,但无法访问互联网