ARM DIY(四)WiFi 调试

文章目录

    • 焊接
    • 打开内核编译选项
    • 重新编译内核
    • 烧录 && 运行 && 测试
    • 完善脚本
    • 测速
    • 手搓天线
    • 正式天线

焊接

换个粗点的风枪嘴,让热风覆盖 RTL8823BS 整体模块,最终实现自动归位
请添加图片描述

焊接 SDIO 接口的上拉电阻以及复位引脚上拉电阻
硬件部分就这么多比较简单,接下来是软件部分

打开内核编译选项

搜索 RTL8723BS
在这里插入图片描述
RTL8723BS 默认关闭,不过要使能该驱动之前,需要先使能 WLANCFG80211
搜索 WLAN
在这里插入图片描述
使能 WLAN
在这里插入图片描述
搜索 CFG80211
在这里插入图片描述
已经被打开了,应该是使能 WLAN 时,将其联动打开了
使能 RTL8723BS
在这里插入图片描述
发现只能选择为 [M] 无法选择成 [*],有了解的小伙伴可以告知下原因。我的猜测是,WiFi 接口 up 时需要将 fw 文件加载到 WiFi Chip,如果将驱动编译成内核静态模块的话,驱动初始化在文件系统挂载前,那时候还无法从文件系统中读取 fw 文件,所以索性就只让该驱动编译成动态模块,等操作系统启动完毕后由应用层手动加载,这时候就可以方便地从文件目录中读取 fw 文件发送给 WiFi Chip 了。

重新编译内核

make O=DIY_V3S/ linux-rebuild
make O=DIY_V3S/
cp DIY_V3S/images/sdcard.img ~/share/
sync

烧录 && 运行 && 测试

SD 卡烧录 sdcard.img 镜像
上电启动
安装驱动

# insmod  /lib/modules/5.3.5/kernel/drivers/staging/rtl8723bs/r8723bs.ko
[   60.289175] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
[   60.320409] RTL8723BS: module init start
[   60.326135] RTL8723BS: rtl8723bs v4.3.5.5_12290.20140916_BTCOEX20140507-4E40
[   60.335108] RTL8723BS: rtl8723bs BT-Coex version = BTCOEX20140507-4E40
[   60.386496] pnetdev = de099689
[   60.448836] RTL8723BS: rtw_ndev_init(wlan0)
[   60.456286] RTL8723BS: module init ret =0
# 

驱动安装后,就会产生 wlan0 接口,但是没有 up,需要手动将其 up

# ifconfig wlan0 up
[  167.848205] rtl8723bs: acquire FW from file:rtlwifi/rtl8723bs_nic.bin
# 

初次 up 时,会加载 firmware 到 WiFi Chip,fw 文件存放在 /lib/firmware/rtlwifi/

# ls /lib/firmware/rtlwifi/
rtl8712u.bin             rtl8723bs_ap_wowlan.bin  rtl8723bu_nic.bin
rtl8723aufw_A.bin        rtl8723bs_bt.bin         rtl8723bu_wowlan.bin
rtl8723aufw_B.bin        rtl8723bs_nic.bin        rtl8723fw.bin
rtl8723aufw_B_NoBT.bin   rtl8723bs_wowlan.bin     rtl8723fw_B.bin
rtl8723befw.bin          rtl8723bu_ap_wowlan.bin

查看接口

# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 34:C3:D2:BD:F8:81  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

# 

发现已经 up 了,接下来就让它连接家里 WiFi,
配置 wpa_supplicant.conf

# cat /etc/wpa_supplicant.conf
ap_scan=1
network={
    ssid="your SSID"
    scan_ssid=1
    key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
    pairwise=TKIP CCMP
    psk="your SSID password"
    priority=5
}
#

连接

# wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlan0
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
# [ 1060.759388] RTL8723BS: rtw_set_802_11_connect(wlan0)  fw_state = 0x00000008
[ 1061.055922] RTL8723BS: start auth
[ 1061.366001] RTL8723BS: auth success, start assoc
[ 1061.378898] RTL8723BS: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
[ 1061.387965] RTL8723BS: assoc success
[ 1061.398201] RTL8723BS: send eapol packet
[ 1061.428154] RTL8723BS: send eapol packet
[ 1061.442062] RTL8723BS: set pairwise key camid:4, addr:80:ea:07:c9:d6:4a, kid:0, type:AES
[ 1061.476357] RTL8723BS: set group key camid:5, addr:80:ea:07:c9:d6:4a, kid:1, type:AES

# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 34:C3:D2:BD:F8:81  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:62 errors:0 dropped:70 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:14450 (14.1 KiB)  TX bytes:288 (288.0 B)

# 

连接成功,不过没有分配 IP 地址,手动触发 DHCP 获取 IP

# udhcpc -i wlan0
udhcpc: started, v1.36.1
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.31.29, server 192.168.31.1
udhcpc: lease of 192.168.31.29 obtained from 192.168.31.1, lease time 43200
deleting routers
adding dns 192.168.31.1
# 

ping 外网测试

# ping baidu.com
PING baidu.com (39.156.66.10): 56 data bytes
64 bytes from 39.156.66.10: seq=0 ttl=49 time=76.509 ms
64 bytes from 39.156.66.10: seq=1 ttl=49 time=37.077 ms
64 bytes from 39.156.66.10: seq=2 ttl=49 time=41.511 ms
64 bytes from 39.156.66.10: seq=3 ttl=49 time=45.283 ms
64 bytes from 39.156.66.10: seq=4 ttl=49 time=37.318 ms
64 bytes from 39.156.66.10: seq=5 ttl=49 time=39.462 ms
^C
--- baidu.com ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 37.077/46.193/76.509 ms
# 

网络已通

完善脚本

列举上述操作

  • 安装驱动
  • up interface
  • 使用 wpa_supplicant 连接
  • 执行 dhcp 获取 IP

如果板子每次重启后都需要手动执行上述操作,那就太麻烦了,遂将上述操作添加到启动脚本中

# cat /etc/inittab 
# /etc/inittab
。。。
# now run any rc scripts
::sysinit:/etc/init.d/rcS
::sysinit:/etc/init.d/rc.local // 添加这行
。。。
# 

创建 rc.local 文件,并赋予可执行权限

# cat /etc/init.d/rc.local 
#!/bin/sh

/etc/init.d/wifi_insmod_connect.sh

#

创建 wifi_insmod_connect.sh 文件,并赋予可执行权限

# cat /etc/init.d/wifi_insmod_connect.sh 
#!/bin/sh

insmod  /lib/modules/5.3.5/kernel/drivers/staging/rtl8723bs/r8723bs.ko
ifconfig wlan0 up
wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlan0
sleep 3s
udhcpc -i wlan0
# 

重启

[    1.826283] Run /sbin/init as init process
[    1.977033] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    2.471812] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
[    2.523731] RTL8723BS: module init start
[    2.529315] RTL8723BS: rtl8723bs v4.3.5.5_12290.20140916_BTCOEX20140507-4E40
[    2.538281] RTL8723BS: rtl8723bs BT-Coex version = BTCOEX20140507-4E40
[    2.568836] pnetdev = 24ff44ca
[    2.631249] RTL8723BS: rtw_ndev_init(wlan0)
[    2.638718] RTL8723BS: module init ret =0
[    2.676561] rtl8723bs: acquire FW from file:rtlwifi/rtl8723bs_nic.bin
[    5.959413] RTL8723BS: rtw_set_802_11_connect(wlan0)  fw_state = 0x00000008
[    6.247413] RTL8723BS: start auth
[    6.254599] RTL8723BS: auth success, start assoc
[    6.266249] RTL8723BS: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
[    6.275381] RTL8723BS: assoc success
[    6.285938] RTL8723BS: send eapol packet
[    6.311315] RTL8723BS: send eapol packet
[    6.325445] RTL8723BS: set pairwise key camid:4, addr:80:ea:07:c9:d6:4a, kid:0, type:AES
[    6.358530] RTL8723BS: set group key camid:5, addr:80:ea:07:c9:d6:4a, kid:1, type:AES

Welcome to Buildroot for the LicheePi Zero
licheepi-zero login: [   31.843505] vcc5v0: disabling

Welcome to Buildroot for the LicheePi Zero
licheepi-zero login: root
# ifconfig 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 34:C3:D2:BD:F8:81  
          inet addr:192.168.31.29  Bcast:192.168.31.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:107 errors:0 dropped:119 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20760 (20.2 KiB)  TX bytes:1098 (1.0 KiB)

# ping baidu.com
PING baidu.com (39.156.66.10): 56 data bytes
64 bytes from 39.156.66.10: seq=0 ttl=49 time=61.308 ms
64 bytes from 39.156.66.10: seq=1 ttl=49 time=44.674 ms
64 bytes from 39.156.66.10: seq=2 ttl=49 time=73.668 ms
64 bytes from 39.156.66.10: seq=3 ttl=49 time=40.631 ms
^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 40.631/55.070/73.668 ms
# 

