【安信可BW16-Kit】 WebServer服务器下测试双频Wi-Fi传输速率
<div class='showpostmsg'># 【安信可BW16-Kit】 WebServer服务器下测试双频Wi-Fi传输速率# 前言
BW16支持双频(2.4GHz 或 5GHz)WLAN
这种支持5g WiFi的模组 可以用于一些上传,下载大文件的情况中
比如,无线打印,升级固件等
这次评测下 BW16 作为server 在2.4g 和 5g wifi下传输大文件的时间差别
## 代码
```
#include <WiFi.h>
char ssid[] = "wh5"; // wifi账号密码
char pass[] = "password";
// ADC引脚号
// int analogChannel = PB3;
int status = WL_IDLE_STATUS;
// 测试文本
char text[] = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
// 实例化sever 端口80
WiFiServer server(80);
void setup() {
// 打开串口
Serial.begin(115200);
// 等待开启完成
while (!Serial) {
; // 等待串口连接。仅本机 USB 端口需要
}
Serial.println("noonezero111");
// 检查防护罩是否存在:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
// don't continue:
while (true);
}
// 连接Wifi
while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
// 连接到 WPA/WPA2 网络
status = WiFi.begin(ssid, pass);
// 等待
delay(10000);
}
// 开启服务器
server.begin();
// 打印网络
printWifiStatus();
}
void loop() {
// 传入客户端
WiFiClient client = server.available();
if (client) {
Serial.println("new client");
// HTTP 请求以空行结尾
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
// http请求结束
if (c == '\n' && currentLineIsBlank) {
// 发送响应头
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
for(int i=0; i<100000; i++){
client.println(text);
}
client.println("<br />");
client.println("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
} else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
Serial.println("client disonnected");
}
}
void printWifiStatus() {
// print the SSID of the network you're attached to:
Serial.println();
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// print your WiFi shield's IP address:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
// print the received signal strength:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
```
## 说明
#### 由于BW16只有2Mflash空间,就没有用文件,以字符串传输。
#### 分别测试 text(64个A),text(256个A),text(512个A),text(2048个A)
#### 传输的时候,多次传输 text 文本,方便查看差异
```
for(int i=0; i<100000; i++){
client.println(text);
}
```
#### 测试过程,以text(64个A)为例,先连接2.4g Wifi, 电脑打开隐身模式调出开发者工具,然后访问服务器,查看加载时间,相同代码连接5gwifi,再次打开隐身模式调出开发者工具,访问服务器,查看加载时间
# 测试结果如下
## text(64个A)传输如下
### 2.4g text(64个A)传输如下
### 5g text(64个A)传输如下
---
## text(256个A)传输如下
### 2.4g text(256个A)传输如下
### 5g text(256个A)传输如下
---
## text(512个A)传输如下
### 2.4g text(512个A)传输如下
### 5g text(512个A)传输如下
---
## text(2048个A)传输如下
### 2.4g text(2048个A)传输如下
### 5g text(2048个A)传输如下
---
#### 首先声明,本人不是wifi相关专业,此次测试一非专业测试,二可能测试变量控制有些没做好,三也是最重要的,本次测试使用Arduino编程,如果SDK应该会更好
#### 变量方面,首先同一台电脑,千兆网线直连路由器,网页打开每次都是重开隐身模式,尽量能想到的都控制了,当然非专业,可能有疏忽
## 我的结论
#### BW16 确实是少见的支持双频的芯片
#### 但是基于芯片本身性能瓶颈,无法达到5g Wifi满速运行,故传输速率相比2.4g没提速太多
#### 不过不可否认是一款很好的模组,期待安信可可以做的更好</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>确实速率感觉没有很明显的区别,要不测测5G和2.4G的功耗?</p>
wangerxian 发表于 2024-3-5 09:20
确实速率感觉没有很明显的区别,要不测测5G和2.4G的功耗?
<p>好主意,我测试下</p>
页:
[1]