0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用树莓派配置您自己的本地Wi-Fi媒体服务器

454398 来源:网络整理 作者:佚名 2019-11-06 10:49 次阅读

第1步:材料

Raspbery Pi Model B

电源适配器

SD存储卡

WiFi适配器(华硕USB-N13)

以太网电缆

USB存储(USB密钥或拇指驱动器

Raspbian “wheezy”Linux发行版(2013-02-09-wheezy-raspbian)

成像软件(例如:Win32DiskImager,http://sourceforge.net/projects/win32diskimager/)

WiFi驱动程序(Realtek RTL8192CU)

[可选] Javascript Framework(bootstrap.js)

第2步:开发环境

带有Internet连接和SD卡读卡器的PC

有线互联网连接

额外的USB键盘,显示器(带HDMI端口或适配器)和USB鼠标

HDMI线(和适配器,如有必要)

步骤3:下载和将Linux分发映像刻录到SD卡

下载Raspbian“wheezy”映像zip文件(http://www.raspberryp) i.org/downloads)并将其解压缩到您选择的目录中。

Linux发行版使用:2013-02-09-wheezy-raspbian

获取支持SD卡的成像软件

Ex:Win32DiskImager, http://sourceforge.net/projects/win32diskimager/

将linux发行版的图像刻录到SD卡:

1。打开Win32磁盘映像器

2。单击目录图标并导航到下载和解压缩的图像(.IMG)并选择“写入”。..提示时确认“是”

3。完成后,会弹出一个窗口,说“写入成功”。单击确定。单击“退出”。

4。删除SD卡。

步骤4:Raspberry Pi的初始启动和配置

首先启动Raspberry Pi时间结果1。在没有电源的情况下将SD卡插入Pi中

2。确保HDMI,键盘和鼠标连接正确

3。连接5V电源

4。 Pi应该作为进程列表启动,应用程序开始填充屏幕

5。出现蓝屏,显示“Raspi-config”和几个菜单选项

6。向下箭头选择“expand_rootfs”并按Enter键7。 “根分区已调整”,然后按回车键。结果8。向下箭头选择‘configure_keyboard’,按Enter键 - a。 (这需要一点时间)从大型选项列表中选择合适的键盘,然后按Enter键。

i。我们使用的是“戴尔USB多媒体键盘”。

b。键盘布局:选择“其他”。按Enter键。

c。选择“英语(美国)”。按Enter键d。选择“英语(美国)”。按Enter

e。 “用作AltGr的键:”选择‘键盘布局的默认值’。 Pres Enter

f。 “撰写密钥:”选择“无撰写密钥”。按Enter

g。 “使用Control + Alt + Backspace终止X服务器?”选择“否”。按Enter键h。消息:“设置初步键映射”。..完成后选择《完成》

i。按两次右箭头键选择“完成”,然后按Enter键。

i。 “你想现在重启吗?”选择《是》。按Enter

9。 Pi重新启动并填充进程和应用程序列表。完成后,将显示登录提示。输入“pi”作为用户名,然后按Enter键。

10。对于Password,键入“raspberry”并按Enter

11。命令行将出现“pi @ raspberrypi~ $”

12。通过验证波形符(〜)和斜杠等字符是否正确显示(/)以及任何其他特殊字符来测试键盘配置。

13。键入“startx”并按Enter键以显示桌面GUI

步骤5:在Pi上配置Internet访问

1。通过以太网电缆将Pi连接到本地网络。 Pi板本身应出现绿灯和黄灯。

2。双击桌面图标‘LXTerminal’

3打开终端。输入‘ifconfig’以确保并按Enter键,Pi具有有效的IP地址

4。输入“ping 8.8.8.8”并按Enter确保Pi可以访问外部服务器。

a。 (按CTRL + C停止Ping和当前终端中运行的任何其他程序)

步骤6:使用PHP安装Web服务器

1。在终端类型‘sudo apt-get update’中按Enter键更新‘apt-get’目录

(这可能需要几分钟时间,并确保所有在线软件包和参考都是最新的。)

2。完成输入‘sudo apt-get install lighttpd’后,按Enter键。

a。 “你想继续吗?”输入‘Y’并按Enter键。

3。输入‘sudo apt-get install php5-common php5-cgi php5’(这将安装3个软件包)

a。输入“Y”并在提示时按Enter键。

4。在web目录/var/www/

上设置权限a。 (如下所示:http://www.penguintutor.com/linux/light-webserver)

b。输入‘sudo chown www-data:www-data/var/www’输入

i。仅供参考:将/var/www的所有权更改为用户和组“www-data”

c。输入‘sudo chmod 775/var/www’输入

i。仅供参考:修改所有者(7),组(7)和其他所有人(5)的权限

d。输入‘sudo usermod -a -G www-data pi’输入

i。仅供参考:将用户pi添加到组www-data

5。在与pi相同的网络上的单独计算机上,您现在应该能够将Pi的IP地址输入浏览器并从Lighttpd接收“占位符页面”。

a。 FYI:输入“ifconfig”对接口/IP信息点击6。启用PHP脚本:‘sudo lighty-enable-mod fastcgi-php’输入

7。重新加载服务器‘sudo service lighttpd force-reload’输入

步骤7:安装Wi-Fi网络并配置无线广播

1。打开终端,输入“命令和apt-get安装hostapd”。进入结果2。输入‘sudo apt-get remove hostapd’。输入。如果提示继续,请键入“y”。

a。安装和删除应用程序可确保创建某些稍后需要的目录和文件。

3。将无线适配器插入Pi上的可用USB端口a。我们使用的是华硕USB-N13

4。在终端类型“lsusb”中,输入以获取已识别设备的列表。 USB-N13应出现在列表

5上。使用Windows机器,下载适用于wi-fi适配器芯片组的Linux驱动程序的zip文件。

a。 (RTL8192CU)可以在这里找到:http://www.realtek.com.tw/downloads/downloadsView.aspx? Langid = 1&PNid = 21&PFid = 48&Level = 5&Conn = 4&DownTypeID = 3&GetDown = false&Downloads = true

b。解压缩文件并输入根目录。

c。打开‘wpa_supplicant_hostapd’,解压缩这里找到的两个zip文件。

d。将根目录放在USB驱动器上,然后将驱动器插入Pi

6上的可用端口。将USB驱动器移至Pi,打开终端并键入“cd/media”。输入。

a。键入“ls”以查看Media目录中所有可用目录的列表。 (这是USB驱动器和其他连接的媒体设备将立即自动挂载和命名的目录)

b。输入‘cd 《列出的驱动器名称》’。输入。您现在应该看到USB驱动器的内容(再次输入ls)

7。浏览USB驱动器以找到您的文件(专门为此芯片组设计的Hostapd的修补版本)

a。提示:不是输入整个目录名。..而是可以输入足够多的目录名称字符,然后按

i。例如:‘cd RTL8188C’并按键完成字符串。这仅在只有一个可能的

匹配时才有效。

b。输入‘cd wpa_supplicant_hostapd/wpa_supplicant_hostapd-0.8’输入

c。键入‘ls’时,您应该看到一个名为‘hostapd’的目录,输入‘cd hostapd’,输入。

8。制作和安装

输入‘sudo make’输入。 (这将需要几分钟)

b。输入‘sudo make install’输入。

9。替换文件

将文件“hostapd”从:/usr/local/bin复制到:/usr/sbin

i。 ‘sudo cp hostapd/usr/sbin’

b。将目录更改为/usr/sbin

i。 cd/usr/sbin

c。可能需要制作“hostapd”可执行文件

i。键入‘ls’。..如果标记为‘hostapd’的文件不是绿色,请运行此命令‘sudo chmod + x hostapd’以使其可执行。

10。编辑“interfaces”文件

输入‘cd/etc/network’输入。

b。键入“sudo nano interfaces”以在文本编辑器中打开文件

c。注释(前缀为“#”)以下行:

iface wlan0 init manual

wpa-roam/etc/wpa_supplicant/wpa_supplicant/conf

d。将以下行添加到文件的底部(本指南修改后的内容http://sirlagz.net/2012/08/09/how-to-use-the-raspberry-pi-as-a-wireless-access -pointrouter-part-1/):

iface wlan0 inet static

地址192.168.2.1

netmask 255.255.255.0

e。关闭并保存“接口”

i。 Control + X,Y,Enter

11。输入‘cd/etc/default’输入

12。编辑“hostapd”文件:

a。输入‘sudo nano hostapd’输入

b。删除出现在‘DAEMON_CONF =“”’行之前和引号类型

“/etc/hostapd/hostapd.conf”之前的井号(#)。

c。关闭并保存我。 CTRL + X,Y,Enter。

13。输入‘cd/etc/hostapd’输入。

14。创建指定的配置文件

输入‘sudo nano hostapd.conf’,输入

b。添加以下行

interface = wlan0

ssid = RaspAP

hw_mode = g

channel = 6

beacon_int = 100

auth_algs = 3

wmm_enabled = 1

c。关闭并保存我。 CTRL + X,Y和Enter

15。测试SSID广播

目录不要紧。..。..(键入“cd/等”回车)点击湾sudo service hostapd start

c。 sudo service hostapd stop

16。安装和配置的dnsmasq(应用程序管理DHCP)点击一个。输入‘sudo apt-get install dnsmasq’,输入

b。提示时按Y键。

c。输入‘sudo nano/etc/dnsmasq.conf’来编辑dnsmasq配置并将以下行添加到文件顶部:

interface = wlan0

dhcp-range = 192.168.2.2, 192.168.2.50,255.255.255.0,12h

address =/#/192.168.2.1 #redirect对192.168.2.1的所有DNS请求

d。 CTRL + X,Y,输入

17。启动(或重新启动)服务(您可能需要在上述安装/配置步骤之后重新启动pi)

a。 sudo service hostapd start

b。 sudo service dnsmasq restart

18。重启

a。如果连接了所有需要的设备(WiFi接口),服务应自动启动。关机

sudo poweroff

b。或:sudo shutdown 。.. then poweroff

步骤8:安装USBmount

1。打开Raspberry Pi并登录。

2。安装USBMount

输入‘sudo apt-get install usbmount’,输入,“y”,输入

此软件将取代Pi上的当前配置,该配置会自动在‘/media’上安装具有唯一名称且受限制的USB驱动器权限。现在USB驱动器将安装为‘usb0’,‘usb1’等。

b。重启系统

(‘sudo reboot’)

步骤9:配置Web服务器以访问USB内容

1。编辑Lighttpd服务器的配置文件:输入‘sudo nano/etc/lighttpd/lighttpd.conf’

添加用于访问“/media”目录(以及任何其他目录)的别名URL:附加行:

i。 alias.url + =(“/media/”=》“/media/”)

b。 CTRL + X,Y,输入

c。 sudo service lighttpd restart

步骤10:安装Javascript Framework

1。有关图像和图标的漂亮外观,请访问http://twitter.github.io/bootstrap/index.html并单击下载。

2。解压缩下载的zip文件的内容,并将根文件夹放在Pi/3上的“/www/”中。 Bootstrap依赖于jquery,它也应该下载,放在root上并引用

(http://jquery.com/download/)

4。在PHP代码中,包括bootstrap javascript和css:

echo‘’;

echo‘’; echo‘

’; echo‘’; echo‘’; echo‘’;

步骤11:开发/修改PHP代码

以下是使用Bootstrap的PHP(/var/www/index.php)脚本的示例

我目前支持jpeg,jpg,png,doc ,docx,txt,mp4和pdf。我还包括在USB上查找可选.INI文件的代码,允许操作员稍微修改显示页面的行为。

《?php

//===================配置关机例程============== ====================

if($ _GET [‘action’] ==“Shutdown”)

{

$ test = shell_exec( “touch/tmp/shutdown”);

echo‘

Shutting down 。..

’;

}

============= =======迭代配置文件===================

$ conf = parse_ini_file(‘/media/usb0/conf.ini’,1) ;

if(isset($ conf [‘title’]))

{$ title = $ conf [‘title’];}

else {$ title =‘USB Content’;}

if(isset($ conf [‘images’])){

$ imagedisplay = strtolower($ conf [‘images’]);

}

if(isset($ conf [‘text’]) ){

$ textdisplay = strtolower($ conf [‘text’]);

}

if(isset($ conf [‘docs’])){

$ docdisplay = strtolower($ conf [‘docs’]);

} if if(isset($ conf [‘pdf’])){

$ pdfdisplay = strtolower($ conf [‘pdf’]);

}

if(isset($ conf [‘videos’])){

$ videodisplay = strtolower($ conf [‘videos’]);

}

if(isset($ conf [‘video streaming) ’))){

$ videostreaming = strtolower($ conf [‘video streaming’]);

}

if(isset($ conf [‘labels’])){

$ labels = strtolower($ conf [‘labels’]);

}

//================配置HTML标头======= =====

echo‘

’;

echo‘’;

echo‘’; echo‘’; echo‘’; echo‘’; if if($ imagedisplay! =‘禁用’)

{

//==================================== =======图片===================

$ images = glob(‘/media/usb0/* {。jpg,.png,。 jpeg}’,GLOB_BRACE);//将所有jpegs或PNG聚合成一个数组

if(!empty($ images))

{

echo‘

Images

’ ;

}

$ count = 0;

echo‘

’; echo‘

’;//使用bootstrap创建一行图像

foreach($ images as $ image)

{

echo‘

’;//在12行中的3个跨度填充1/4行 - 》 4列

if($ labels!=‘disabled’)

{

echo‘ ’;

}

echo‘

’;

$ count = $ count + 1;

if($ count == 4)

{

echo‘

’; echo‘

’;//创建新行

$ count = 0;//重置计数器

}

echo‘

’;

echo‘

’;

}

if($ textdisplay!= ‘禁用’)

{

//=================================== Text = =================

$ count = 0;

echo‘

’;

$ texts = glob(‘/media/usb0/* {.txt}’,GLOB_BRACE);

if(!empty($ texts))

{

echo‘

Text

’;

echo‘

’;

echo‘

’;

foreach($ texts as $ text)

{

echo‘

’;

if($ labels!=‘disabled’)

{

echo‘}

}

echo’

‘;

$ count = $ count + 1;

if($ count == 6)

{

echo’

‘; echo’

‘;

$ count = 0;

}

echo’

‘;

echo ’

‘;

}

if($ docdisplay!=’禁用‘)

{

//============ ==============文档=========================

$ count = 0;

$ docs = glob(’/media/usb0/* {.doc,.docx}‘,GLOB_BRACE);

if(!empty($ docs))

{

echo’

Docs

‘;

}

echo’

‘; echo’

‘;

foreach($ docs as $ doc)

{

echo’

‘;

if($ labels!=’disabled‘)

{《回声’

‘。basename($ doc)。’

‘。PHP_EOL;

}

’;

}

echo‘

’;

$ count = $ count + 1;

if( $ count == 6)

{

echo‘

’;

echo‘

’;

$ count = 0;

}

}

echo‘

’;

echo‘

’;

}

if($ pdfdisplay!=‘disabled’)

{

//=============================== PDF =============== ================

$ count = 0;

$ pdfs = glob(‘/media/usb0/* {.pdf}’,GLOB_BRACE);

如果(!空($ PDF文件)){搜索结果ECH o‘

PDF

’;

}

echo‘

’;

echo‘

’;

foreach($ pdfs as $ pdf)

{

echo‘

’;

if($ labels!=‘disabled’ )

‘。basename($ pdf)。’

‘。PHP_EOL;

}

echo’}

echo‘

’;

$ count = $ count + 1 ;

if($ count == 6)

{

echo‘

’;

echo‘

’;

$ count = 0;

echo‘

’;

echo‘

’;

}

if($ videodisplay!=‘disabled’)

{

if($ videostreaming!=‘禁用’)

{

//======================== =====视频流==================

$ count = 0;

$ videos = glob(‘/media/usb0/* {。 mp4}’,GLOB_BRACE);

if(!empty($ videos))

{

echo‘

视频

’;

}

echo‘

’;

echo‘

’;

foreach($视频为$ video)

{

echo‘

’;//视频分为两列

echo‘

’;

echo‘

’;

$ count = 0;

}

echo‘

’;

echo‘

’;结果}结果其他搜索{//搜索================================= ====视频下载========================

$ count = 0;

$ videos = glob(‘/media/usb0/* {.mp4}’,GLOB_BRACE);

if(!empty($ videos))

{

echo‘

视频

’;

}

echo‘

’;

echo‘

’;

foreach($ video as $ video)

{

echo‘

’;

if($ labels!=‘disabled’)

{

echo‘

’。basename($视频)。‘

’。PHP_EOL;

//echo‘

’。PHP_EOL;

}

“download =”‘。basename($ video)。’“》 ‘;

}

echo’‘;

$ count = $ count + 1;

if($ count == 6)

{

echo’‘; echo’

‘ ;

$ count = 0;

}

echo’

‘;

echo’

‘;

}

}

//==================

echo’

‘;

//========= ========配置页脚======================

if(空($ images)&& empty($ texts)&& empty ($ videos)&& empty($ pdfs)&& empty($ docs))

{

echo’

无需显示任何内容。

‘;

}

echo’‘; echo’

‘; echo’ Shutdown ‘; echo’

‘; echo’‘; echo’‘;

echo’‘;

echo’‘;

?》

步骤12:配置Cron作业

在此处添加了关闭cron作业:http://ubuntuforums.org/showthread.php?t = 1855905

由于Apache服务器以用户www-data运行而不是root用户,因此我不知道t认为该示例将起作用。

需要两个脚本:一个在浏览器中显示的PHP脚本,以及一个使用cron以root身份运行的shell脚本:

浏览器代码:

要添加到索引的代码.php:

if($ _POST [’action‘] ==“Shutdown”){

$ test = shell_exec(“touch/tmp/shutdown”);

}

Shell脚本/usr/sbin/check_shutdown(编辑命令:’sudo nano/usr/sbin/check_shutdown‘)

代码:

#!/bin/sh

if [-f“/tmp/shutdown”]

rm -f/tmp/shutdown

/sbin/shutdown -h now

fi

编辑root的crontab使用命令“sudo crontab -e”并添加行代码:

* * * * * sh/usr/sbin/check_shutdown

每分钟运行一次check_shutdown脚本。如果找到PHP脚本创建的/tmp/shutdown文件,它将执行shutdown命令。

步骤13:在USB Key上加载媒体并连接到Pi

只需插入一个USB驱动器,其中包含您希望以无线方式提供的文件(支持的文件类型)并插入Raspberry Pi。

步骤14:测试客户端连接&媒体浏览

在Pi的范围内,使用笔记本电脑智能手机或其他移动设备,连接到标有’的无线接入点RaspAP‘。

连接后,打开浏览器并导航到“192.168.2.1”或输入基本请求,例如“www.google.com”。这应该会将您重定向到您的页面。
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • wi-fi
    +关注

    关注

    14

    文章

    2118

    浏览量

    124365
  • 树莓派
    +关注

    关注

    116

    文章

    1701

    浏览量

    105557
收藏 人收藏

    评论

    相关推荐

    Wi-Fi 8要来了!未来Wi-Fi技术演进方向揭秘

    电子发烧友网报道(文/梁浩斌)Wi-Fi 7芯片早在2022年就有产品推出,直到去年年底,Wi-Fi 7设备开始大量推出市场。但从普及率来看,根据奥维云网的数据,截至2024年9月,线上家用路由
    的头像 发表于 11-24 03:14 1176次阅读
    <b class='flag-5'>Wi-Fi</b> 8要来了!未来<b class='flag-5'>Wi-Fi</b>技术演进方向揭秘

    Wi-Fi资产跟踪应用示例概述

    SiliconLabs(亦称“芯科科技”)近期在GitHub资源库中发布了一个基于最新SiWx917 Wi-Fi SoC的Wi-Fi资产跟踪(Asset Tracking)应用示例。此应用程序演示如何将SiWG917模块配置为A
    的头像 发表于 11-08 14:47 270次阅读

    Wi-Fi 7与Wi-Fi 6E有什么区别

    也许很多人还在考虑是否要将使用的Wi-Fi设备升级到Wi-Fi 6或Wi-Fi 6E,而这些标准的继任者却已经开始“登堂入室”了。Wi-Fi 7是新一代
    的头像 发表于 11-07 11:38 572次阅读

    最典型的3家Wi-Fi Halow芯片企业

    Wi-Fi Halow是Wi-Fi联盟推出的专门面向物联网市场的标准。
    的头像 发表于 08-30 09:58 1293次阅读
    最典型的3家<b class='flag-5'>Wi-Fi</b> Halow芯片企业

    IR900 Wi-Fi联网的配置过程

    ”接口选择Wi-Fi接口: dot11radio1类型选择:动态地址( DHCP) 如果Wi-Fi路由没有开DHCP,请选择类型:静态IP,填写IP/子网掩码/网关/DNS
    发表于 07-25 06:09

    ESP8266如何为应用程序选择正确的Wi-Fi模块吗?

    您能帮我为我们的新应用程序选择正确的 Wi-Fi 模块吗? 该模块的要求如下: - 从主机应用程序控制(通过STM32通过SPI、SDIO或最坏情况下的UART) - 接入点/软 AP,可以同时
    发表于 07-19 16:56

    如何记住ESP8266中的Wi-Fi凭据?

    您好,我正在与ESP8266合作,在公司进行一个项目。在成功智能配置后,我无法记住 Wi-Fi 凭据。ESP8266软件版本如下: 在GMR AT版本:1.2.0.0(Jul 1, 2016 20
    发表于 07-15 07:07

    未来的Wi-Fi路由

    转载自——钟林谈芯 没有创新就没有未来,Wi-Fi路由也是如此。 进入2024年以后,Wi-Fi路由市场变得更加艰难,利润大幅下滑,BOM成本价高于市场价,接不接订单,都陷入两难。
    的头像 发表于 06-20 15:32 402次阅读

    华为获得全球首个国际Wi-Fi联盟WFA企业级Wi-Fi 7认证!

    Wi-Fi联盟已发布Wi-Fi 7认证标准,华为是第一批送测厂商,获得业界首个企业级Wi-Fi 7 的Wi-Fi联盟官方认证。
    的头像 发表于 04-28 10:17 667次阅读
    华为获得全球首个国际<b class='flag-5'>Wi-Fi</b>联盟WFA企业级<b class='flag-5'>Wi-Fi</b> 7认证!

    Wi-Fi 7与Wi-Fi 6的相关知识科普

    科普:Wi-Fi 7 vs. Wi-Fi 6,青出于蓝
    的头像 发表于 03-12 10:59 711次阅读
    <b class='flag-5'>Wi-Fi</b> 7与<b class='flag-5'>Wi-Fi</b> 6的相关知识科普

    Wi-Fi的诞生与发展

    短距离无线通信技术有Wi-Fi、ZigBee、蓝牙以及Z-Wave,今天我们先揭开Wi-Fi的神秘面纱。Chrent短距离无线通信技术——Wi-Fi过去的20多年,Wi-Fi靠着仅有的
    的头像 发表于 03-07 08:26 1155次阅读
    <b class='flag-5'>Wi-Fi</b>的诞生与发展

    XMC4700是否可以通过SDIO接口与Wi-Fi模块通信?

    XMC4700 数据表中的外设列表显示\"SD 和多媒体卡接口(SDMMC),用于数据存储记忆卡\" ,但是否可以通过 SDIO 接口与 Wi-Fi 模块通信? Wi-Fi 模块可与 SDIO 接口通信。
    发表于 03-06 07:26

    Wi-Fi HaLow和传统Wi-Fi的区别

    Wi-Fi HaLow和传统Wi-Fi的区别  Wi-Fi是一种无线网络技术,可以连接到互联网或局域网,为用户提供无线上网的便利。随着科技的发展和互联网的普及,Wi-Fi也在不断演进和
    的头像 发表于 02-02 15:28 1134次阅读

    康普携手Wi-Fi联盟,RUCKUS Wi-Fi 7系列接入点成Wi-Fi

     康普高级副总裁兼网络、智能蜂窝和安全解决方案总裁Bart Giordano对此表示: “我们非常荣幸能与Wi-Fi Alliance形成长期合作伙伴关系,将我们的RUCKUS Wi-Fi 7 接入点平台作为Wi-Fi CERT
    的头像 发表于 01-23 14:10 717次阅读

    Wi-Fi 6和Wi-Fi 5之间有哪些区别呢?

    Wi-Fi 6和Wi-Fi 5之间有哪些区别呢? Wi-Fi 6和Wi-Fi 5是无线局域网标准的两个版本,它们之间存在很多区别。Wi-Fi
    的头像 发表于 12-09 16:09 2285次阅读