可以看到,板子启动后,WiFi 已工作,网络已通。

测速

编译 iperf 测试一下网速
在这里插入图片描述

# iperf3 -s
warning: this system does not seem to support IPv6 - trying IPv4
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.31.211, port 2642
[  5] local 192.168.31.29 port 5201 connected to 192.168.31.211 port 2643
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  88.4 KBytes   724 Kbits/sec                  
[  5]   1.00-2.00   sec  82.7 KBytes   677 Kbits/sec                  
[  5]   2.00-3.00   sec   168 KBytes  1.38 Mbits/sec                  
[  5]   3.00-4.00   sec   111 KBytes   911 Kbits/sec                  
[  5]   4.00-5.00   sec   111 KBytes   911 Kbits/sec                  
[  5]   5.00-6.00   sec  79.8 KBytes   654 Kbits/sec                  
[  5]   6.00-7.00   sec  92.7 KBytes   759 Kbits/sec                  
[  5]   7.00-8.00   sec  89.8 KBytes   736 Kbits/sec                  
[  5]   8.00-9.00   sec  82.7 KBytes   677 Kbits/sec                  
[  5]   9.00-10.00  sec  37.1 KBytes   304 Kbits/sec                  
[  5]  10.00-11.00  sec   104 KBytes   855 Kbits/sec                  
[  5]  11.00-11.41  sec  58.5 KBytes  1.16 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-11.41  sec  1.08 MBytes   794 Kbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------

只有 1Mbps 。。。
哦,对了,没接天线,应该是信号不好,看下信号强度,
但是板子中并没有 wpa_cli 命令,交叉编译了一个,
又提示 CONFIG_CTRL_IFACE not defined - wpa_cli disabled
而 wpa_supplicant.conf 中添加 ctrl_interface=/var/run/wpa_supplicant 后 wpa_supplicant 又运行不起来。。。
索性不用系统自带的 wpa_supplicant 了(应该是有点问题)。
按照之前写的一篇文章《hostapd、wpa_supplicant 交叉编译》,重新编译 wpa_supplicant ,并在 wpa_supplicant.conf 中添加

ctrl_interface=/var/run/wpa_supplicant

系统重启后查看 RSSI

# wpa_cli -i wlan0 signal_poll
RSSI=-65
LINKSPEED=150
NOISE=9999
FREQUENCY=2437

RSSI=-65 确实是信号太弱了,
买的 IPEX 座子还没到,怎么办呢?

手搓天线

那就先手撸一根天线焊上试试吧
请添加图片描述

# wpa_cli -i wlan0 signal_poll
RSSI=-45
LINKSPEED=150
NOISE=9999
FREQUENCY=2437

哇,RSSI 直接增强到 -45,NB
测一下速

# iperf3 -s
warning: this system does not seem to support IPv6 - trying IPv4
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.31.211, port 14988
[  5] local 192.168.31.29 port 5201 connected to 192.168.31.211 port 14989
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  6.10 MBytes  51.1 Mbits/sec                  
[  5]   1.00-2.00   sec  5.56 MBytes  46.7 Mbits/sec                  
[  5]   2.00-3.00   sec  6.44 MBytes  54.0 Mbits/sec                  
[  5]   3.00-4.00   sec  6.33 MBytes  53.1 Mbits/sec                  
[  5]   4.00-5.00   sec  6.28 MBytes  52.7 Mbits/sec                  
[  5]   5.00-6.00   sec  6.05 MBytes  50.7 Mbits/sec                  
[  5]   6.00-7.00   sec  4.56 MBytes  38.2 Mbits/sec                  
[  5]   7.00-8.00   sec  7.06 MBytes  59.3 Mbits/sec                  
[  5]   8.00-9.00   sec  6.34 MBytes  53.2 Mbits/sec                  
[  5]   9.00-10.00  sec  6.53 MBytes  54.7 Mbits/sec                  
[  5]  10.00-10.89  sec  5.87 MBytes  55.7 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.89  sec  67.1 MBytes  51.7 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------

51Mbps,鼓掌👏👏👏

正式天线

等了两天,IPEX 座子到了,焊接,插天线
请添加图片描述

查看信号强度

