W800开发套件鸿蒙系统教程

W800开发套件鸿蒙系统教程


3.2.2 w800作为softap热点

仍然使用前面的demo固件。

wm_demo.h文件中的宏定义DEMO_SOFT_AP需要打开然后再编译固件,如下设置:

#define DEMO_CONSOLE                DEMO_ON

//AP dmeo
#define DEMO_SOFT_AP                (DEMO_ON && DEMO_CONSOLE)

固件运行后输出命令信息如下图所示,可以找到t-softap命令提示,如果没有该命令提示,说明上述宏定义没有设置为1。

<center></center>


固件运行后,通过串口发送命令:t-softap(&quot;ttest&quot;,&quot;12345678&quot;,8,0,1),即可创建一个AP热点。参数解释:

  1. 第一个参数表示热点名称;
  2. 第二个参数表示热点密码,最少8个字符长度;
  3. 第三个参数表示WiFi热点使用的信道号,1~13
  4. 第四个参数表示加密方式,0:open, 1:wep64, 2:wep128,3:TKIP WPA ,4: CCMP WPA, 5:TKIP WPA2 ,6: CCMP WPA2,通常使用0(无密码),或者5(使用参数2设置的密码)
  5. 最后参数表示密码格式,0为16进制,1为ascii字符串

t-softap命令的源码实现位于demo目录下的wm_softap_demo.c文件中的demo_create_softap函数内,用户可以根据该代码编写自己的softap功能。创建softap的关键代码片段如下:

tls_wifi_disconnect();

    ssid_len = strlen((const char *)ssid);
    MEMCPY(apinfo-&gt;ssid, ssid, ssid_len);
    apinfo-&gt;ssid[ssid_len] = '\0';

    apinfo-&gt;encrypt = encrypt;  /*0:open, 1:wep64, 2:wep128,3:TKIP WPA ,4: CCMP WPA, 5:TKIP WPA2 ,6: CCMP WPA2*/
    apinfo-&gt;channel = chan; /*channel*/
    apinfo-&gt;keyinfo.format = format; /*key's format:0-HEX, 1-ASCII*/
    apinfo-&gt;keyinfo.index = 1;  /*wep key index*/
    apinfo-&gt;keyinfo.key_len = strlen((const char *)key); /*key length*/
    MEMCPY(apinfo-&gt;keyinfo.key, key, apinfo-&gt;keyinfo.key_len);
    /*ip info:ipaddress, netmask, dns*/
    ipinfo-&gt;ip_addr[0] = 192; //设置网关IP
    ipinfo-&gt;ip_addr[1] = 168;
    ipinfo-&gt;ip_addr[2] = 1;
    ipinfo-&gt;ip_addr[3] = 1;
    ipinfo-&gt;netmask[0] = 255; //掩码
    ipinfo-&gt;netmask[1] = 255;
    ipinfo-&gt;netmask[2] = 255;
    ipinfo-&gt;netmask[3] = 0;
    MEMCPY(ipinfo-&gt;dnsname, &quot;local.wm&quot;, sizeof(&quot;local.wm&quot;));

    ret = tls_wifi_softap_create(apinfo, ipinfo);
    wm_printf(&quot;\n ap create %s ! \n&quot;, (ret == WM_SUCCESS) ? &quot;Successfully&quot; : &quot;Error&quot;);

热点创建成功后输出(ap create Successfully !)如下图所示,并且有客户端连接该热点后会打印出客户端MAC地址,如下图:

<center></center>

手机连接上面例子创建的热点“ttest”,如下图所示:

<center></center>

页面列表

ITEM_HTML