Wi-Fi R-Mesh SDK 配置

获取 SDK

SDK 下载: 下载方法

备注

默认 SDK 中根节点只可以连接 2 个节点,如希望根节点可连接更多节点,您可以下载试用版固件(烧录请参考 烧录流程 ):

此固件支持根节点下连接 4 个节点,并可配合可视化工具 Gravitation MGravitation 使用

也可以按以下步骤联系我们获取 lib:

  1. 获取 R-Mesh WLAN lib(联系我们)

  2. 替换 {sdk}/amebaxxx_gcc_project/project_km4/asdk/lib/application 路径下的 lib_wifi_whc_ap.a

  3. 替换 {sdk}/amebaxxx_gcc_project/project_km0/asdk/lib/application 路径下的 lib_wifi_common.alib_wifi_fw.alib_wifi_whc_np.a

R-MESH 使能

  1. {sdk}/amebadxxx_gcc_project 下执行 ./menuconfig.py,按如下配置:

----Connectivity config----
CONFIG WHC INTF  --->
CONFIG WIFI  --->
   ...
   [*]     Enable R-mesh
   [ ]         Enable R-NAT
   [ ]         Enable R-mesh Socket
   [ ]             Enable R-mesh OTA
...
  1. 通过 {sdk}/component/soc/usrcfg/amebaxxx/ameba_wificfg.c 配置参数:

wifi_user_config.wtn_en = 1;

更多设置请参考 通用

RNAT 使能

备注

  • 若不需要使用 RNAT 功能则跳过此步骤

  • 使能 RNAT 之前,需要先 使能 R-Mesh

  1. 通过 {sdk}/component/soc/usrcfg/amebaxxx/ameba_wificfg.c 配置参数:

wifi_user_config.wtn_rnat_en = 1;
  1. 若需要该节点固定为 RNAT,则设置如下参数:

wifi_user_config.wtn_fixed_rnat_node = 1;

备注

当前版本必须设置,自动决策 RNAT 算法正在开发中

  1. {sdk}/amebadxxx_gcc_project 下执行 ./menuconfig.py,按如下配置:

----Connectivity config----
CONFIG WHC INTF  --->
CONFIG WIFI  --->
   ...
   [*]     Enable R-mesh
   [*]         Enable R-NAT
   [ ]         Enable R-mesh Socket
   [ ]             Enable R-mesh OTA
...
CONFIG LWIP  --->
   [ ] Enable Fast DHCP
   [*] Enable NAT REPEATER
   [*] Enable LWIP NETCONN SEM PER THREAD
   [ ] Enable LWIP Debug
...

更多 RNAT 设置请参考 RNAT 相关

Socket 使能

{sdk}/amebadxxx_gcc_project 下执行 ./menuconfig.py,按如下配置:

----Connectivity config----
CONFIG WHC INTF  --->
CONFIG WIFI  --->
   ...
   [*]     Enable R-mesh
   [*]         Enable R-NAT
   [*]         Enable R-mesh Socket
   [ ]             Enable R-mesh OTA
...

备注

该选项是为了配合本案例中使用到的演示工具 Gravitation , 若用户实际中不需要用 Gravitation,则无需设置此选项。

编译与烧录

请参考标准编译流程: 编译流程