# wpa_cli -i wlan0 signal_poll
RSSI=-45
LINKSPEED=150
NOISE=9999
FREQUENCY=2437

和我手搓的天线一样啊,也没高多少,抑或是软件最强只能显示 -45 ???
再测下速

# iperf3 -s
warning: this system does not seem to support IPv6 - trying IPv4
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.31.211, port 1148
[  5] local 192.168.31.29 port 5201 connected to 192.168.31.211 port 1149
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  5.35 MBytes  44.9 Mbits/sec                  
[  5]   1.00-2.00   sec  6.11 MBytes  51.3 Mbits/sec                  
[  5]   2.00-3.00   sec  6.46 MBytes  54.2 Mbits/sec                  
[  5]   3.00-4.00   sec  6.38 MBytes  53.5 Mbits/sec                  
[  5]   4.00-5.00   sec  5.64 MBytes  47.4 Mbits/sec                  
[  5]   5.00-6.00   sec  5.86 MBytes  49.2 Mbits/sec                  
[  5]   6.00-7.00   sec  6.26 MBytes  52.4 Mbits/sec                  
[  5]   7.00-8.00   sec  5.18 MBytes  43.5 Mbits/sec                  
[  5]   8.00-9.00   sec  5.96 MBytes  50.0 Mbits/sec                  
[  5]   9.00-10.00  sec  5.97 MBytes  50.1 Mbits/sec                  
[  5]  10.00-10.86  sec  5.70 MBytes  56.0 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.86  sec  64.9 MBytes  50.1 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------

也是 50Mbps 左右嘛。。。说明我手搓的天线性能还是挺好的。

至此,WiFi 调试 OK

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/100825.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux centos7 bash中字符串反向输出

给定一个字符串,如何反向(倒序)输出? 字符串反转的方法:a.对各个字符位置进行循环调换(从原字符串左边取出放在新字符串的右边;从原字符串右边取出放在新字符串的左边)。b.对各个字符由水平排列转为垂直排…

时序预测 | MATLAB实现EEMD-SSA-LSTM、EEMD-LSTM、SSA-LSTM、LSTM时间序列预测对比

时序预测 | MATLAB实现EEMD-SSA-LSTM、EEMD-LSTM、SSA-LSTM、LSTM时间序列预测对比 目录 时序预测 | MATLAB实现EEMD-SSA-LSTM、EEMD-LSTM、SSA-LSTM、LSTM时间序列预测对比预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 时序预测 | MATLAB实现EEMD-SSA-LSTM、E…

渗透测试漏洞原理之---【失效的访问控制】

文章目录 1、失效的访问控制1.1、OWASP Top 101.1.1、A5:2017-Broken Access Control1.1.2、A01:2021 – Broken Access Control 1.2、失效的访问控制类别1.2.1、水平越权1.2.2、垂直越权 1.3、攻防案例1.3.1、Pikachu靶场 Over Permision1.3.2、DVWA越权利用失效的访问控制漏洞…

大数据课程K16——Spark的梯度下降法

文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的梯度下降法; ⚪ 了解Spark的梯度下降法家族(BGD,SGD,MBGD); ⚪ 掌握Spark的MLlib实现…

Data Rescue Professional for Mac:专业的数据恢复工具

在数字化时代,我们的生活和工作离不开电脑和存储设备。但是,意外情况时常发生,例如误删除文件、格式化硬盘、病毒攻击等,这些都可能导致重要的数据丢失。面对数据丢失,我们迫切需要一款可靠的数据恢复工具。今天&#…

剪枝基础与实战(5): 剪枝代码详解

对模型进行剪枝,我们只对有参数的层进行剪枝,我们基于BatchNorm2d对通道重要度 γ \gamma γ参数进行稀释训练。对BatchNorm2d及它的前后层也需要进行剪枝。主要针对有参数的层:Conv2d、BatchNorm2d、Linear。但是我们不会对Pool2d 层进行剪枝,因为Pool2d只用来做下采样,没…

在windows下进行maven安装配置

下载 https://maven.apache.org/download.cgi 安装配置 配置settings.xml文件 如果需要修改仓库的地址,可新增一条localRepository的记录,加上存放下载jar包的地址。 设置Maven镜像下载地址 配置完成,在命令行输入mvn help:system测试&#…

科创板50ETF期权交易:详细规则、费用、保证金和开户攻略

科创板50ETF期权是指以科创板50ETF为标的资产的期权合约。科创板50ETF是由交易所推出的一种交易型开放式指数基金(ETF),旨在跟踪科创板50指数的表现,下文介绍科创板50ETF期权交易:详细规则、费用、保证金和开户攻略&am…

