3.2.2 w800作为softap热点
<p>仍然使用前面的demo固件。</p>
<p><code>wm_demo.h</code>文件中的宏定义<code>DEMO_SOFT_AP</code>需要打开然后再编译固件,如下设置:</p>
<pre><code class="language-c">#define DEMO_CONSOLE DEMO_ON
//AP dmeo
#define DEMO_SOFT_AP (DEMO_ON && DEMO_CONSOLE)
</code></pre>
<p>固件运行后输出命令信息如下图所示,可以找到t-softap命令提示,如果没有该命令提示,说明上述宏定义没有设置为1。</p>
<center>![](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=6ccd71dec84a4d6c75a1713fa5a5b74f)</center>
<hr />
<p>固件运行后,通过串口发送命令:<code>t-softap("ttest","12345678",8,0,1)</code>,即可创建一个AP热点。参数解释:</p>
<ol>
<li>第一个参数表示热点名称;</li>
<li>第二个参数表示热点密码,最少8个字符长度;</li>
<li>第三个参数表示WiFi热点使用的信道号,1~13</li>
<li>第四个参数表示加密方式,0:open, 1:wep64, 2:wep128,3:TKIP WPA ,4: CCMP WPA, 5:TKIP WPA2 ,6: CCMP WPA2,通常使用0(无密码),或者5(使用参数2设置的密码)</li>
<li>最后参数表示密码格式,0为16进制,1为ascii字符串</li>
</ol>
<p><code>t-softap</code>命令的源码实现位于demo目录下的<code>wm_softap_demo.c</code>文件中的<code>demo_create_softap</code>函数内,用户可以根据该代码编写自己的softap功能。创建softap的关键代码片段如下:</p>
<pre><code class="language-c">tls_wifi_disconnect();
ssid_len = strlen((const char *)ssid);
MEMCPY(apinfo->ssid, ssid, ssid_len);
apinfo->ssid[ssid_len] = '\0';
apinfo->encrypt = encrypt; /*0:open, 1:wep64, 2:wep128,3:TKIP WPA ,4: CCMP WPA, 5:TKIP WPA2 ,6: CCMP WPA2*/
apinfo->channel = chan; /*channel*/
apinfo->keyinfo.format = format; /*key's format:0-HEX, 1-ASCII*/
apinfo->keyinfo.index = 1; /*wep key index*/
apinfo->keyinfo.key_len = strlen((const char *)key); /*key length*/
MEMCPY(apinfo->keyinfo.key, key, apinfo->keyinfo.key_len);
/*ip info:ipaddress, netmask, dns*/
ipinfo->ip_addr[0] = 192; //设置网关IP
ipinfo->ip_addr[1] = 168;
ipinfo->ip_addr[2] = 1;
ipinfo->ip_addr[3] = 1;
ipinfo->netmask[0] = 255; //掩码
ipinfo->netmask[1] = 255;
ipinfo->netmask[2] = 255;
ipinfo->netmask[3] = 0;
MEMCPY(ipinfo->dnsname, "local.wm", sizeof("local.wm"));
ret = tls_wifi_softap_create(apinfo, ipinfo);
wm_printf("\n ap create %s ! \n", (ret == WM_SUCCESS) ? "Successfully" : "Error");</code></pre>
<p>热点创建成功后输出(ap create Successfully !)如下图所示,并且有客户端连接该热点后会打印出客户端MAC地址,如下图:</p>
<center>![](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=e926cbae61aa3cdfb1e268d00556f549)</center>
<p>手机连接上面例子创建的热点“ttest”,如下图所示:</p>
<center>![](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=8f4131d2b83acadf0c82d13b44cdd792)</center>