ARM DIY(四)WiFi 调试
文章目录
- 焊接
- 打开内核编译选项
- 重新编译内核
- 烧录 && 运行 && 测试
- 完善脚本
- 测速
- 手搓天线
- 正式天线
焊接
换个粗点的风枪嘴,让热风覆盖 RTL8823BS 整体模块,最终实现自动归位

焊接 SDIO 接口的上拉电阻以及复位引脚上拉电阻
硬件部分就这么多比较简单,接下来是软件部分
打开内核编译选项
搜索 RTL8723BS

RTL8723BS 默认关闭,不过要使能该驱动之前,需要先使能 WLAN 和 CFG80211
搜索 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:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions: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=1key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONEpairwise=TKIP CCMPpsk="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:1RX packets:62 errors:0 dropped:70 overruns:0 frame:0TX packets:2 errors:0 dropped:0 overruns:0 carrier:0collisions: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/shinsmod /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:AESWelcome to Buildroot for the LicheePi Zero
licheepi-zero login: [ 31.843505] vcc5v0: disablingWelcome 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.0UP LOOPBACK RUNNING MTU:65536 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions: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.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:107 errors:0 dropped:119 overruns:0 frame:0TX packets:5 errors:0 dropped:0 overruns:0 carrier:0collisions: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
相关文章:
ARM DIY(四)WiFi 调试
文章目录 焊接打开内核编译选项重新编译内核烧录 && 运行 && 测试完善脚本测速手搓天线正式天线 焊接 换个粗点的风枪嘴,让热风覆盖 RTL8823BS 整体模块,最终实现自动归位 焊接 SDIO 接口的上拉电阻以及复位引脚上拉电阻 硬件部分就这…...
AIGC ChatGPT 实现动态多维度分析雷达图制作
雷达图在多维度分析中是一种非常实用的可视化工具,主要有以下优势: 易于理解:雷达图使用多边形或者圆形的形式展示多维度的数据,直观易于理解。多维度对比:雷达图可以在同一张图上比较多个项目或者实体在多个维度上的…...
Vue2向Vue3过度核心技术路由
目录 1 路由介绍1.思考2.路由的介绍3.总结 2 路由的基本使用1.目标2.作用3.说明4.官网5.VueRouter的使用(52)6.代码示例7.两个核心步骤8.总结 3 组件的存放目录问题1.组件分类2.存放目录3.总结 4 路由的封装抽离5 Vue路由-重定向1.问题2.解决方案3.语法4…...
ElasticSearch常用方法
ElasticSearch:是一个储存、检索、数据分析引擎。 在互联网项目中我们经常会按一定的条件去索引我们指定的数据,但是在大量的数据中我们如果直接查询数据库效率是非常低的,ElasticSearch就可以很好的帮我们完成检索。 es封装了api提供给我我们直接操作…...
nginx下添加http_ssl_module并且配置域名,指定端口
1.切换到源码包: cd /home/nginx-1.23.1 2.进行编译: ./configure --prefix/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 3.配置完成后,运行命令: make make命令执行后,不要进行mak…...
【PHP】PHP变量
1、变量介绍 PHP 是一门弱类型语言,不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,必须在使用变量前先声明(定义)变量的类型和名称。 <?php $x5;…...
KVM创建虚拟机可访问外网+可使用Xshell等工具连接
创建虚拟机时使用桥接网络模块即可,如下: 1、创建一个存储卷(虚拟机的磁盘) 2、创建虚拟机时选择网络 3、系统安装完成后配置固定IP地址 vi /etc/sysconfig/network-scripts/ifcfg-eth0ONBOOTyes BOOTPROTOstatic IPADDR16.32.15.60 GATEWAY16.32.15.2…...
数据库——Redis 没有使用多线程?为什么不使用多线程?
文章目录 Redis6.0 之后为何引入了多线程? 虽然说 Redis 是单线程模型,但是, 实际上,Redis 在 4.0 之后的版本中就已经加入了对多线程的支持。 不过,Redis 4.0 增加的多线程主要是针对一些大键值对的删除操作的命令&a…...
Node.JS教程
文章目录 Node.JSNode.js学习指南一、Node.js基础1.认识Node.js2.开发环境搭建3. 模块、包、commonJS3.1、为什么要有模块化开发?3.2、CommonJS规范3.3、 modules模块化规范写法 4.Npm&Yarn4.1、npm使用4.2、全局安装nrm4.3、yarn使用 持续更新中总结 Node.JS N…...
mysql表锁死怎么办?事务锁sql超时被锁死怎么办?
不要慌!不要慌!两句命令教你做人 一、mysql表锁死 1、查询所有进程: SHOW PROCESSLIST; 2、找到进程号kill掉 kill 3269987 2、事务锁 sql超时被锁死 1、查询所有执行中的sql select t.*,to_seconds(now())-to_seconds(t.trx_started) id…...
基于JSP+Servlet+mysql学生宿舍管理系统
基于JSPServletmysql学生宿舍管理系统 一、系统介绍二、功能展示四、其它1.其他系统实现五.获取源码 一、系统介绍 项目类型:Java web项目 项目名称:基于JSPServlet的学生宿舍管理系统[sushe] 项目架构:B/S架构 开发语言:Java…...
Enabling Large Language Models to Generate Text with Citations
本文是LLM系列的文章,针对《Enabling Large Language Models to Generate Text with Citations》的翻译。 使大语言模型能够生成带有引用的文本 摘要1 引言2 任务设置和数据集3 自动评估4 建模5 实验6 人类评估7 相关工作8 结论不足 摘要 大型语言模型(…...
Qt Qml实现仪表盘动画
Qt Qml代码实现的仪表盘动画 效果: Qt Qml 仪表盘动画 Qt Qml 代码实现仪表盘动画 Qt Qml 仪表盘动画 部分Qml代码: import QtQuick 2.0Item {width: 2 * radiusheight: 2 * radiusrequired property double radiusproperty double airspeed: 0propert…...
一次PostgreSQL复杂jsonb数据矫正过程分享
背景介绍 想看干货直接看最后的总结,其他流水账可以不看,也可以当故事看。 7月底我司某产品因故需要拉齐现场版本,其中某地版本较低,且曾经做过一些定制内容,升级前也未识别该情况,导致后续持续一个月不断…...
如何在App里拉起小程序?
什么是小程序运行时框架? FinClip 的小程序编程模型是分为多个页面,每个页面有自己的 template、CSS 和 JS,实际在运行的时候,业务逻辑的 JS 代码是运行在独立的 JavaScript 引擎中,每个页面的 template 和 CSS 是运行…...
函数式编程-Stream流学习第二节-中间操作
1 Stream流概述 java8使用的是函数式编程模式,如同它的名字一样,它可以用来对集合或者数组进行链状流式操作,让我们更方便的对集合或者数组进行操作。 2 案例准备工作 我们首先创建2个类一个作家类,一个图书类 package com.stream.model;…...
SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
一、spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基…...
无涯教程-进程 - 组会话控制
在本章中,我们将熟悉进程组,会话和作业控制。 进程组(Process Groups ) - 进程组是一个或多个进程的集合,一个进程组由一个或多个共享相同进程组标识符(PGID)的进程组成。 会话(Sessions) - 它是各种进程组的集合。…...
tomcat高可用和nginx高可用
tomcat高可用和nginx高可用 小白教程,一看就会,一做就成。 1.什么是高可用? 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务…...
关于ios Universal Links apple-app-site-association文件 Not Found的问题
1. 背景说明 1.1 Universal Links 是什么 Support Universal Links 里面有说到 Universal Links 是什么、注意点、以及如何配置的。简单来说就是 当您支持通用链接时,iOS 用户可以点击指向您网站的链接,并无缝重定向到您安装的应用程序 大白话就是说&am…...
终极指南:3步用VR-Reversal将3D视频转为2D,普通设备也能自由探索VR世界
终极指南:3步用VR-Reversal将3D视频转为2D,普通设备也能自由探索VR世界 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址…...
Comsol 脉冲激光诱导等离子体仿真模型:探索微观世界的奇妙之旅
Comsol脉冲激光诱导等离子体仿真模型 利用脉冲激光作为热源,在氩气环境中诱导产生等离子体,主要体现出等离子体的密度、等离子体温度等参数 可以为激光诱导等离子体提供准确的参考在科研与工程领域,对脉冲激光诱导等离子体的深入研究有着举足…...
MDS vs PCA:哪种降维方法更适合你的数据?
MDS与PCA深度对比:从算法原理到实战选型指南 当面对高维数据时,降维技术就像一把打开数据奥秘的钥匙。在众多降维方法中,多维尺度变换(MDS)和主成分分析(PCA)是最常被比较的两种经典技术。它们都能将复杂的高维数据简化为更易理解的二维或三维…...
4步精通开源SMU调试工具:AMD Ryzen处理器深度配置与性能调优全攻略
4步精通开源SMU调试工具:AMD Ryzen处理器深度配置与性能调优全攻略 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址…...
Phi-3-mini-4k-instruct-gguf应用落地:律师助理合同风险点识别与提示生成
Phi-3-mini-4k-instruct-gguf应用落地:律师助理合同风险点识别与提示生成 1. 项目背景与价值 在法律服务领域,合同审查是律师日常工作中最耗时且重复性高的任务之一。传统人工审查方式存在效率低下、容易遗漏细节等问题。Phi-3-mini-4k-instruct-gguf作…...
HARMONYOS应用实例261:分段函数绘制
分段函数绘制 功能:定义分段函数规则,自动绘制不连续的函数图像。 支持创建多个分段函数,每个分段可以是不同类型 支持三种函数类型:一次函数、二次函数、常量函数 可调节每个分段的函数系数(a、b、c) 可设置每个分段的定义域(起点和终点) 可控制端点是否包含(开区间或…...
intv_ai_mk11保姆级教程:解决页面打开但生成慢、服务启动失败等6类问题
intv_ai_mk11保姆级教程:解决页面打开但生成慢、服务启动失败等6类问题 1. 快速了解intv_ai_mk11 intv_ai_mk11是一个基于Llama架构的中等规模文本生成模型,特别适合处理通用问答、文本改写、解释说明和简短创作等任务。这个镜像已经完成了本地部署&am…...
2026年正点原子开发板移植方案——从0开始的Rootfs之路(5)WSL + NFS 网络启动踩坑记:从挂载失败到成功启动的完整历程
2026年正点原子开发板移植方案——从0开始的Rootfs之路(5)WSL NFS 网络启动踩坑记:从挂载失败到成功启动的完整历程项目已经开源!尝试使用IMX-Forge给你的开发板跑新的Linux 7.0内核:https://github.com/Awesome-Embe…...
FastAPI CSP:实现配置的终极指南
FastAPI CSP:实现配置的终极指南 【免费下载链接】fastapi FastAPI framework, high performance, easy to learn, fast to code, ready for production 项目地址: https://gitcode.com/GitHub_Trending/fa/fastapi FastAPI是一个高性能、易于学习、快速编码…...
如何高效管理LiteDB数据库?LiteDB.Studio实战指南与深度解析
如何高效管理LiteDB数据库?LiteDB.Studio实战指南与深度解析 【免费下载链接】LiteDB.Studio A GUI tool for viewing and editing documents for LiteDB v5 项目地址: https://gitcode.com/gh_mirrors/li/LiteDB.Studio 在现代软件开发中,嵌入式…...