uni-app中使用iconfont彩色图标

uni-app中使用iconfont彩色图标 大家好,今天我们来学习一下uni-app中使用iconfont彩色图标,好好看,好好学,超详细的 第一步 首先,从iconfont官网(iconfont-阿里巴巴矢量图标库)选择自己需要的图…

QT6为工程添加资源文件,并在ui界面引用

以添加图片资源为例 右键工程名字(不是最上面的名字),点击添加现有文件 这种方式虽然添加到了工程中,但不能在UI设计界面完成引用。主要原因可能是未把文件放入到项目资源文件中,以下面一种方式可以看出区别。 点击添…

FFmpeg报错:Connection to tcp://XXX?timeout=XXX failed: Connection timed out

一、现象 通过FFmpeg(FFmpeg的版本是5.0.3)拉摄像机的rtsp流获取音视频数据,执行命令: ./ffmpeg -timeout 3000000 -i "rtsp://172.16.17.156/stream/video5" 报错:Connection to tcp://XXX?timeoutXXX …

生态项目|Typus如何用Sui特性制作动态NFT为DeFi赋能

对于许多人来说,可能因其涉及的期权、认购和价差在内的DeFi而显得晦涩难懂,但Typus Finance找到了一种通过动态NFT使体验更加丰富的方式。Typus NFT系列的Tails为用户带来一个外观逐渐演变并在平台上提升活动水平时获得新特权的角色。 Typus表示&#x…

解决npm install报错: No module named gyp

今天运行一个以前vue项目,启动时报错如下: ERROR Failed to compile with 1 error上午10:19:33 error in ./src/App.vue?vue&typestyle&index0&langscss& Syntax Error: Error: Missing binding D:\javacode\Springboot-MiMall-RSA\V…

【数据结构】2015统考真题 6

题目描述 【2015统考真题】求下面的带权图的最小(代价)生成树时,可能是Kruskal算法第2次选中但不是Prim算法(从v4开始)第2次选中的边是(C) A. (V1, V3) B. (V1, V4) C. (V2, V3) D. (V3, V4) …

maven本地安装jar包install-file,解决没有pom的问题

背景: 公司因为权限问题,没有所有的代码,内部maven还在搭建,所以需要拿到同事的jar包,本地install: mvn install:install-file -DgroupIdcom..framework -DartifactIdcloud-api -Dversion1.0.0-SNAPSHOT …

【C语言】字符函数,字符串函数,内存函数

大家好!今天我们来学习C语言中的字符函数,字符串函数和内存函数。 目录 1. 字符函数 1.1 字符分类函数 1.2 字符转换函数 1.2.1 tolower(将大写字母转化为小写字母) 1.2.2 toupper(将小写字母转化为大写字母&…

常用框架分析(7)-Flutter

框架分析(7)-Flutter 专栏介绍Flutter核心思想Flutter的特点快速开发跨平台高性能美观的用户界面 Flutter的架构框架层引擎层平台层 开发过程使用Dart语言编写代码编译成原生代码热重载工具和插件 优缺点优点跨平台开发高性能美观的用户界面热重载强大的…

服务器端使用django websocket,客户端使用uniapp 请问服务端和客户端群组互发消息的代码怎么写的参考笔记

2023/8/29 19:21:11 服务器端使用django websocket,客户端使用uniapp 请问服务端和客户端群组互发消息的代码怎么写 2023/8/29 19:22:25 在服务器端使用Django WebSocket和客户端使用Uniapp的情况下,以下是代码示例来实现服务器端和客户端之间的群组互发消息。 …

RTPEngine 通过 HTTP 获取指标的方式

文章目录 1.背景介绍2.RTPEngine 支持的 HTTP 请求3.通过 HTTP 请求获取指标的方法3.1 脚本配置3.2 请求方式 1.背景介绍 RTPEngine 是常用的媒体代理服务器,通常被集成到 SIP 代理服务器中以减小代理服务器媒体传输的压力,其架构如下图所示。这种使用方…

【数据结构】十字链表的画法

十字链表的基本概念 有向边又称为弧 假设顶点 v 指向 w,那么 w 称为弧头,v 称为弧尾 顶点节点采用顺序存储 顶点节点 data:存放顶点的信息firstin:指向以该节点为终点(弧头)的弧节点firstout&#xff1…