Quectel移遠-RM520N-GL- AA版

Quectel移遠-RM520N-GL- AA版
Quectel移遠-RM520N-GL- AA版
Quectel移遠-RM520N-GL- AA版
Quectel移遠-RM520N-GL- AA版
Quectel移遠-RM520N-GL- AA版
Quectel移遠-RM520N-GL- AA版
Quectel移遠-RM520N-GL- AA版
Quectel移遠-RM520N-GL- AA版

『Quectel移遠-RM520N-GL- AA版』壹間上海雜牌廠出,

RM520N-GL
AA  RM520NGLAA-M20-SGASA

AP版祗支持PCIE模式,AA版支持USB仝PCIE模式,下載指南仝驅動要注册賬戶, 激活電郵收吾到,要客服後壹激活. 唯臺驚喜係Lucky2可以上網

『RM520N-GL』有肆引腳, 叁個5G天線, 壹個GPS天線.

RM520N-GL天線 引腳
5G天線 ANT0,ANT1,ANT3
GPS天線 ANT2

『RM520N-GL-AA』版本,支持PCIE/USB模式

裝『WWAN』驅動. remove

opkg install kmod-mhi-wwan-ctrl
opkg install kmod-mhi-wwan-mbim
opkg install kmod-usb-net-qmi-wwan
opkg install kmod-usb-serial-wwan
opkg install kmod-wwan
opkg install wwan

 

opkg list | grep qmi

裝『QMI』驅動.

opkg install kmod-qcom-qmi-helpers
opkg install kmod-usb-net-qmi-wwan
opkg install libqmi
opkg install luci-proto-qmi
opkg install qmi-utils
opkg install uqmi

係『Windows』主機cmd命令行執行

ssh   root@openwrt

root@openwrt’s password: 填密碼.

執行更新安裝包列表

opkg update

下載穩定版『OpenWrt 24.10.1』,就係下載『OpenWrt 24.10.0』wifi信號時有時冇,5G模塊冇USB,搞左個大頭佛.

係『Windows』主機cmd命令行執行

ssh   root@openwrt

root@openwrt’s password: 填密碼.

執行更新安裝包列表

opkg update

安装USB驅動

opkg install kmod-usb2  
opkg install kmod-usb3  
opkg install kmod-usb-acm  
opkg install kmod-usb-core  
opkg install kmod-usb-net  
opkg install kmod-usb-net-qmi-wwan  
opkg install kmod-usb-net-cdc-ether 驅動創建ECM-USB接口
opkg install kmod-usb-net-cdc-ncm 驅動創建NCM-USB接口
opkg install kmod-usb-net-rndis 驅動創建RNDIS -USB接口
opkg install kmod-usb-net-cdc-subset  
opkg install kmod-usb-ohci 驅動創建usb接口
opkg install kmod-usb-ohci-pci  
opkg install kmod-usb-serial  
opkg install kmod-usb-serial-option 驅動創建ttyUSB*接口
opkg install kmod-usb-serial-wwan  
opkg install smstools3  
opkg install minicom 加入minicom

安裝usbutils

opkg update
opkg install usbutils

埶行『lsusb』. 『Quectel RM520M-GL』

lsusb

檢測USB模塊装載『Quectel RM520M-GL』

Bus 002 Device 007: ID 2c7c:0801 Quectel RM520N-GL

檢測USB驅動装載 『/dev/ttyUSB0』『/dev/ttyUSB1』『/dev/ttyUSB2』『/dev/ttyUSB3』.USB轉串口.

ls  /dev/ttyUSB*

通過『192.168.2.1』 登錄openwrt後臺.

撳luci ->网络->介面->装置,发现(usb0或者wwan)硬件接口.

撳『新增裝置設定』

『裝置類別』揀『橋接裝置』

『裝置名稱』填『br-wan』

『橋接連接埠』揀『eth0』『usb0』『wwan0』

撳『儲存』

撳『介面』->『wan』->『編輯

『裝置』揀『br-wan』

 

 

 

%99情况插入sim卡即可上網.

 

上網模式 作用 備注
0 RMNET接口 通過QMI工具發QMI命令,獲取公網IP
1 ECM接口 通過標準的CDC-ECM發起data call,是發送標準的ECM命令,獲取局域網ip。
2 MBIM接口 Mobile Broadband Interface Model,正宗的移動寬帶接口模型,專門用於3G/4G/5G模塊的,只在win8以上的windows上使用
3 RNDIS接口 基於USB實現RNDIS實際上就是TCP/IP over USB,就是在USB設備上跑TCP/IP,讓USB設備看上去像一塊網卡獲取局域網ip

插入sim卡.

執行更新安裝包列表

opkg update

安裝minicom 命令行界面串口終端. 仝COM口設備通信.

opkg install minicom

登入配置菜單

minicom -s

撳『Serial port setup』填寫COM配置

COM配置  
Serial Device /dev/ttyUSB2
Lockfile Location /var/lock
Callin Program  
Callout Program  
Bps/Par/Bits 115200 8N1
Hardware Flow Control Yes
Software Flow Control No
RS485 Enable No
RS485 Rts After Send No
RS485 Rx During Tx No
RS485 Terminate Bus No
RS485 Delay Rts Before 0
RS485 Delay Rts After 0
  1. 撳『ESC』鍵返回
  2. 撳『Sava setup as dfl』保存
  3. 撳『Exit』進入

 

退出minicom

  1. 撳『CTRL-A』鍵 ->『Z』鍵.
  2. 撳『X』鍵『eXit and reset』.
  3. 『Leave Minicom』撳『Yes』鍵.

 

發下列AT指令.

AT 發AT指令.
OK 返回

 

撥號模式『ECM模式』

AT+QCFG  =”usbnet”,  1 ECM模式
AT+QCFG  =”usbnet”,  3 NCM模式

設自動撥號

AT+QMAPWAC=1 設置自動撥號

重啟模塊『RM520M』

AT+CFUN  =  1,1 重啟模塊『RM520M』

 

查模块IMEI編號

AT+CGSN? 查詢IMEI-4G/5G模块唯壹編號
+CGSN: “888888888888888” 返回

查模塊S/N編號

AT+CFSN 生產編號S/N
+CFSN: “XXXXXXXXXX” 返回

查工作模式

AT+CFUN?
+CFUN: fun, rst 返回
fun 0: 慳電模式/飛行模式

1: 齊整模式

4: 閂射頻信號收發

rst 0: 設置工模式冇使注銷

1: 設置工模式注銷後重新注册

如果工作模式=0,設1, 設為齊整模式, 軟複位.

AT+CFUN=0 飛行模式
AT+CFUN=1 軟複位
AT+CFUN=1,1 重啟
AT+CFUN=4 閂射頻信號收發

 

查模塊固件版本

AT+CGMR? 查模塊固件版本
+CGMR: “86600.1000.00.04.02.02” 返回

 

查sim卡状态

AT+CPIN? 係咪插入
+CPIN: READY 插入SIM卡

 

查APN

AT+CGDCONT ? 查APN

 

AT+CGDCONT=CID,TYPE,APN,NSLPI  
CID:0~10 APN
AT+CGDCONT=1, “IPV4V6”, 0,0,0  
AT+CGDCONT=1, “IP”, “CMNET”,0,0 TCP/IP协议-NET接入点
AT+CGDCONT=0, “IP”, “INTERNET”,0,0 TCP/IP协议-INTERNET接入点
AT+CGDCONT=1,”PPP”,”cmwap” 点对点协议 wap 接入点

 

查模塊5G信号

AT+CESQ 信號指標
+CESQ: 99,99, 255,255, 255,255, 60,46,47 5G信號
99,99, 2G: 大於0且小於99
255,255, 3G: 大於0且小於255
255,255, 4G: 大於0且小於255
60,46,47 5G: 大於0且小於255

查模塊4G信号

AT+CSQ? 查模塊4G信号
+CSQ:rssi,ber 返回
+CSQ:28,99  
rssi: 信號强度 0~33: 信號最强

99: 冇信號

ber: 误码率 0/99: 冇誤碼

 

查詢網絡註冊狀態

AT+CGREG? 查詢GPRS網絡註冊狀態
AT+CEREG? 查詢LTE網絡註冊狀態『4G』
AT+CREG? 查詢冚辦爛網絡註冊狀態 2g/3g/4g
+CREG?mode,stat,lac,ci 返回
+CREG:0,5 漫遊
MODE模式 0:禁止網絡註冊主動提供結果代碼(默認)

1:允許網絡註冊主動提供結果代碼(+CREG:stat)

2:啟用網絡註冊和位置信息結果碼主動上報(+CREG:STAT,LAC,CI)

STAT状态 0:未註冊,終端當前未搜尋新營運商

1:已註冊本地網絡

2:未註冊,終端正在搜尋基站

4:未知代碼

5:已註冊,處於漫遊狀態

+CREG: 1,0 註冊失敗
+CREG: 1,1 註冊成功

設置網絡註冊狀態為2.

AT+CREG=2 主動提供結果碼

 

查營運商設置

AT+COPS? 設置營運商

模塊IP地址, 得到IP講明經已上網

AT+CGPADDR 查模塊IP地址
+CGPADDR:10.153.120.21  

 

 

 

 

AT&W 保存
AT&F 出廠設定
ATZ 用戶設定
AT+CFUN=0 飛行模式
AT+CFUN=1 軟複位

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Word禁止大細寫自動校正

Word禁止大細寫自動校正
Word禁止大細寫自動校正

WORD自動修正大細寫,其實可以禁文法檢查.

  1. 撳『檔䅁』->『選項』左下角
  2. 撳『校訂』
  3. 禁『自動拼字檢查』
  4. 禁『自動標記文法錯誤』
  5. 禁『常混淆字』
  6. 禁『拼字檢查時亦檢查文法』
  7. 撳『自動校正選頂』
  8. 禁『更正前兩個英文字母大寫錯誤』
  9. 禁『英文句首字母大寫』
  10. 禁『表格單元首個英文句母大寫』
  11. 禁『英文日期首字大寫』
  12. 禁『更正意外撳Caps Lock鍵錯誤』
  13. 撳『確定』保存生效.

 

 

 

 

 

Linux命令

Linux命令
Linux命令

『Linux』命令通過『terminal終端』執行. PuTTY終端遠程登錄SSH.

『Linux』以『樹型結構』組織『資料夾』,『樹型結構』頂端係根目錄. 用『/』表示.根目錄『/』下『資料夾』有各自用庶.『Linux』分配『資料夾』畀佢.

Linux命令由三部分組成.

prompt Command param1 param2 …

Linux命令語法, linux區分大細寫. 且細寫.

prompt 提示符/前缀, 由linux畀出
command 命令/指令,linux命令大多係細寫.
param 参數,可能多於壹個. 以吉格分隔

每行行頭顯示類提示符,由linux畀出蒞:

username@hostname:~#

行頭提示符:

提示符:  
Username 當前用戶
@ 所屬主機
Hostname 主機名
: 分隔路徑
path 當前工作路徑.『~』:用戶主目錄.
# 分隔命令

Linux命令

apt 命令 ubuntu
sudo apt install name 安裝程式
sudo apt update 更新本地程式包列表
apt list –upgradable 列舉本地程式包列表
sudo apt upgrade 升級冚辦闌已安裝程式
apt search name 搜索程式包
apt show name 顯示程式包信息
sudo apt remove name 移除已安裝程式
sudo apt autoclean 清理已下載程式
sudo apt autoremove 清理冇用依賴

 

 

pwd 顯示當前工作目录
,返回類似『/dev/cpu』
cd / 訪問根目錄
cd ~ 訪問用戶主目錄
cd .. 上一級目錄
cd – 回褪
cd path 指定訪間目錄, 例『cd /dev/cpu』

 

cp sour dest 复制文檔或資料夾
cp -a sour dest 复制,保留原有權限.
cp -af sour dest 复制冚辦爛文檔或資料夾,保留原有權限.
cp -avf sour dest 复制冚辦爛文檔或資料夾,保留原有權限.顯示進度.

 

mv sour dest 移動或改名-文檔或資料夾
mv -f sour dest 移勳或改名-文檔或資料夾.强行吾使确認.

 

rm path 刪文檔或吉資料夾
rm -f path 刪文檔或吉資料夾, 强行吾使确認.
rm -r path 递歸刪-冚辦爛文檔或資料夾.
rm -rf path 递歸强行刪-冚辦爛文檔或資料夾.

 

ls 列出當前資料夾下冚辦爛『文檔』仝『資料夾』
ls -l 文檔+資料夾+詳細清單
ls -al 文檔+資料夾+隱藏文檔+詳細清單

 

chown  param  user   path 改『目錄』『文檔』拥有權
user 帳戶
chown  -Rv  admin  ./* 祇有root帳號,可以修改其它帳號權限
-R 递歸執行改拥有權『目錄』『子目錄』『文檔』
-v 顯示執行過程.

 

chgrp  param  group  path 改『目錄』『文檔』所屬群組
group 群組
chgrp  -Rv  admin  ./* 祇root帳號,可以修改其它群組權限
-R 递歸執行『目錄』『子目錄』『文檔』改群組
-v 顯示執行過程.

 

chmod  user group other  filename 改『目錄』『文檔』權限
chmod  760  run.log 改『文檔』權限
7 拥有者user-可讀可寫可埶行
6 群組group-可讀可寫權禁埶行
0 非群組other-禁讀禁寫禁埶行

 

sudo chmod 777 -R /openwrt 改資料夾下冚辦爛讀寫權限可讀可寫可埶行

 

 

mkdir name 創建資料夾
rmdir name 刪除資料夾,資料夾要吉, 有『文檔』仝『資料夾』改用
『rm -r path』

齋睇文本

cat filename 齋睇文本, 祗讀模式. 通過SSH終端回褪.
cat filename | more 撳『Enter』鍵遂行彈出.

撳『CTRL+C』鍵退出.

Tal -n linenum filename 文本定位

 

date 日期
cal 日歷

 

shutdown 閂機
reboot 重啟
sync 强行緩存寫入磁碟,冇消息返回.以仿輕機造成文檔損壞.

 

dmesg 系統啟動信息,通過SSH終端回褪.
dmesg | more 撳『Enter』鍵遂行展示.

撳『CTRL+C』鍵退出.

 

df 磁碟詳情,以『bit』為單位
df -h 磁碟詳情,轉換為
『mb』
『gb』單位

 

free 記憶體,以『bit』為單位
free -r 記憶體,轉換為
『mb』
單位

 

uname 系統
uname  -r 版本
uname  -a 系統+內核+版本

 

ps 系統進程
top 實時系統進程

撳『CTRL+C』鍵退出.

 

uptime 工作/運行時長

 

ifconfig 有線網路接口信息
iwconfig 冇線網路接口信息

 

lspci PCI/PCIE總線
lsusb USB總線
lshal 設備硬件抽象層(HAL)
lshw 系統硬件信息
dmesg 檢測內核啟動信息

 

sudo 獲得系統管理賬號root權限

 

netstat  -lnp 網路端口
mount 已挂載分區
fdisk -l 可用磁碟分區.

 

command  –help 幫助
apk  –help 幫助

 

find  /  -name  “ttyUSB*” 搜索含ttyUSB文檔, 區分大細寫
find  /  -iname  “ttyUSB*” 搜索含ttyUSB文檔, 吾分大細寫

 

Linux目錄組織結構

Linux目錄組織結構
Linux目錄組織結構

『Linux』仝『Windows』相繼係上世未90年代誕生,用慣『Windows』初接觸『Linux』吾慣目錄組織.

係『Windows』系統,磁碟都會分配盤符.1.44磁碟『A:』, WINDOWS系統磁碟『C:』.

係『Linux』系統『USB磁碟』『SATA磁碟』『M.2磁碟』『CD-ROM』…冚辦爛硬件都被分配『資料夾』畀佢.吾分大細寫.

係『Linux』以『樹型結構』組織『資料夾』,『樹型結構』頂端係根目錄. 用『/』表示.根目錄下『資料夾』有各自用庶. 區分大細寫.

/ 根目錄
/boot 啟動引導配置, 內核文檔
/dev 每個硬體設備係『/dev』下分配壹個『資料夾』, 通過『資料夾』下『文檔』訪問硬體設備.
/etc 軟體程式配置檔
/home 存儲用戶帳號.帳號
『exos』資料夾路徑『home/exos』.
/usr/lib 系統程式配置
/mddia 媒體設備,『CD-ROM』仝『USB磁碟』係庶訪問
/mnt 掛載設備
/opt
/proc/sys 系統運行狀態信息
/root root帳號目錄
/sbin root帳號專用程式.
/usr 通用軟體程式
/var 軟體程式日誌文檔

 

Ubuntu攻略

Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略
Ubuntu攻略

 

将『linux』仝幾千『app』測試結合成『ubuntu』. 仝windows吾仝, 『Ubuntu』免費.

係裝『Ubuntu』過程,應得單獨壹隻磁碟,以免引導扇區寫係递庶.特別係M.2磁碟安裝,引導扇區寫入它首隻穩到sata磁碟.

 

登錄『ubuntu官網

https://ubuntu.com/
https://ubuntu.com/download/desktop

下載桌面版『ubuntu-24.04.2-desktop-amd64.iso』约莫6GB.至小穩隻8GB-USB磁碟蒞刻錄鏡像.

https://mirror-hk.koddos.net/ubuntu-releases/24.04.2/ubuntu-24.04.2-desktop-amd64.iso

balenaEtcher』或『Rufus刻錄『.iso』鏡像.『Ubuntu』徑已係USB磁碟.

插入USB磁碟.著機撳『DELETE』鍵登入BIOS.以『UEFI: SMI USB DISK 1100,Partition』引導.

UEFI: SMI USB DISK 1100,Partition 2

試用或安装Ubuntu .

*Try or Install Ubuntu

等壹陳登錄桌面,但系統存係『USB磁碟』速度慢.

装『Ubuntu』入『M.2磁碟』以提高運行速度.撳下角『Install Ubuntu 24.04.2 LTS』.

  1. 選擇語言, 指桌面GNONE語言.
  2. 無障礙功能, 吾使變更設定.
  3. 選擇鍵盤配置, 擇『英語(美式)』
  4. 連接網際網路, 揀『有線網路』,『WIFI網路』装掂後設定.
  5. 『安装程式有可用更新』撳『跳過』. 吾係又要重新蒞過.
  6. 撳『安裝Ubuntu』
  7. 撳『互動式安裝』
  8. 撳『完整安裝』
  9. 勾『安裝等三方軟體使用顯示卡, 無線網络等硬體』
  10. 勾『安裝等三方軟體以提供媒體格式支援』
  11. 撳『清除磁碟並安裝Ubuntu』,自動分兩個區,分區1掛載『/boot/efi』引導配置.分區2掛載『/』系統.『手動硬碟分割』同樣要甘樣分割.『Ubuntu』默認『ext4』格式.
分區 格式 掛載
NVME0n1p1 fat32 /boot/efi
NVME0n1p2 ext4 /
  1. 『name』名: 人名
  2. 『USERNAME』用戶名: 吾畀用『admin』『root』.要易記吾超4字母.
  3. 『PSSSWORD』密碼: 字母數字混合.
  4. 『Hostname』主機名: 以『系统-主板』命名, 類似『Ubuntu-x450itx』
  5. 揀『city城市』『time zne時區』
  6. 撳『開始安裝』, 可以去喫茶,壹粒鐘後…
  7. 『Ubuntu 24.04.2 LTS装完』.撳『立即重新啟動』
  8. 猛『USB磁碟』撳『enter』鍵重啟.

 

OpenWRT-SSH遠程登錄-PuTTY終端

OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端
OpenWRT-SSH遠程登錄-PuTTY終端

OpenWrt_SSH_PuTTY

OpenWRT-SSH遠程登錄-PuTTY終端

『SSH』全名『Secure Shell』,遠程網絡登錄系統,『shell』係指命令行模式. 『OpenWRT』可能冇顯示器,係自已台電腦,通過『SSH』遠程網絡登錄『OpenWRT』.

查『OpenWRT』IPv4地埗.

ifconfig  br-lan

例如

Inet addr:192.168.2:1

配置『SSH』,『openwrt』通過『dropbear』實現.

vim    /etc/config/dropbear

編輯『dropbear』

config  dropbear  
  option   enable   ‘1’ 1:SSH使能

0:禁制

  option   PasswordAuth  ‘on’ 密碼驗證
  option   RootPasswordAuth ‘on’ 允許root賬戶憑密碼登錄
  option   RootLogin   ‘ on ‘ 允許root賬戶登錄
  option  Port  ’22’ SSH連接埠默認22
  option  Interface ‘lan’  
  option  BannerFile  ‘/etc/banner’ 登錄Logo
  option  SSHKeepAlive ‘300’ 心跳300
  option  IdleTimeout  ‘0’ 休閑超時,0禁用.

設置root賬戶密碼,執行『passwd』

passwd  
Changing password for root  
new password: 填root帳戶密碼
Retype password: 再填壹次
Password for root changed by root  

重啟SSH

/etc/init.d/dropbear  restart

 

下載『PuTTY』輕量級SSH客戶端, 先登入官網

https://www.putty.org/
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

最新0.83版. 下載『putty.exe』可直執行,仝『installer.msi』安将包.

https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.83-installer.msi
https://the.earth.li/~sgtatham/putty/0.83/w64/putty.exe
  1. 執行『exe
  2. 『Host Name(or IP address)』: OpenWrt地埗-例『168.2:1』
  3. 『Port』:SSH連接埠默認『22』
  4. 『Connection type』:揀『SSH』
  5. 撳『Open』.
  6. 首次連線提示『PuTTY Security Alert』,OpenWtr密鈅未存儲,係咪信賴佢,撳『Accept』接受.彈出黑色命令行窗口.
  7. 『Login as』賬號填『root』
  8. 『root@192.168.2.1’s passwort:』撳鍵盤吾會顯示密碼, 撳『Enter』登入.

 

或者係『Windows10』用命令行模式直接埶行 ssh

ssh   username@hostname

 

OpenWRT漢化

OpenWRT漢化
OpenWRT漢化
OpenWRT漢化
OpenWRT漢化

『OpenWRT』安裝圖形界面後,語言祈有英文揀,可再線下載漢化包.

更新安裝包列表

opkg  update

安裝圖形界面

opkg  install  luci

OpenWRT漢化

opkg  install  luci-i18n-base-zh-tw

登入後台luci經已漢化

  1. 撳『System』->『system』
  2. 撳『Lanuage and style』 ->『language』
  3. 揀『繁體中文(Chinese Traditional)』

 

MediaTek聯發科-MT7925- WIFI7冇線網卡

MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MVME TO M.2 WIFI
MVME TO M.2 WIFI
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡
MediaTek聯發科-MT7925- WIFI7冇線網卡

砌WIFI軟路郵,買WIFI冇線網卡做AP熱點,『Intel-AX210/EB200』閹左祇發射2.4G信號. 改買『MediaTek-MT7925』發射5G信號.

『MT7925』係『M.2-KEY E』接口,插係MVME槽要買『MVME TO M.2 WIFI』轉接卡,因『SUPERMICR X10SDV-4C-TLN2F』得壹條PCIE槽, 留番畀5G模塊.

壹定要下載穩定版『OpenWrt 24.10.1』,就係下載『OpenWrt 24.10.0』搞到WIFI信號時有時冇,.

係『OpenWrt』搜索『MT7925』驅動.

opkg list | grep mt792

安裝『MT7925』驅動.

opkg install kmod-mt7925-common
opkg install kmod-mt7925-firmware
opkg install kmod-mt7925e
opkg install kmod-mt7925u
opkg install kmod-mt792x-common
opkg install kmod-mt792x-usb
opkg install mt7925bt-firmware

wifi密碼加密

opkg install wpa-supplicant 用戶端模式
opkg install hostapd AP模式或AD-HOC模式

『vim /etc/config/wireless』冇線網絡配置文檔

wifi-device 驅動設備名
radio0 WIFI冇線網卡驅動1
radio1 WIFI冇線網卡驅動2

設備類型

type 設備類型
mac80211 驅動類型固定為mac80211

冇線信道

channel 冇線信道
1~13之間 2.4G默認信道1
36,40,44,48,52,56,60,64,149,153,157,161,165 中國產手機限制5G信道,得幾條揀, 吾係手機穩吾到5G-WIFI
auto 自動揀最優信道

冇線頻寬htmode

htmode 冇線頻寬
HT20 20MHz頻寬,支持1-13信道
HT40 40MHz頻寬,支持1-7信道
VHT20 20MHz頻寬
VHT40 40MHz頻寬
VHT80 80MHz頻寬

冇線协議 hwmode

hwmode 冇線协議
11b/11g/11n 2.4G
11n/11a/11ac 5G

帶寬共存

ht_coex  
1 帶寬20MHZ/40MHZ共存
0  

2.4G模式『冇線协議 hwmode』『冇線頻寬htmode』『ht_coex』對應關係

冇線網卡驅動路徑

path 冇線網卡驅動路徑
  自動生成

閂冇線設备

disabled 閂冇線設备
0 禁制wifi
1 使能wifi

地區

country  
US 美國
GB 英國
JP 日本
KR 韩國
HK 香港
US 冇線信道1~12
CN 冇線信道1~13

冇線發射功率

txpower 冇線發射功率
0~20 單位dBm

掃描信道

noscan 吾扫描信道
0 扫描信道
1 禁止掃描信道

節點名

wifi-iface wifi-iface節點名

驅動名

device wifi-device驅動名
radio0 默認2.4G
radio1 默認5G

冇線網卡名

ifname 冇線網卡名/ifconfig顯示名
wlan0 Wifi1
wlan1 Wifi2

網絡設備類型

network 網絡設備類型,對應網橋
lan 橋接內網
wwan 冇線中繼

冇線工作模式

mode 冇線工作模式
ap 訪問點模式
sta 容戶端模式
minotor 監聽模式

WIFI名

ssid WIFI名
Openwrt-5G 最長32字符

WIFI密碼加密模式

encryption WIFI密碼加密模式
none 明文
psk WPA-PSK密文
psk2 WPA-PSK2密文
psk-mixed WPA-PSK/ WPA-PSK2混合
psk2+ccmp  

WIFI密碼

key 密碼
12345678 psk2加密模式:8~64個字符
  none加密模式時:密碼冇效

隱藏熱點

hidden 隱藏熱點
1 隐藏
0 可畀搜索

執行『vim /etc/config/wireless』修改WIFI-mt7925冇線網絡配置文檔.

WIFI-mt7925冇線網卡驅動

config wifi-device ‘radio0’ WIFI-2.4g冇線網卡驅動,編號0
option type ‘mac80211’ 驅動類型固定為mac80211
option path ‘pci0000:00/0000:00:01.0/0000:01:00.0’ mt7925冇線網卡驅動路徑
option band ‘6g’  
option channel ‘auto’ 冇線信道
option htmode ‘HT80’ 40MHZ
option txpower ’20’ 冇線發射功率
option country ‘CN’ 地區
option disabled ‘0’ 1:禁制wifi

0:使能wifi

WIFI冇線網卡接口信息.『lan』設備用網橋『br-lan』. 吾用網橋『br-lan』手機連wifi會一直處於『正在獲取IP位址』.

config wifi-iface ‘default_radion0’ WIFI冇線網卡接口信息
option device     ‘radio0’ 冇線網卡驅動
option network    ‘lan’ 內網
option mode      ‘ap’ ap
option ssid        ‘OpenWrt’ wifi名
option encryption  ‘psk2’ 加密方式
option key         ‘12345678’ 密碼

重啟網絡

service network restart

冇線wifi配置生效

wifi

列出所有無線網絡信息

iwinfo

軟路郵與主路郵網線相連, 係手機連『OpenWrt』密碼『12345678』.

 

 

 

 

 

OpenWRT旁郵路攻略-x86/x64電腦版

OpenWRT旁郵路攻略-x86/x64電腦版
OpenWRT旁郵路攻略-x86/x64電腦版
OpenWRT旁郵路攻略-x86/x64電腦版
OpenWRT旁郵路攻略-x86/x64電腦版
OpenWRT旁郵路攻略-x86/x64電腦版
OpenWRT旁郵路攻略-x86/x64電腦版
OpenWRT旁郵路攻略-x86/x64電腦版
OpenWRT旁郵路攻略-x86/x64電腦版

 

OpenWrt』嵌入式路郵設計Linux系統,市面大部分路郵都係用佢,提供『防火牆』『VPN』『IPv6』『WIFI』『4G/5G』.

依甫係itx臺式電腦將『OpenWrt』,要2網口一個WAN口一個LAN口.

  1. itx底板『SUPERMICR X10SDV-4C-TLN2F
  2. 磁碟『SUPERMICR-SATA-DOM-G4GB
  3. 下載『OpenWrt』x86/x64版鏡像
  4. 刻錄『OpenWrt』鏡像SATA磁碟
  5. 安將『OpenWrt』此過程自動執行
  6. 配置網絡『vim /etc/config/network』

登入『OpenWrt官網』下載穩定版『OpenWrt 24.10.1』,就係下載『OpenWrt 24.10.0』wifi信號時有時冇,5G模塊冇USB,搞左個大頭佛.

https://downloads.openwrt.org/

硬件版本區別

X86架構  
64 64bit-cpu,2007年後出所CPU都係64BIT.
Generic i586體系, Pentium 4及之後32BIT-CPU.
Legacy i386體系, Pentium 4之前32BIT-CPU-
Geode 定制老舊網絡設備.

文檔系統

文檔系統  
squashfs 傳統佈局, openwrt系統自帶程式,存儲設定仝程式分區得230mb
ext4 適合擴容展,後期加裝程式.

引導標記

引導標記  
標efi uefi引導-新bios
冇efu legacy引導-舊bios

引導模式

uefi引導 legacy引導
新式bios , 圖形介面 舊式bios
啟動速度快 較慢
32Bit/64Bit 電腦 32Bit電腦
GPT磁碟分區,支緩高達9.4ZB磁碟 MBR磁碟分區,僅支緩2.1TB磁碟
支緩USB鍵盤鼠標, 觸控. 僅支緩PS2鍵盤

撳『OpenWrt 24.10.1』->『x86』->『64』

下載『generic-ext4-combined-efi.img.gz』,

https://downloads.openwrt.org/releases/24.10.1/targets/x86/64/openwrt-24.10.1-x86-64-generic-ext4-combined-efi.img.gz
https://downloads.openwrt.org/releases/24.10.0/targets/x86/64/openwrt-24.10.0-x86-64-generic-ext4-combined-efi.img.gz

用『Physdiskwrite』刻錄『OpenWrt』 鏡像,

將『generic-ext4-combined-efi.img.gz』解壓出『openwrt-24.10.0-x86-64-generic-ext4-combined-efi.img』

磁碟清零

  1. 插『SUPERMICR-SATA-DOM-G4GB』磁碟系
  2. 系統管理員身份執行命令視窗CMD
  3. 執行『diskpart』登錄
  4. 執行『list disk』列出磁碟番號
  5. 執行『select disk x』擇當前操作磁碟.『x』替換為磁碟番號,此庶係
  6. 執行『clean』清除.

刻錄『openwrt.img』鏡像

  1. 將『openwrt-24.10.0-x86-64-generic-ext4-combined-efi.img』仝『exe』擺係『c:』
  2. 系統管理員身份執行命令視窗CMD
  3. 執行『.』當前資料夾『c:』
  4. 執行『physdiskwrite -u openwrt.img』
  5. 揀磁碟番號,此庶係
  6. 撳『y』鍵確認, 等待寫入結束.

 

安將『OpenWrt

  1. 插『SUPERMICR-SATA-DOM-G4GB』系路郵主板.
  2. 顯示『OpenWrt』3秒後自動安將.
  3. 當命令行停止吾鬱,撳『Enter』鍵進入命令行.
  4. 睇到『OpenWrt』幾隻字, 掂.
  5. 設置root密碼,執行『passwd』
passwd  
Changing password for root  
new password: 填root帳戶密碼
Retype password: 再填壹次
Password for root changed by root  
  1. 執行『ifconfig』指令,默認eth0網口是LAN口, eth1網口是WAN口
br-lan 虛擬設備,內網網口集合
eth0 真實設備, 網口0
eth1 真實設備, 網口1
io 虛擬設備,回環設備.
wlan0 真實設備,啟動wifi後產生
wwan0 真實設備,啟動4G/5G模塊後產生
pppoe-wan 虛擬設備,pppoe撥號上網後產生

執行『brctl show』查『br-lan』橋狀態

brctl show

『vim』編輯文檔

撳『i』或『a』鍵 進入編輯模式.
撳『esc』鍵, 退出綸輯模式.
執行『:wq』撳『enter』鍵 儲存後退出,帶冒號.
執行『:q!』撳『enter』鍵 吾儲存直接退出.

網絡配置文檔

vim /etc/config/network 有線網絡配置文檔.
vim /etc/config/wireless 冇線網絡配置文檔.

設備名

Ifname 設備名
eth0 網口0
eth1 網口1

協議類型

proto 協議類型
static 靜態IP地圵
dhcp 動態獲取IPv4地圵
dhcpv6 動態獲取IPv6地圵
pppoe 撥號上網
pptp 遠程VPN伺服機
3g 連接3G/4G冇線電話網絡

網卡6字節唯一編碼

macaddr 網卡MAC編碼
XX:XX:XX:XX:XX:XX 6字節唯一編碼

type網絡類型

type 網絡類型
bridge 橋接,交換機模式
mac80211  

首先用eth0網口連上互聯網, 軟路郵與主路郵網線相連,下載相關驅動.

執行『vim /etc/config/network』修改有線網絡配置文檔.

config interface ‘wan’ 外網
option ifname ‘eth0’ 設備名
option type ‘bridge’ 橋接,交換機模式
option device ‘eth0’  
option proto ‘dhcp’ 動態獲取IP地圵192.168.1.x
option metric ’64’  
option delegate ‘0’  
list ports  ‘eth0’  

 

config interface ‘wan6’ 外網ipv6
option proto ‘dhcpv6’  
option device ‘eth0’  
option type ‘bridge’ 橋接,交換機模式

『lan’內網』設備改用網橋『br-lan』. 吾用網橋『br-lan』手機連wifi會一直處於『正在獲取IP位址』

config interface ‘lan’ 內網
option type ‘bridge’ 橋接,交換機模式
option device ‘br-lan’ 網橋『br-lan』
option proto ‘static’ 靜態IP地圵
option ipaddr ‘192.168.2.1’ 假定主由路郵ip地圵192.168.1.1
option netmask ‘255.255.255.0’ 掩碼
option ip6assign ’60’  
list ports  ‘eth1’  

壹定要有網橋『br-lan』, 網橋下可加入多接口『wwan』『eth0』『eth1』『…』, 冇左網橋『br-lan』連wifi會一直處於『正在獲取IP位址』

config device  
  option type  ‘bridge’ 橋接,交換機模式
  option name ‘br-lan’ 網橋『br-lan』
  list ports ‘eth1’  

網橋『br-wan』

config device  
  option type  ‘bridge’ 橋接,交換機模式
  option name ‘br-wan’ 網橋『br-wan』
  list ports ‘eth0’  
list ports ‘usb0’  

重啟網絡, 軟路郵與主路郵網線相連

service network restart

執行『ifconfig』指令,如果『br-wan』接口有ip地址『192.168.1.x』,家時連網線可以上網.

路郵 ip
主路郵ip 192.168.1.1
軟路郵-wan 192.168.1.x
軟路郵-lan 192.168.2.1
電腦ip 192.168.2.x

執行『opkg update』更新安裝包列表

執行『opkg install luci』安裝圖形界面

執行『opkg install luci-i18n-base-zh-tw』OpenWRT漢化

執行『/etc/init.d/uhttpd enable』打開uhttpd服務
執行『/etc/init.d/uhttpd start』讓uhttpd自啟動

連網線電腦打開瀏覽器連接軟路郵192.168.2.1, 登入openwrt後臺

 

wifi 冇線配置生效
iwinfo 列出所有無線網絡信息
ifconfig 有線網絡
service network restart 重啟網絡
reboot 重啟OPENWRT
route 查路郵
ping ip Ping 撳『ctrl+z』褪.

 

ITX機箱-兩槽

ITX機箱-兩槽
ITX機箱-兩槽
ITX機箱-兩槽
ITX機箱-兩槽
ITX機箱-兩槽
ITX機箱-兩槽
ITX機箱-兩槽
ITX機箱-兩槽
ITX機箱-兩槽
ITX機箱-兩槽

ITX機箱-買蒞砌臺5G-WIFI路郵,仝前兩部ITX機箱比,設計用心,做工尚佳,两條半高槽,壹條全高槽,祗係漏左起牙, 改用4MM鑼絲鑼帽壓死檔板.

PCIE轉向卡要另外買. 适配轉向卡高61.8MM.

換左6025-0.15A-4PIN風扇, 原配風扇冇得調速.

两個2.5寸磁碟架, 吾頂CPU風扇.

缺點係装吾到『加長ITX底板』好似『X10SDV-TP8F』,祗能装『標准ITX底板』.

 

Physdiskwrite刻錄img鏡像

Physdiskwrite刻錄img鏡像
Physdiskwrite刻錄img鏡像
Physdiskwrite刻錄img鏡像
Physdiskwrite刻錄img鏡像

 

physdiskwrite』刻錄『.img』鏡像, 佢幾乎萬能. 支緩『sata磁碟』『usb磁碟』.

登錄『physdiskwrite』官網. 佢有『圖形版』仝『命令行版』.

https://m0n0.ch/wall/physdiskwrite.php

下載『physdiskwrite-0.5.3.zip

https://m0n0.ch/wall/downloads/physdiskwrite-0.5.3-PhysGUI-bundle.zip
https://m0n0.ch/wall/downloads/physdiskwrite-0.5.3.zip

 

磁碟清零

  1. 系統管理員身份執行命令視窗CMD
  2. 執行『diskpart』登錄
  3. 執行『list disk』列出磁碟番號
  4. 執行『select disk x』擇當前操作磁碟..『x』替换為磁碟番號,此庶係0.
  5. 執行『clean』清除.

 

刻錄『.img』鏡像

  1. 将『.img』仝『physdiskwrite.exe』擺係『c:』
  2. 系統管理員身份執行命令視窗CMD
  3. 執行『cd..』. 當前資料夾『c:』
  4. 執行『physdiskwrite -u openwrt.img』
  5. 揀磁碟番號,此庶係0.
  6. 撳『y』鍵确認, 等待寫入結束.

Windows10-USB磁碟修复-格式化提示修复

USB磁碟-格式化提示修复
USB磁碟-格式化提示修复
USB磁碟-格式化提示修复
USB磁碟-格式化提示修复
USB磁碟-格式化提示修复
USB磁碟-格式化提示修复

當插USB磁碟提示要格式化, 可能係磁碟分區遵至. 此法經已修复多隻USB磁碟.

  1. 系統管理員身份執行命令視窗CMD
  2. 執行『diskpart』登錄
  3. 執行『list disk』列出磁碟番號
  4. 執行『select disk x』擇當前操作磁碟..『x』替换為磁碟番號,
  5. 執行『clean』清除.
  6. 撳『控制台』->『系統管理工具』->『電腦管理』
  7. 撳『電腦管理(本機)』->『存放装置』->『磁碟管理』
  8. 系『未配置』撳『新增簡單磁碟區』重建磁碟分區
  9. 『簡單磁碟區大小』默認吾使改
  10. 『指定下列磁碟機代號』默認吾使改
  11. 勾『用下列設定將这個磁碟格式化』
  12. 『檔案系統』揀『FAT32』
  13. 『配置單位太小』揀『預設』
  14. 『磁碟區標籤』默認吾使改
  15. 勾『執行快速格式化』
  16. 格式化後成功修复USB磁碟.

 

 

Stable Diffusion插件-AddNet融合LoRA模型

Stable Diffusion插件-AddNet融合LoRA模型
Stable Diffusion插件-AddNet融合LoRA模型
Stable Diffusion插件-AddNet融合LoRA模型
Stable Diffusion插件-AddNet融合LoRA模型

『Additional Networks』插件 簡稱AddNet.任意實時融合至多5個LoRA模型, 權重係『0~0.5』LoRA模型先發揮作用.  LoRA觸發詞要加到prompt.

https://github.com/kohya-ss/sd-webui-additional-networks

裝『Additional Networks』插件

  1. 撳『Extensions擴展』->『Install from URL網絡安裝』
  2. 『URL for extension’s git repository』填『https://github.com/kohya-ss/sd-webui-additional-networks.git』
https://github.com/kohya-ss/sd-webui-additional-networks.git
  1. 撳『Install』下載
  2. 撳『Extensions擴展』->『Installed已裝』
  3. 撳『Apply and restart UI應用後重啟界面』

 

 

指定LoRa模型資料夾路徑

  1. 撳『Settings』->『Uncategorized』->『Additional Networks』
  2. 填『Extra paths to scan for LoRA models』
C:\stable-diffusion-webui\models\Lora
  1. 撳『Apply settings』應用設定
  2. 撳『Reload UI』重啟

 

 

 

指定LoRa模型權重

  1. 撳『Txt2img』->『Additional Networks』
  2. 勾『Enable』使能.
  3. 撳『refresh models』
  4. 設置LoRA模型.
  5. LoRA觸發詞要加到
  6. 權重設『0~0.5』,0係禁用, 多試幾次降低權重, 修正異常.
  7. 嘗試降低『Denoising strength』重繪幅度『1~0.2』, 修正異常.

SUPERMICR-SATA-DOM-G4GB

SUPERMICR-SATA-DOM-G4GB
SUPERMICR-SATA-DOM-G4GB
SUPERMICR-SATA-DOM-G4GB
SUPERMICR-SATA-DOM-G4GB
SUPERMICR-SATA-DOM-G4GB
SUPERMICR-SATA-DOM-G4GB
SUPERMICR-SATA-DOM-G4GB
SUPERMICR-SATA-DOM-G4GB

『SATA-DOM』即係SATA插頭迷理磁碟. 細到可以直插係SATA口. 諗住買蒞將openwrt. 讓m.2畀wifi.

上面印『SVFM Compact』, 用超微底板3pin供電.64GB- MLC固態磁盤.

超微底板有5個藍色SATA口, 1個橙色SATA口. 仝供電有關.

橙色SATA口吾使額外供電,靠第7PIN供電.

藍色SATA口靠額外5V供電.

電話咭-Lucky2攻略-港澳中台25GB

電話咭-Lucky2攻略-港澳中台25GB
電話咭-Lucky2攻略-港澳中台25GB
電話咭-Lucky2攻略-港澳中台25GB
電話咭-Lucky2攻略-港澳中台25GB

上次張『Lucky2上網卡-中台澳5GB-香港10G』用曬5GB高速後,低速後用吾够壹個月,張卡切底用吾到.祈有買過張.

『Lucky2上網卡-港澳中台25GB高速數據』.25GB高速用曬後降為512kbps低速任用, 140紋. 希望可以用一年.

插卡後開通『數據漫遊』.即插即用吾使實名登記.

 

咪
咪
咪
咪
咪
咪
咪

之前買落咪連埋支架, 先69紋. 支咪48V, 插係電腦,要買48V幻象火牛,點知壹插,火牛冇通電,块雜版B450I燒埋.

一分錢一分貨, 用埋ISK-48V幻象火牛,都係細聲.

撳『設定』->『系統』->『音效』->『輸入』->『測試麥克風』

頂櫳得%5左右.

 

Premiere剪接駁片

 

首先利用『Stable Diffusion WebUI』生成人像同背景.

  1. 『Premiere』
  2. 撳『File』->『new』->『Project』新建工程.填『location位置』『name名prpject』.
  3. 『Video Rendering and playback視頻渲染回放』揀GPU加速
Mercury Playback Engine GPU Acceleration GPU加速
Mercury Playback Engine Software Only CPU加速
  1. 『Video Display Format視頻顯示格式』揀『Timecode時間碼』
Timecode時間碼  
Feet+frames 16mm 16mm菲冧
Feet+frames 35mm 35mm菲冧
Frames畫格 祗計影片格數量
  1. 『Audio Display Format音頻顯示格式』
Audio Samples 音頻采樣(時:分:秒:幀)
Milliseconds 亳秒(時:分:秒:亳秒)
  1. 『Capture Format捕捉格式』揀『HDV』, 借助IEEE1394火線.
DV DV摄录機
HDV HDV摄录機
  1. 勾『Display the project item name and label color for all instances』針對所有實例項目名同標簽顏色.
  2. 『暫存盤(scratch disk) 』吾使搞
Documents文檔 用戶檔䅁夾
Same As Project項目 工程路徑
Custom自定 自定檔䅁夾
  1. 『收錄設置(Ingest settings)』
  2. 撳『确定ok』新建工程.
  3. 撳『窗口window』->『工作區workspaces』->『所有面版all panels』.
  4. 創建『序列』, 存放『短片』『聲音』『圖片』.
  5. 直接拖『圖片』入『Project』.
  6. 『時間軸』上層短片軌道覆盖下層短片軌道. 即係前景擺上層, 背景擺下層.
  7. 『圖片Project』拖入『時間軸』.
  8. 制作水印圖,解像與短片一致,係右下角填域名網名帶陰影.透明圖層.輸出 擺係『時間軸』上層.
  9. 制作人像, 借『transparent-background』背景透明人像圖. 解像與短片一致,輸出png圖檔
C:\Program Files\Python310\Scripts\transparent-background-gui.exe
  1. 咪頭錄『配音』. 拖入『Project』. 再拖入『時間軸』.
  2. 撳『space吉格』->『PLAY/STOP』
  3. 撳『file文件』->『導出export』->『媒體MEDIA』
格式Format H.264
預設PRESET Youtube 720p HD
  1. 撳『導出export』.

 

 

 

 

Stable Diffusion插件-Adetailer修復臉形扭曲

Stable Diffusion插件-Adetailer修復臉形扭曲
Stable Diffusion插件-Adetailer修復臉形扭曲
Stable Diffusion插件-Adetailer修復臉形扭曲
Stable Diffusion插件-Adetailer修復臉形扭曲
Stable Diffusion插件-Adetailer修復臉形扭曲

Adetailer自動檢測人臉,針對人臉自動生成遮罩,自動重繪修復臉形扭曲.一氣呵成, 吾使人工幹預.

https://github.com/Bing-su/adetailer
  1. 撳『Extensions擴展』->『Install from URL網絡安裝』
  2. 『URL for extension’s git repository』填『https://github.com/Mikubill/sd-webui-controlnet
https://github.com/Bing-su/adetailer.git
  1. 撳『Install』下載
  2. 撳『Extensions擴展』->『Installed已裝』
  3. 撳『Apply and restart UI應用後重啟界面』

 

  1. 手動下載『adetailer』
  2. 登入CMD命令行模式
  3. 指定當前資料夾
CD C:\stable-diffusion-webui\extensions\
  1. 下載『adetailer
git clone https://github.com/Bing-su/adetailer.git
  1. 如出錯刪下列檔䅁夾,再重新下載
C:\stable-diffusion-webui\extensions\sd-webui-animatediff
C:\stable-diffusion-webui\tmp\sd-webui-animatediff

 

勾ADetailer激活

揀Detection model检测模型,8s比8n說耗時長,修圖效果更佳.

Detection model检测模型  
Face_yolov8n.pt 檢測重繪人面
Face_yolov8s.pt 檢測重繪人面
Hand_yolov8n.pt 檢測重繪手
Person_yolov8n-seg.pt 檢測重繪整個人
Person_yolov8s-seg.pt 檢測重繪整個人
Yolov8x-worldv2.pt  
Mediapipe_face_full 檢測重繪人臉
Mediapipe_face_short  
mediapipe_face_mesh  
mediapipe_face_eyes_only 檢測重繪人眼

通過1st,2nd,3rd,4th, 叠加多個模型檢測并重繪

 

X攻略

X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略

X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略
X攻略

畀馬仔收購『twitter』後改名『x』.注册吾使填hk電話冧靶, 衹要gmail郵箱.

  1. 撳『使用Google帳戶繼續』
  2. 選揀gmail郵箱登記帳戶
  3. 『言語』揀漢字.
  4. 填『牛一』
  5. 填『使用者名稱』, 填域名『.』替换『_』. 例『bookcard_net』
  6. 允許x存取聯絡人.

 

WhatsApp攻略

WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略
WhatsApp攻略

注册『WhatsApp』,要HK電話冧靶, SIM咭可『收短信』同埋『上網』流動數據.

  1. 係『Google Play』下載『WhatsApp』.
  2. 輸入手機冧靶『+852 8888 8888』, 填錯隔機粒鐘先重發.
  3. 等收短訊,6位驗證代碼.
  4. 允許存取『聯絡人』『相片』『媒體』『google帳戶』權限.
  5. 填名.
  6. 上轉頭像.
  7. 設定->帳户->雙重認證. 設6位數字pin碼.
  8. 設定->帳户->電郵地址. 用翻『Google帳户』.

 

 

Google-HK電話冧靶注冊Gmail郵箱

Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱

Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱
Google-注冊Gmail郵箱

注冊Google帳號即注冊Gmail郵箱,要諗定個名6字母,仲畀人注册到.仲有畫埋定logo 解像512px*512px. 揀『源界明朝』體. Google公司條列定明Gmail郵箱閑2年注消

  1. 撳手機Gmail
  2. 撳『新增郵地址』
  3. 撳『Google』
  4. 『請重新輸入pin碼』
  5. 撳『建立帳戶』, 揀『工作或管理個人業務用途』
  6. 填『姓氏』『名字』
  7. 填『姓別』『出生曰期』
  8. 填Gmail地址, 6個ascii字母『xxxxxx@gmail.com 』
  9. 填Gmail密碼, 分大細寫字母(A~Z)+字符().
  10. 用HK電話冧靶,绑定備援電話.

 

 

 

 

 

 

 

 

 

 

 

 

電話咭-Lucky2攻略-中台澳5GB-香港10GB

電話咭-Lucky2攻略-中台澳5GB-香港10GB
電話咭-Lucky2攻略-中台澳5GB-香港10GB

鴨寮街Lucky2上網卡,冇電話冧靶,自然冇得接打電話,冇得收發短信.插卡後開通『數據漫遊』.即插即用吾使實名登記.

香港10GB高速數據,中台澳5GB高速數據.用曬後降為低速任用,即係365日冇限數據,鴨寮街價70蚊,SIM卡+卡針.

張卡用曬5GB高速後,低速後用吾够壹個月,張卡切底用吾到.

部主力機插左雙卡,手頭有部老竇舊手機,開熱點畀屋企手機電腦上網,等遲D先買插sim卡wifi郵路.實测youtube係畫質240p流畅.

  1. 手機插入『sim卡』
  2. 開『數據漫遊』
  3. 開『熱點』命名為『Lucky2』, 分享畀電腦.

 

電腦

  1. 切斷有線網络絡, 至簡單係猛條網線, 或者撳『控制台\所有控制台項目\網路連線』->停用『乙太網路』.
  2. 『WIFI』連『Lucky2』.

 

 

Blender-免費3D動畫

Blender-免費3D動畫
Blender-免費3D動畫

Blender-免費3D動畫

上世紀未荷蘭國森仔創立NEOGEO動畫獲得成功, 攬大沙炮創立NaN開發Blender. 冇两年𢴇笠收場.後蒞森仔創立Blender基金,以開源形式令Blender得以生存.

係『Blender』官網『https://www.blender.org/』下載.

blender-4.3.0-windows-x64.msi
blender-4.2.4-windows-x64.msi

『玩轉Blender-3D動畫角色創作(第3版)』配套資源,可係下面連接下載.下載後重命名『Learning-Blender-Production-Files-3rd-Edition.zip』,用『7-Zip』解壓.

https://www.dropbox.com/scl/fi/szglgt5ipzt67ymkdysdn/Learning-Blender-Production-Files-3rd-Edition.zip?rlkey=n3m3ledcegp54moimge8nk0sh&dl=1

硬片要求

  1. 滚輪鼠滑
  2. 104鍵盤
  3. 128GB記憶體
  4. NVIDIA顯卡

 

 

FFmpeg-DVD轉MP4

FFmpeg-DVD轉MP4
FFmpeg-DVD轉MP4

加時電腦腦冇配DVD,機箱冇5.25寸口,取而代之係家用NAS伺服機,16TB容量够存幾千DVD碟.用『FFmpeg』將DVD入面VOB轉MP4. 例

G:\VIDEO_TS\VTS_01_1.VOB
  1. 首先部署『FFmpeg
  2. 登录『命令行CMD
  3. 填下列指令將DVD轉MP4
ffmpeg -i G:\VIDEO_TS\VTS_01_1.VOB -c:v libx265 -c:a aac -preset medium -crf 23 D:\OUTPUT.MP4
ffmpeg -i G:\VIDEO_TS\VTS_01_1.VOB -c:v h264_nvenc -c:a aac -preset medium -crf 23 D:\OUTPUT.MP4

用上面指令,壓肆條片, 『H.254』畀『H.265』大肆倍.

  H.254 H.265 片長
小念頭.MP4 660 MB 119 MB 46:11
木人桩.MP4 669 MB 114 MB 43:44
尋橋.MP4 783 MB 142 MB 51:08
標指.MP4 770 MB 132 MB 50:23

 

 

参式簡介  
-i 輸入檔
-c:v 視頻編碼
-c:a 音頻編碼
-preset 编码速度和质量
-crf 視頻編碼質量

 

視頻編碼 -c:v  
flv 速度快,視頻文檔大
vp6  
libx264 同等清晰度下,视频文檔細,缺点係转换慢.
h264_qsv Intel-GPU 硬件编码
h264_nvenc NVIDIA-GPU 硬件编码
h264_amf AMD-GPU 硬件编码
h264_vaapi Intel AMD NVIDIA-GPU硬件编码
libx265 比264壓缩仲高

 

音頻編碼 -c:a  
mp3 速度快,視頻文檔大
aac 比MP3音檔細30%

 

編碼 -preset 编码速度和质量之间权衡
ultrafast 編碼速度最快,輸出質量最較低。
superfast 編碼速度飛快
veryfast 編碼速度飛快
faster 編碼速度較快
fast 編碼速度較快
medium 默認預設,平衡編碼速度和質量
slow 編碼速度較慢,輸出質量較高.
slower 編碼速度更慢,輸出質量更高.
veryslow 編碼速度最慢,輸出質量最高.

 

視頻編碼質量-crf  
0 無損壓縮 質量最高 文檔最大
18 視覺無損 質量非常高 文檔大細適中
23 默認值 平衡質量和文檔大細
51 質量最低 文檔最小

 

SUPERMICR X10SDV-4C-TLN2F

SUPERMICR X10SDV-4C-TLN2F
SUPERMICR X10SDV-4C-TLN2F
SUPERMICR X10SDV-4C-TLN2F
SUPERMICR X10SDV-4C-TLN2F
M.2-2280純銅散熱
M.2-2280純銅散熱

超微X10SDV簡化板,缺两個千兆口,有两個萬兆口.CPU係『D-1521』,插两條『32GB-2R*4』,著機自檢耐.

超微底板有5個藍色SATA口, 1個橙色SATA口. 仝供電有關.橙色SATA口吾使額外供電,靠第7PIN供電.藍色SATA口靠額外5V供電.

網卡芯片散熱阻擋M.2散熱,唯有用冇下托架散熱,用銅箔胶紙固定.

超微主板有前置面板插口,『超微機箱』皆有止插口Front panel Header.

有兩個『USB2.0-9Pin』,臺個左上邊,另臺個例右下邊.

祗适宜做NAS, 冇『USB3.0-19PIN』吾岩做Route.

 

Windows10下載機

Windows10下載機
Windows10下載機

本蒞諗住係『truenas』,用虛擬機装『Windows10』做『下載機』.實制未能充份利用CPU同Memory.更好係直接装『Windows10』.摆係角落用WIFI做冇線『下載機』.

配置都係淘汰件.最衰『ITX機箱』密吾透氣, 粒『XEON E5-2630LV3』係幾分鐘內超過壹百度.裝『AVC 9025』疏風.拆com口擋版透氣.裝『AVC 5020』直吹CPU.

  1. 网络唤醒
  2. Windows-SMB共享
  3. Microsoft 遠端桌面

 

下載機 配置
火牛 臺逵flex-500w
CPU INTEL XEON E5-2630LV3
CPU散熱 SOCKET2011-纯銅散熱風扇
CPU風扇 AVC 5020
底板 雜牌X99-ITX
機箱 3槽ITX機箱
WIFI Intel Wi-Fi 7 BE200
Memory SAMSUNG 32GB DDR4 2400T
HDD SAMSUNG SM961 256GB
SSD SAMSUNG 1000GB
顯卡 MSI GT710 1G

 

 

 

 

 

下載機 配置
火牛 臺逵flex-500w
CPU INTEL XEON E5-2630LV3
CPU散熱 SOCKET2011-纯銅散熱風扇
CPU風扇 AVC 4020
底板 雜牌X99-ITX
機箱 3槽ITX機箱
WIFI Intel Wi-Fi 7 BE200
Memory SAMSUNG 32GB DDR4 2400T
HDD SAMSUNG SM961 256GB
SSD SAMSUNG 1000GB
顯卡 MSI GT710 1G

 

 

 

Windows10-WakeOnLAN網絡喚醒

Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒
Windows10-WakeOnLAN網絡喚醒

係舊時網卡附有『3pin-WOL』插主板,實現『網絡喚醒』, 好彩依時主板附帶網口吾使『3pin-WOL』線. 『網絡喚醒』通過網線發送『喚醒魔術包』將『休眠』『睡眠』『閂機』電腦呌醒, 『閂機』後呌吾醒,可能Windows10電源管理引起.冇線WIFI吾得『網絡喚醒』,有線網卡先得『網絡喚醒』.

 

係主板BIOS設置『網絡喚醒』

  1. 著機撳『Delete』鍵登錄BIOS
  2. 撳『Advanced』->『Wake Up Function』
  3. 撳『Lan Wake Up』揀『Enabled』
  4. 撳『Advanced』->『Network stack Configuration』
  5. 撳『Network Stack』揀『Enabled』
  6. 撳『IPv4 PXE Support』揀『Enabled』
  7. 撳『IPv4 PXE Support』揀『Enabled』
  8. 『save』後退出

 

Windows10網卡設置

  1. 撳『控制台』->『裝置管理員』->『網路介面卡』
  2. 撳『有線網卡』似『Ethernet』
  3. 勾『允許電腦關閉這個裝置以節省電源』
  4. 勾『允許這個裝置喚醒電腦』
  5. 勾『只允許magic封包喚醒電腦』後『WakeOnLAN』睇吾電腦醒未.吾勾『WakeOnLAN』發送PING包可能會自動著機.
  6. 撳 『確定』

 

Windows10電源選項,混合式關機停用 WOL.

  1. 撳 『控制台』->『電源選項』
  2. 撳 『選擇電源按鈕的功能 』
  3. 禁止『開啟快速啟動 (建議選項) 』. 事因『混合式關機』停用
  4. 撳 『儲存變更』

 

Windows10電源選項

  1. 撳『控制台』->『電源選項』->『進階設定』
  2. 撳『睡眠』->『允許混合式睡眠』設定 『關閉』. 事因『混合式關機』停用
  3. 撳『PCI Express』->『連結狀熊電源管理』設定 『關閉』. 閂機後令網依然通電.
  4. 撳 『儲存變更』

 

Windows10網絡喚醒

  1. 下載『11.11.0.exe』後裝.
  2. 進『命令行模式CMD』用『ipconfig /all』得網卡『MAC位圵』同埋『主機名稱』. 『MAC位圵』6字節『xx:xx:xx:xx:xx:xx』.
  3. 𢴇行『exe』
  4. 撳『檔案FILE』->『新增主機New Host』
  5. 『Name名稱』求其填.
  6. 『Group群組』填『WORKGROUP』
  7. 『MAC Address位圵』似『xx:xx:xx:xx:xx:xx』6字節.
  8. 勾『Broadcast IP廣播位址IP』
  9. 『Broadcast子網路遮罩』填『168.1.255』
  10. 『FQDN/IP電腦名稱』填『主機名』或『IPV4地圵』
  11. 『UDP Port端口』填『9』
  12. 撳 『確定』
  13. 撳 『喚醒主機』
  14. 撳『遠端桌面』控制主機
  15. 撳『PING』後發送PING包可能會自動著機.

 

睡眠(S3)  
休眠(S4)  
關機(S5)  

 

 

 

 

ITX機箱-側透

ITX機箱-側透
ITX機箱-側透
ITX機箱-側透
ITX機箱-側透
ITX機箱-側透
ITX機箱-側透

諗住買『ITX機箱』蒞装翻『X99-ITX』同埋『QUADRO K6000』,需配『益衡SFX模組火牛750W 』,機箱背板係標准內凹設計.揀佢.

整體尚可, 叁條槽3090ti,最多可装肆12CM風扇.

  1. 電源線駁長成條賓洲. 重新造220v插頭,
  2. 『5寸磁碟』装肆粒磁石吸係火牛.
  3. 『5寸磁碟』可借助水冷支架.

x99-50mm風扇散熱支架

x99-50mm風扇散熱支架
x99-50mm風扇散熱支架
x99-50mm風扇散熱支架
x99-50mm風扇散熱支架
x99-50mm風扇散熱支架
x99-50mm風扇散熱支架
x99-50mm風扇散熱支架
x99-50mm風扇散熱支架
x99-50mm風扇散熱支架
x99-50mm風扇散熱支架

臺『ITX機箱』密吾透氣,粒『XEON E5-2630LV3』係幾分鐘內超壹百度.之前買拆機銅底鋁片散熱,打印風扇支架.裝『AVC 5020』直吹CPU.冚埋盖免强吾死機.

係網買『AVC 5020』睇蒞係拆機,線極短. 標『0.25a』但係噪聲大.

Logitech MX BRIO

Logitech MX BRIO
Logitech MX BRIO
Logitech MX BRIO
Logitech MX BRIO
Logitech MX BRIO
Logitech MX BRIO

上世紀末已有電腦摄像頭,一直冇買蒞玩,前排買過中古『Microsoft LifeCam Studio』條線根斷退貨.後蒞睇中Logitech摄像頭『MX BRIO』同『MX BRIO705 for Business』.包装吾同性能冇分别,

『MX BRIO』可用『Logi Options+』『Logitech G HUB』『Logi Tune』設置. 建議用『Logi Tune』.

壹定要插係『USB3.0-TYPE C』吾係吾上4K,『相片品質』『8.3MP 16:9(3840*2160)』, 『影片品質』『2160p 16:9(30fps)』.

插係『USB2.0』『相片品質』得翻『2.1MP 16:9(1920*1080)』,『影片品質』得翻『1080p 16:9(30fps)』.

Logi Options+
https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.exe

 

Logitech G HUB
https://download01.logi.com/web/ftp/pub/techsupport/gaming/lghub_installer.exe

『MX BRIO705 for Business』要用『Logi Tune』.

Logi Tune
https://software.vc.logitech.com/downloads/tune/LogiTuneInstall.exe

 

SAMSUNG SM961-512GB

SAMSUNG SM961-512GB
SAMSUNG SM961-512GB
SAMSUNG SM961-512GB
SAMSUNG SM961-512GB

『SM961-512GB』買蒞做下載機系統碟,健康得78%.比之前買『SM961-256GB』平一半. 『讀』3553MB/S『寫』1639MB/S. 比『SM961-256GB』讀寫仲快.

SAMSUNG SM961 叁數
型號 SM961
SIZE 512GB
3553mb/s
1639mb/s
協議 NVME
插口 M.2 PCIE3.0X4
顆粒 MLC

 

ITX機箱-3槽

ITX機箱-3槽
ITX機箱-3槽
ITX機箱-3槽
ITX機箱-3槽
ITX機箱-3槽
ITX機箱-3槽

雜牌ITX機箱買蒞諗住做『影音機』,肆面密吾透氣.得『4020風扇』抽風.貪佢有3條槽.

RYZEN5-1500X』+『原裝幽靈風扇』仲免强頂得住. 換左『XEON E5-2630LV3』+『纯銅散熱』+『猫頭鷹NF-A6x25』慶過辣雞.幾分鐘內超百度.两粒U都係功耗60w,睇蒞此類機箱CPU極限60w.

加裝两個『AVC 9025』疏風.冚辦闌COM口擋版拆蒞透氣.裝埋『AVC 12025』直吹CPU.

 

 

 

 

 

Microsoft 遠端桌面

Microsoft 遠端桌面
Microsoft 遠端桌面
Microsoft 遠端桌面
Microsoft 遠端桌面
Microsoft 遠端桌面
Microsoft 遠端桌面
Microsoft 遠端桌面
Microsoft 遠端桌面

使Windows10作為『網盤』『BT』下載機, 再蒞用『Microsoft 遠端桌面

遠程控制下載機.

 

『下載機』開啟遠端桌面

  1. 撳『設定』->『系統』->『關於』->『遠端桌面』
  2. 『啟用遠端桌面』撳『開啟』

 

『下載機』設定電源與睡眠

  1. 『螢幕 插電時, 在下列時間後關閉』揀『永不』
  2. 『睡眠 當電腦連接電源時, 會在下列時間後進入睡眠狀態』揀『永不』
  3. 撳『設定』->『系統』->『關於』->『進階系統設空』
  4. 撳『遠端』
  5. 勾『允許到這部電腦的遠端栛助連線』
  6. 勾『允許遠端連線到此電腦』
  7. 撳『套用』

 

Microsoft 遠端桌面

  1. 撳『+新增』
  2. 『電腦名稱』填『下載機』名稱
  3. 『使用者帳戶』填『下載機』登入帳戶

TrueNAS-虛擬機Windows10

TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10
TrueNAS-虛擬機Windows10

利用TrueNAS虛擬機装Windows10, 作為『網盤』『BT』下載機, 再蒞用 『Microsoft 遠端桌面』遠程控制下載機.

首先借『MediaCreationTool_22H2.exe』下載『Windows10-x64.iso』鏡像.

https://www.microsoft.com/zh-hk/software-download/windows10

下載虛擬機驅動『Stable virtio-win.iso

https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md

將『Windows10-x64.iso』同埋『virtio-win.iso』擺係NAS

/mnt/pool0/dataset/

分配Windows10磁碟

  1. 撳『dataset資料集』
  2. 撳『pool0->windows10』.
  3. 撳『新增 Zvol』
  4. 『Zvol name』填『disk』
  5. 『zvol size』填『128 GiB』, 『Win10』+『網盤』+『BT』最細要
  6. 撳『儲存』.

 

設置網路

電腦要兩wlan網口,兩條網線.壹個畀『TrueNAS』『enp6s0』, 壹個畀『Win10』『enp5s0』.

 

設置虛擬機

  1. 『https://192.168.1.X/』登入TRUENAS後台.
  2. 用『admin』號登入
  3. 撳『虛擬機』
  4. 撳『new』新增虛擬機
  5. 虛擬機類型『Guest作業糸統』揀『Windows』
  6. 勾『Enable Hyper-V Enlightenments』
  7. 『name名稱』填『Windows10』
  8. 『系統時鐘』填『本機』
  9. 『啟動方式』揀『UEFI』
  10. 勾『開機時啟動』
  11. 勾『啟用顯示器』
  12. 『繫結』揀『0.0.0』
  13. 『密碼』填登錄密碼
  14. 『虛擬 CPU』揀『1』
  15. 『核心』揀『2』
  16. 『執行緒』揀『2』
  17. 『CPU 模式』揀『Host-passthrough』物理CPU暴露
  18. 『記憶體大小』填『4 GiB』
  19. 勾『使用既有磁碟映像』
  20. 『選擇磁碟類型』揀『AHCI』
  21. 『Select Existing Zvol』揀『pool0/Windows10/disk』
  22. 『介面卡類型』揀『VirtIO』
  23. 『附加網路介面卡』揀『enp5s0』
  24. 『Windows鏡像』揀『/mnt/pool0/dataset/Windows10-x64.iso』
  25. 勾『Ensure Display Device』
  26. 撳『儲存』.

 

挂載虛擬機驅動『virtio-win.iso

  1. 撳『虛擬化』->『Windows10』->『裝置』
  2. 撳『新增』
  3. 『類型』揀『CD-ROM』
  4. 『CD-ROM 路徑』填『/mnt/pool0/dataset/virtio-win.iso』.
  5. 撳『儲存』.

 

著『Win10』虛擬機

  1. 撳『虛擬化』->『Windows10』
  2. 撳『開始』
  3. 撳『Display』
  4. 『Please enter your password:』填登錄密碼
  5. 當睇見『Press any key to boot from CD or DVD…』撳鍵盤,登錄Windows10安將向導.
  6. 錯過『Press any key to boot from CD or DVD…』轉入『UEFI Interactive Shell v2.1』.
  7. 『Shell>』填『exit』登錄『BIOS』.
  8. 撳『Boot Manager』揀啟動設備.
  9. 撳『EFI DVD/CDROM』登錄『Windows10』安装向導.

 

装網卡驅程

  1. 登錄『装置管理員』
  2. 撳『Ethernet控制卡』, 更新驅程.
  3. 指定驅程搜索『virtio-win』
  4. 装『Windows10』後刪冚辦闌『CDROM』.
  5. 撥『鍵盤』『滑鼠』『屏』
  6. 擺係角落
  7. 利用『Microsoft 遠端桌面』遠程控制

 

但系點解吾直接裝Windows10充份利用CPU同Memory, 再蒞『Microsoft 遠端桌面』遠程控制下載機.

 

 

 

 

CPU模式  
Custom 虛擬 CPU,性能相对差
Host-model  
Host-passthrough 物理CPU暴露畀虛擬機,虛擬機睇到物理CPU型號

 

 

 

Stable Diffusion外網訪問–share

Stable Diffusion外網訪問--share
Stable Diffusion外網訪問–share

Stable_Diffusion_share

Stable Diffusion外網訪問–share

之前利用『–listen』係內網訪問『Stable Diffusion』電腦,利用『–share』係外網訪問『Stable Diffusion』.

  1. 編缉『webui-user.bat』
C:\stable-diffusion-webui\webui-user.bat
  1. 對『bat』添加『– share』参數.
set COMMANDLINE_ARGS=–share
  1. 下載『frpc_windows_amd64.exe』.
https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_windows_amd64.exe
  1. 重命名為『frpc_windows_amd64_v0.2』,冇擴展名.
  2. 复制到『gradio』資料夾
C:\stable-diffusion-webui\venv\lib\site-packages\gradio
  1. 得到『https://684da9579597aa77c4.gradio.live』 此鏈接在72小時後過期
https://684da9579597aa77c4.gradio.live

 

1. Download this file: https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_windows_amd64.exe
2. Rename the downloaded file to: frpc_windows_amd64_v0.2
3. Move the file to this location: C:\stable-diffusion-webui\venv\lib\site-packages\gradio

 

This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)

 

Stable Diffusion下載安裝-ControlNet

Stable Diffusion下載安裝-ControlNet
Stable Diffusion下載安裝-ControlNet
Stable Diffusion下載安裝-ControlNet
Stable Diffusion下載安裝-ControlNet
Stable Diffusion下載安裝-ControlNet
Stable Diffusion下載安裝-ControlNet

『ControlNet』含『插件』『模型』分開下載.

『Stable Diffusion』裝『插件』需編輯『webui-user.bat』,加入命令行参式『–enable-insecure-extension-access』啟用插件訪問.

C:\stable-diffusion-webui\webui-user.bat
set COMMANDLINE_ARGS=–listen –enable-insecure-extension-access

下載插件方式1:

  1. 撳『Extensions擴展』->『Install from URL係網裝』
  2. 『URL for extension’s git repository』填『https://github.com/Mikubill/sd-webui-controlnet
https://github.com/Mikubill/sd-webui-controlnet.git
  1. 撳『Install』下載

 

下載插件方式2:

  1. 撳『Extensions擴展』->『Available可下載』
https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json
  1. 撳『Load from:加載擴展列表』搜索下載列表.
  2. 『sd-webui-controlnet』撳『Install』下載

 

  1. 撳『Extensions擴展』->『Installed已裝』
  2. 撳『Check for updates檢查更新』
  3. 撳『Apply and restart UI應用後重啟界面』
  4. 係『txt2img』『img2img』下側『ControlNet』
  5. 如果出錯刪下列檔䅁夾, 在重新下載
C:\stable-diffusion-webui\extensions\sd-webui-controlnet
C:\stable-diffusion-webui\tmp\sd-webui-controlnet

 

『雙精度模型』『ControlNet-v1-1

https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

下載『ControlNet』雙精度模型.

control_v11e_sd15_ip2p.pth InstructP2P
control_v11e_sd15_ip2p.yaml  
control_v11e_sd15_shuffle.pth Shuffle随機洗牌
control_v11e_sd15_shuffle.yaml  
control_v11f1e_sd15_tile.pth Tile/Blur
control_v11f1e_sd15_tile.yaml  
control_v11f1p_sd15_depth.pth Depth深度
control_v11f1p_sd15_depth.yaml  
control_v11p_sd15_canny.pth Canny硬邊緣
control_v11p_sd15_canny.yaml  
control_v11p_sd15_inpaint.pth Inpaint局部重繪
control_v11p_sd15_inpaint.yaml  
control_v11p_sd15_lineart.pth Lineart線稿
control_v11p_sd15_lineart.yaml  
control_v11p_sd15_mlsd.pth MLSD直線
control_v11p_sd15_mlsd.yaml  
control_v11p_sd15_normalbae.pth NormalMap法線貼圖
control_v11p_sd15_normalbae.yaml  
control_v11p_sd15_openpose.pth OpenPose姿勢
control_v11p_sd15_openpose.yaml  
control_v11p_sd15_scribble.pth Scribble䓍圖
control_v11p_sd15_scribble.yaml  
control_v11p_sd15_seg.pth Segmentation語義分割
control_v11p_sd15_seg.yaml  
control_v11p_sd15_softedge.pth SoftEdge軟邊緣
control_v11p_sd15_softedge.yaml  
control_v11p_sd15s2_lineart_anime.pth Lineart anime動圖線稿
control_v11p_sd15s2_lineart_anime.yaml  

 

『單精度模型』

https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/tree/main

下載『ControlNet』單精度模型.

control_lora_rank128_v11e_sd15_ip2p_fp16.safetensors
control_lora_rank128_v11e_sd15_shuffle_fp16.safetensors
control_lora_rank128_v11f1e_sd15_tile_fp16.safetensors
control_lora_rank128_v11f1p_sd15_depth_fp16.safetensors
control_lora_rank128_v11p_sd15_canny_fp16.safetensors
control_lora_rank128_v11p_sd15_inpaint_fp16.safetensors
control_lora_rank128_v11p_sd15_lineart_fp16.safetensors
control_lora_rank128_v11p_sd15_mlsd_fp16.safetensors
control_lora_rank128_v11p_sd15_normalbae_fp16.safetensors
control_lora_rank128_v11p_sd15_openpose_fp16.safetensors
control_lora_rank128_v11p_sd15_scribble_fp16.safetensors
control_lora_rank128_v11p_sd15_seg_fp16.safetensors
control_lora_rank128_v11p_sd15_softedge_fp16.safetensors
control_lora_rank128_v11p_sd15s2_lineart_anime_fp16.safetensors
control_v11e_sd15_ip2p_fp16.safetensors
control_v11e_sd15_shuffle_fp16.safetensors
control_v11f1e_sd15_tile_fp16.safetensors
control_v11f1p_sd15_depth_fp16.safetensors
control_v11p_sd15_canny_fp16.safetensors
control_v11p_sd15_inpaint_fp16.safetensors
control_v11p_sd15_lineart_fp16.safetensors
control_v11p_sd15_mlsd_fp16.safetensors
control_v11p_sd15_normalbae_fp16.safetensors
control_v11p_sd15_normalbae_fp16.safetensors
control_v11p_sd15_openpose_fp16.safetensors
control_v11p_sd15_scribble_fp16.safetensors
control_v11p_sd15_seg_fp16.safetensors
control_v11p_sd15_softedge_fp16.safetensors
control_v11p_sd15s2_lineart_anime_fp16.safetensors
control_v11u_sd15_tile_fp16.safetensors

 

下载支持SDXL1.0-ControlNet模型

https://huggingface.co/lllyasviel/sd_control_collection/tree/main

下載『ControlNet』SDXL1.0模型

https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/diffusers_xl_canny_full.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/diffusers_xl_depth_full.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/ioclab_sd15_recolor.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/ip-adapter_sd15.pth?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/ip-adapter_sd15_plus.pth?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/ip-adapter_xl.pth?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/kohya_controllllite_xl_blur.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/kohya_controllllite_xl_blur_anime.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/kohya_controllllite_xl_blur_anime_beta.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/kohya_controllllite_xl_canny.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/kohya_controllllite_xl_canny_anime.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/kohya_controllllite_xl_depth.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/kohya_controllllite_xl_depth_anime.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/kohya_controllllite_xl_openpose_anime.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/kohya_controllllite_xl_openpose_anime_v2.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/kohya_controllllite_xl_scribble_anime.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sai_xl_canny_128lora.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sai_xl_canny_256lora.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sai_xl_depth_128lora.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sai_xl_depth_256lora.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sai_xl_recolor_128lora.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sai_xl_recolor_256lora.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sai_xl_sketch_128lora.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sai_xl_sketch_256lora.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sargezt_xl_depth.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sargezt_xl_depth_faid_vidit.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sargezt_xl_depth_zeed.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/sargezt_xl_softedge.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/t2i-adapter_diffusers_xl_canny.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/t2i-adapter_diffusers_xl_depth_midas.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/t2i-adapter_diffusers_xl_depth_zoe.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/t2i-adapter_diffusers_xl_lineart.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/t2i-adapter_diffusers_xl_openpose.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/t2i-adapter_diffusers_xl_sketch.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/t2i-adapter_xl_canny.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/t2i-adapter_xl_openpose.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/t2i-adapter_xl_sketch.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/thibaud_xl_openpose.safetensors?download=true
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/thibaud_xl_openpose_256lora.safetensors?download=true

 

將下載『.pth模型』『.yaml描述』『.safetensors模型』复制至models檔䅁夾

『C:\stable-diffusion-webui\extensions\sd-webui-controlnet\models』

模型標記 模型版本 品質 SD版本 預處理 文檔擴展名
control v11-1.1版 e實驗品 sd15 ip2p .pth模型
  v11f1修正版1 p正品 sd21   .yaml描述
    u半成品     .safetensors模型

 

下载VAE模型

https://huggingface.co/stabilityai/sdxl-vae
sdxl_vae.safetensors

擺係

C:\stable-diffusion-webui\models\VAE

 

  1. 撳『Settings』->『Stable Diffusion』
  2. 『Random number generator source.亂數生成源』揀『CPU』.
  3. 撳『Settings』->『Sampler parameters』
  4. 勾『SGM noise multiplier』將初始雜訊與官方SDXL實現相配-僅適用於再現影像.
  5. 撳『Settings』->『Compatibility』
  6. 勾『Do not make DPM++ SDE deterministic across different batch sizes.』保留 DPM++SDE采样器在不同批量之间结果差异.
  7. 撳『Apply settings』應用設定.
  8. 撳『Reload UI』重置圖形界面.

 

 

係『txt2img』『img2img』下側『ControlNet』

Enable使能 勾選後撳『ControlNet』先啟用.
Low VRAM低顯存 顯存細過4GB,勾選
Pixel Perfect完美像素 自動匹配解像,實現最佳效果
Allow Preview 允許預覽
Effective Region Mask有效區遮擋  
Upload independent control image上傳獨立控制影畫  
Preprocessor預處理  
Model模型  
Control Weight權重 ControlNet對影像影響值, 權重值設0.6~1.1
Starting Control Step 開始介入時機,默認0,叢開始影響影像.
Ending Control Step 結束介入時機,默認1,對影像影響至結束
Annotator resolution 影像解像
Canny-Low threshold 值越低越細致
Canny-High threshold 值越高越粗糙

 

Control類型  
all 冚辦闌
Canny 硬邊緣
Depth 深度
IP-Adapter 圖生圖
Inpaint 局部重繪
Instant-ID  
InstructP2P 指導圖生圖
Lineart 線稿
MLSD 直線
NormalMAP 法線貼圖
OpenPose 姿勢
Recolor 重新上色
Reference 引用
Revision 修正
Scribble 涂鴉
Segmentation 語義分割
Shuffle  
SoftEdge  
SparseCTRL  
T2I-Adapter 文生圖
Tile 平鋪

 

 

NETGEAR® GS116EV2千兆交換機

NETGEAR® GS116EV2千兆交換機
NETGEAR® GS116EV2千兆交換機
NETGEAR® GS116EV2千兆交換機
NETGEAR® GS116EV2千兆交換機
NETGEAR® GS116EV2千兆交換機
NETGEAR® GS116EV2千兆交換機
NETGEAR® GS116EV2千兆交換機
NETGEAR® GS116EV2千兆交換機
CAT8
CAT8

中古『NETGEAR® GS108』得8網口,諗住買16口『NETGEAR® GS116EV2』.两百幾紋.

『NETGEAR』網口左右各壹眼LED燈.左燈著『100m/bps』带寬,右燈著『10m/bps』带寬, 左右燈著『1000m/bps』带寬.

電腦網卡左燈著係『通電』燈,右燈係信號指示燈.

點知『GS116EV2』有壹個網口得『100m/bps』带寬,可熊係網線造成,重新夾CAT8頭.也可能另壹邊網卡『100m/bps』带寬造成,『JBL-L75MS』係『100m/bps』带寬.

 

 

蒞電著機

『AC Power Loss』『Power On』蒞電著機
『AC Power Loss』『Power On』蒞電著機

仲係『pentium Ⅱ』年代,『INTEL原廠』底板識插電著機, 砌『NAS』『Router』係斷電後『蒞電著機』. 以保障『網络』.

  1. 著機撳『del』鍵, 进入『BIOS』.
  2. 『Advanced』->『Wake Up Function』->『AC Power Loss』
  3. 揀『Power On』蒞電著機.
  4. 揀『Last State』恢复電前状態.

 

JBL-L75MS總合音樂系統

JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統

 

AUX3.5MM
AUX3.5MM
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統
JBL-L75MS總合音樂系統

本蒞諗住買『惠威M-80W』,聽講質量麻麻一直冇落手.

睇中『JBL-L75MS』, 兩個5.25寸低音, 兩個1寸高音, 壹個4寸中音. 總合係單壹箱內.搞特價4798果斷落手.

順風寄蒞,三重紙箱, 『音箱』長790MM摆吾入書架.

附件有『電池』『摇控』『勾』『指南書』『電線』. 冇畀『3.5MM音頻線』, 好在支持『RJ45網線』『WIFI』『USB線』『藍牙』

 

『藍牙』連線

  1. 首先撳『音箱』頂『中間䭈』, 至『藍牙』燈閃
  2. 撳『中間制』3秒吾放
  3. 依加先著『藍牙』,連『JBL-L75ms』.

 

『AUX3.5MM』音箱線

Windows10藍牙連線-吾知係咪藍牙驅動造成,間歇冇聲斷聲,後蒞買两頭3.5MM插頭連線.

 

『WLAN』網口

插網線後,通過手機電腦連線『192.168.1.5』,有可能係其它ip,登錄『音箱』後台. 可以連『wifi』.

 

『USB』口

插USB線冇反應,事因佢插USB磁碟.

  1. 將古仔錄入USB磁碟.
  2. 撳搖控『雲』鍵
  3. 通過『手機』『電腦』連線『http://192.168.1.5/webclient/』
  4. 撳『USB』擇古仔.
  5. 閂網頁後音箱依然播放.
  6. 撳搖控『Play/Pause』鍵

 

 

連『WIFI』

插網線後,通過手機電腦連線『192.168.1.5』

  1. 撳『Network Settings』
  2. 撳『Start scan』
  3. 勾『SSID』-wifi名
  4. 填『Password』密碼
  5. 撳『Configure』儲存

 

 

『SFX』聲場增強

摇控『SFX』鍵-加强室內立體聲寬廣聲場,冇效果.

 

『接地』

有獨立接地口,閉環接地線,屋企接地係邊?

 

『低音』BASS CONTOUR

『低音調節』撥『-3DB』加重低音輸出. 聽人聲吾使撥.

 

 

 

 

 

 

 

 

 

ATX火牛20PIN轉24PIN

ATX火牛20PIN轉24PIN
ATX火牛20PIN轉24PIN
ATX火牛20PIN轉24PIN
ATX火牛20PIN轉24PIN
ATX火牛20PIN轉24PIN
ATX火牛20PIN轉24PIN
ATX火牛20PIN轉24PIN
ATX火牛20PIN轉24PIN

有舊『ATX火牛』230W, 諗住用係『B450-ITX』配『RYZEN5-1500X』得60W岩岩够. 但係舊『ATX火牛』20pin. 冇左4pin插係『B450-ITX』照樣著機.多出4pin分别係『3.3v』『5V』『12V』『地』. 理論蒞講通過係飛線增加『4PIN』.網有20PIN轉24PIN線,直頭吾著機,好彩冇燒底板.

 

PotPlayer同步字幕

PotPlayer同步字幕
PotPlayer同步字幕

睇『西班牙』神怪片『卅銀帀2』,另外下載字幕吾同步,可能刪片頭造成.

  1. 撳『Ctrl+<』延後5秒, 『Ctrl+>』提早5秒. 逼近同步點.
  2. 再撳『<』延後5秒, 『>』提早0.5秒. 對口形.
  3. 撳『Ctrl+alt+s』『另存字幕』. 導出字幕.

益衡SFX模組750W火牛ENP-8175

益衡SFX模組750W火牛ENP-8175
益衡SFX模組750W火牛ENP-8175
益衡SFX模組750W火牛ENP-8175
益衡SFX模組750W火牛ENP-8175
益衡SFX模組750W火牛ENP-8175
益衡SFX模組750W火牛ENP-8175
益衡SFX模組750W火牛ENP-8175
益衡SFX模組750W火牛ENP-8175
24PIN
24PIN

新買ITX機箱諗住用翻『益衡FLEX-600W火牛』, 點知装得『atx』同『sfx』火牛, 唯有買『益衡SFX火牛』總功率750瓦,『SFX』同係為『itx』細機箱設計, 方體更适合係細機箱.

配線齊但係主板24PIN偏短,後蒞買30CM長24PIN駁線.且功耗下火牛風轉减小噪聲.

㸃知雜牌『X99-itx』掉失『M.2-SSD』, 以為係火牛引起.又再買『EVGA SFX 650W』㸃知仲衰. 後蒞换左amphenol-sata線先搞掂.

 

Stable Diffusion網絡共享

Stable Diffusion網絡共享
Stable Diffusion網絡共享
Stable Diffusion網絡共享
Stable Diffusion網絡共享
Stable Diffusion網絡共享
Stable Diffusion網絡共享
Stable Diffusion網絡共享
Stable Diffusion網絡共享

壹臺『Stable Diffusion』電腦,可以有多塊『NVIDIA-GPU顯卡』,發熱噪聲犀利, 唯有擺係機房仔,係內網用『手機』『平板』『電腦』訪問『Stable Diffusion』.

  1. 編缉『webui-user.bat』
C:\stable-diffusion-webui\webui-user.bat
  1. 對『bat』添加『–listen』参數.
set COMMANDLINE_ARGS=–listen
  1. 𢴇行『webui-user.bat』 ip地埗『http://0.0.0.0:7860』
  2. 『http://0.0.0.0』指本機ip地埗
  3. 進入『命令行模式CMD
  4. 用『ipconfig』睇ipv4地埗係『http://192.168.1.8』, 台台機吾同.
  5. 『http://192.168.1.8:7860』訪問『Stable Diffusion』

 

係win10仲要防火牆加網埠監聽.

  1. 『控制台』->『windows defender防火牆』->『進皆設定』
  2. 『輸入規則』->『新增規則』
  3. 勾『連接埠』
  4. 勾『TCP(T) 』
  5. 勾『特定本機連接埠』填『7860』
  6. 勾『允許連線』
  7. 勾『網域(D)』『私人(P)』『公用(U)』
  8. 『名稱』填『Stable Diffusion』

AFUDOS

AFUDOS.EXE
AFUDOS.EXE

更新『AMI-BIOS』有『AFUWIN』同埋『AFUDOS』, 但係『AFUWIN』吾支緩『win10』, 得翻『AFUDOS』 .

  1. 用『Rufus』制作『MS-DOS』引導『USB磁碟』.
  2. 將『EXE』同埋『BIOS.BIN』复制入USB磁碟.
  3. 登入BIOS以『USB磁碟』引導進入『MS-DOS』.
  4. 以『EXE BIOS.BIN /P』更新BIOS.
  5. 更新BIOS過程,切勿停電或重啟電腦,導致BIOS寫神,未能BOOT機.
示例
AFUDOS.EXE BIOS.BIN /0 導出BIOS
AFUDOS.EXE BIOS.BIN /P 寫入MAIN BIOS
AFUDOS.EXE BIOS.BIN /B 寫入啟動块Boot Block
AFUDOS.EXE BIOS.BIN /santa 强制寫BIOS
AFUDOS.EXE F BIOS.BIN 强制寫BIOS

 

Rufus-USB開機磁碟

Rufus-USB開機磁碟
Rufus-USB開機磁碟

華南X99-F8D Plus』開機蓝屏『TeeDriverW8x64.sys』, 可禁節能模式『CPU C3/C6』修复,但系冇左『睡眠模式』.諗住試更新BIOS修复.但系雜牌主板『Q-FLASH』冇『BIOS』更新程式.更新『AMI-BIOS』用『AFUDOS.EXE』,係Win10冇DOS啟動磁碟,利用『Rufus』制『MS-DOS』開機磁碟. 同『Etcher』壹樣, 但係『Rufus』內含『MS-DOS』同『FreeDOS』映像.

 

登入『http://rufus.ie』下載『rufus-4.5.exe』.

  1. 『開機模式』揀『MS-DOS』
  2. 『資料分割配置』揀『MS-DOS』
  3. 『目标系統』揀『BIOS(uefi-CSM)』
  4. 撳『執行』
  5. 复制『exe』『bios.bin』入usb磁碟
  6. 重啟撳『DELETE』入『BIOS』.
  7. 撳『USB開機磁碟』入『MS-DOS』.
  8. 輸『exe bios.bin』撳『ENTER』, 更新『BIOS』.

 

http://rufus.ie
https://github.com/pbatard/rufus/releases/download/v4.5/rufus-4.5.exe

 

Sound Forge聲音處理程式

Sound Forge聲音處理程式
Sound Forge聲音處理程式

諗住剪日語五辻聲带片頭,係學電腦初年『andre LaMothe』講過『Sound Forge』易入門,且聲音處理佢至掂.拖入原始聲音檔

  1. 用滑鼠拖選聲带片頭
  2. 撳『EDIT』->『CUT』
  3. 撳『File』->『Save As』
  4. 『存檔類型揀』揀『MP3 Audio(*.mp3)』
  5. 撳『Save』存為

Stable Diffusion模型下載

Stable Diffusion模型下載『基礎模型』
Stable Diffusion模型下載『基礎模型』

當睇到下面信息『Stable Diffusion』已装掂,但係缺『基礎模型』.

No checkpoints found. When searching for checkpoints, looked at:
– file C:\stable-diffusion-webui\model.ckpt
– directory C:\stable-diffusion-webui\models\Stable-diffusion
Can’t run without a checkpoint. Find and place a .ckpt file into any of those locations. The program will exit.

先去『civitai.com』下載模型

https://civitai.com/
https://huggingface.co/

係『Stable Diffusion』左上角揀基礎模型.擴展名『.safetensors』『.ckpt』, 大細係6GB~4GB之間. 『基礎模型』吾可叠加.

『基礎模型』擺係指定檔案夾.

Model模型 檔案夾位置
Checkpoint『.ckpt』 C:\stable-diffusion-webui\models\Stable-diffusion
.safetensors C:\stable-diffusion-webui\models\Stable-diffusion

『基礎模型』添加封面,圖檔名與模型名壹致,同『基礎模型』模型擺係壹起,之後撳『refresh page』刷新.

基礎模型 model.safetensors
封面圖 model.png

 

Stable Diffusion-下載安裝

Stable Diffusion下載安裝
Stable Diffusion下載安裝
Stable Diffusion下載安裝
Stable Diffusion下載安裝
Stable Diffusion下載安裝
Stable Diffusion下載安裝

Stable Diffusion』開源AI划畫畵程式. 輕易係網络下載,部署係電腦行.

https://github.com/AUTOMATIC1111/stable-diffusion-webui

『提示詞』畀『Clip』解讀, 『Diffusion』逐步生成圖像.

『提示詞』->『Clip』->『Diffusion』->『VAE』->『畵』

 

硬件要求

  1. NVIDIA RTX孖2080Ti-組NVLink.
  2. 固態磁碟吾細於20gb

 

部署運行環境.

  1. Python下載安装, 必需裝『Python 3.10.6
  2. git下載安装
  3. PyTorch下載安裝
  4. gfpgan
  5. Clip
  6. open_clip
  7. httpx
  8. transformers』模型分詞器.
  9. torchmetrics
  10. open-clip-torch
  11. v1-5-pruned-emaonly.safetensors
  12. Stable Diffusion模型下載

 

部署Stable Diffusion

  1. 撳『Win+r』填cmd
  2. 碟符『c:』撳『enter』
  3. 撳『.』入『c:』碟根
  4. 『GIT』克隆『Stable Diffusion』, 填下面克隆碼.
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
  1. 等待克隆结束, 出現100%-done
  2. 吾对下載『stable-diffusion-webui-1.0.0-pre.zip』版本過舊.
  3. 复制『exe』路徑,『Stable Diffusion』自動复制python. 非『Python 3.10.6』唔匹配.
“C:\Program Files\Python310\python.exe”
  1. 以記事本编輯『C:\stable-diffusion-webui\webui-user.bat』
  2. 编輯『webui-user.bat』
@echo off
set PYTHON=”C:\Program Files\Python310\python.exe”
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=–xformers
call webui.bat
  1. 刪『C:\stable-diffusion-webui\venv』資料夾.
  2. 執行『C:\stable-diffusion-webui\webui-user.bat』.
  3. 非『Python 3.10.6』唔匹配.
ERROR:Could not find a version that satisfies the requirement torch
ERROR:NO matching distribution found for torch
  1. 檢查最新版pip時出錯.
WARNING:There was an error checking the latest version of pip.
  1. 手動升級pip至最新版.
python -m pip install –upgrade pip
C:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install –upgrade pip
  1. PyTorch未稳到gpu
RuntimeError: Torch is not able to use GPU; add –skip-torch-cude-test to COMMANDLINE_ARGS variable to disable this check
  1. 跳過gpu檢測, 編輯『webui-user.bat』.
set COMMANDLINE_ARGS=–xformers –skip-torch-cuda-test
  1. 未有裝gfpgan
RuntimeError: Couldn’t install gfpgan.
  1. 未有裝Clip
RuntimeError: Couldn’t install clip.
  1. 未有裝open_clip
RuntimeError: Couldn’t install open_clip.
  1. 未有裝『transformers』模型分詞器.
OSError: Can’t load tokenizer for ‘openai/clip-vit-large-patch14’. If you were trying to load it from ‘https://huggingface.co/models’, make sure you don’t have a local directory with the same name. Otherwise, make sure ‘openai/clip-vit-large-patch14’ is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.
  1. 未有裝httpx
TypeError: AsyncConnectionPool.__init__() got an unexpected keyword argument ‘socket_options’
  1. 未有裝torchmetrics
ImportError: cannot import name ‘_compare_version’ from ‘torchmetrics.utilities.imports’ (C:\stable-diffusion-webui\venv\lib\site-packages\torchmetrics\utilities\imports.py)
  1. 『Stable Diffusion』冇自带模型.需自行下載.
Downloading: “https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors” to C:\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors
  1. 若中斷可刪『venv』重构
C:\stable-diffusion-webui\venv
  1. 當妳睇到『http://127.0.0.1:7860』網頁,証明掂左, 『Stable Diffusion』奉行『輵』『殼』分离哲學. 『http://127.0.0.1:7860』係『殼』, 『殼』崩潰吾會會影影響『輵』.
Running on local URL:  http://127.0.0.1:7860

 

 

open-clip-torch下載安裝

open-clip-torch下載安裝
open-clip-torch下載安裝

安裝『Stable Diffusion』時未有安裝『open-clip-torch』

changing setting sd_model_checkpoint to v1-5-pruned-emaonly.safetensors [6ce0161689]: AttributeError

Traceback (most recent call last):

AttributeError: ‘NoneType’ object has no attribute ‘lowvram’
  1. 進入『命令行模式CMD
  2. 執行下列安裝指令
pip install open-clip-torch==2.20.0
C:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install open-clip-torch==2.20.0

 

v1-5-pruned-emaonly.safetensors下載安裝

v1-5-pruned-emaonly.safetensors下載安裝
v1-5-pruned-emaonly.safetensors下載安裝

『Stable Diffusion』冇自带模型,需自行下載,當妳睇到下面信息,下載『v1-5-pruned-emaonly.safetensors』, 之后擺係『C:\stable-diffusion-webui\models\Stable-diffusion\』資料夾.

Downloading: “https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors” to C:\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors

 

https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors Sour
C:\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors dest

 

transformers更新安裝

更新transformers模型分詞器
更新transformers模型分詞器
安裝transformers模型分詞器.
安裝transformers模型分詞器.

當妳『Stable Diffusion』睇到下面信息,未有裝『transformers』模型分詞器.或版本舊.

OSError: Can’t load tokenizer for ‘openai/clip-vit-large-patch14’. If you were trying to load it from ‘https://huggingface.co/models’, make sure you don’t have a local directory with the same name. Otherwise, make sure ‘openai/clip-vit-large-patch14’ is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.
  1. 進入『命令行模式CMD
  2. 裝『transformers』模型分詞器.
pip install transformers
C:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install transformers
  1. 更新『transformers』 模型分詞器
pip install –upgrade transformers
C:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install –upgrade transformers

 

 

torchmetrics下載安裝

torchmetrics下載安裝
torchmetrics下載安裝

安裝『Stable Diffusion』時未有裝『torchmetrics』.

ImportError: cannot import name ‘_compare_version’ from ‘torchmetrics.utilities.imports’ (C:\stable-diffusion-webui\venv\lib\site-packages\torchmetrics\utilities\imports.py)

進入『命令行模式CMD

查版本號

pip show torchmetrics

缷載

pip uninstall torchmetrics

下載0.11.4版本

C:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install torchmetrics==0.11.4

 

httpx下載安裝

httpx下載安裝
httpx下載安裝

安裝『Stable Diffusion』時報錯

TypeError: AsyncConnectionPool.__init__() got an unexpected keyword argument ‘socket_options’
  1. 進入『命令行模式CMD
  2. 執行下列安裝指令
C:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install httpx==0.24.1 -force-reinstall
python.exe -m pip install httpx==0.24.1 -force-reinstall

 

 

 

OpenCLIP下載安裝

OpenCLIP下載安裝
OpenCLIP下載安裝

安裝『Stable Diffusion』時未裝『open_clip』. 其實亦係『clip

RuntimeError: Couldn’t install open_clip.

進入『open_clip

https://github.com/mlfoundations/open_clip

或者下載『open_clip』落『C:』碟

git clone https://github.com/openai/open_clip.git

下載『open_clip-main.zip』後解壓本地安裝

https://codeload.github.com/mlfoundations/open_clip/zip/refs/heads/main

复制『C:\open_clip』到『C:\stable-diffusion-webui\venv\Scripts』

C:\open_clip Sour
C:\stable-diffusion-webui\venv\Scripts dest

進入『命令行模式CMD

CD去『CLIP』檔䅁夾, 作為本地路徑

cd C:\stable-diffusion-webui\venv\Scripts\open_clip

执行下列安裝指令

C:\stable-diffusion-webui\venv\Scripts\python.exe setup.py build install

 

常試通過pip指令安裝

pip install open_clip_torch

 

NVIDIA RTX孖2080Ti-組NVLink

NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX孖2080Ti-組NVLink
NVIDIA RTX 2080Ti NVLink Nvidia-smi
NVIDIA RTX 2080Ti NVLink Nvidia-smi
552.22-desktop-win10-win11-64bit-international-nsd-dch-whql
552.22-desktop-win10-win11-64bit-international-nsd-dch-whql
NVLinkTest
NVLinkTest

諗住買3090Ti點知連成萬,孖2080Ti送NVLink先陸千有找.

登入NVIDIA官網下載嘉時至新驅動

https://www.nvidia.com/Download/index.aspx?lang=en-us

 

NVIDIA Driver Downloads
NVIDIA Driver Downloads
Product Type GeForce
Product Series GeForce RTX 40 Series
Product GeForce RTX 4090 Ti
Operating System Windows 10 64-bit
Download Type NVIDIA Studio Driver

撳Search下載驅動

https://us.download.nvidia.com/Windows/552.22/552.22-desktop-win10-win11-64bit-international-nsd-dch-whql.exe
  1. 登入『命令列介面cmd』.
  2. 撳『nvidia-smi
  3. 睇到孖『NVIDIA GeForce RTX 2080 Ti』

 

新顯卡NVLINK金手指有封膜,撕左插入NVLINK桥即掂.冇使搞BIOS.

  1. 撳『NVIDIA控制面板』
  2. 撳『3D設定』->『設定SLI,Surround,PhysX』->『SLI設定』
  3. 勾『最大3D效能』

 

下載『NVLinkTestCUDA11』測試NVLINK桥造總線带寛

https://www.pugetsystems.com/support/guides/how-to-enable-and-test-nvidia-nvlink-on-quadro-and-geforce-rtx-cards-in-windows-10-1266/
https://puget.systems/go/NVLinkTestCUDA11

孖『NVIDIA GeForce RTX 2080 Ti』都插係PCIEx16,鋪頭送『GeForce NVLINK』桥造總線带寛得『48.08GB/S』, 可能要『Quadro Nvlink』先有『100GB/S』带寛.

Clip下載安裝

Clip下載安裝
Clip下載安裝
Clip下載安裝
Clip下載安裝

clip』建构圖像文字之間連系模型,安裝『Stable Diffusion』時未有安裝『clip』.

RuntimeError: Couldn’t install clip.

進入『clip

https://github.com/openai/clip/

下載『clip』落『C:』碟

git clone https://github.com/openai/CLIP.git

或者下載『CLIP-main.zip』後解壓

https://codeload.github.com/openai/CLIP/zip/refs/heads/main

复制『C:\CLIP』到『C:\stable-diffusion-webui\venv\Scripts』

C:\CLIP Sour
C:\stable-diffusion-webui\venv\Scripts dest

進入『命令行模式CMD

CD去『CLIP』檔䅁夾, 作為本地路徑

cd C:\stable-diffusion-webui\venv\Scripts\CLIP

执行下列安裝指令

C:\stable-diffusion-webui\venv\Scripts\python.exe setup.py build install

 

GFPGAN下載安裝

gfpgan下載安裝
gfpgan下載安裝

安裝『Stable Diffusion』時未有安裝『gfpgan』人樣修复.

RuntimeError: Couldn’t install gfpgan.

進入『GFPGAN

https://github.com/TencentARC/GFPGAN

下載『GFPGAN』落『C:』碟

git clone https://github.com/TencentARC/GFPGAN.git

复制『C:\GFPGAN』到『C:\stable-diffusion-webui\venv\Scripts』

C:\GFPGAN Sour
C:\stable-diffusion-webui\venv\Scripts dest

進入『命令行模式CMD

CD去『GFPGAN』檔䅁夾, 作為本地路徑

cd C:\stable-diffusion-webui\venv\Scripts\GFPGAN

执行下列安裝指令

C:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install basicsr
C:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install facexlib
C:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install -r requirements.txt
C:\stable-diffusion-webui\venv\Scripts\python.exe setup.py develop
C:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install realesrgan

 

PyTorch下載安裝

PyTorch下載安裝
PyTorch下載安裝
PyTorch下載安裝
PyTorch下載安裝

『Torch』基於神經網络人工智慧輵, 『PyTorch』係『Python』版本

首先确認NVIDIA顯卡支持CUDA版本. 下載最新顯卡驅動『552.22-desktop-win10-win11-64bit-international-nsd-dch-whql.exe』

 

網络安装『PyTorch

  1. 進『命令行模式CMD
pip3 install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu121

 

本地安装『PyTorch

  1. 進『命令行模式CMD
  2. 行『NVIDIA-SMI.exe
  3. 确認『torch版』+『cuda版』+『python版』+『win/linux版』
  4. 部機『torch-2.3.0』+『cuda-12.4』+『python-3.10.6』+ 『Win-x64』
  5. 版本配對『cp=python』,『cu<=cuda』
https://download.pytorch.org/whl/torch/
  1. 直接将『.whl』下載落蒞直接本地安裝『torch-2.3.0+cu121-cp310-cp310-win_amd64.whl
https://download.pytorch.org/whl/cu121/torch-2.3.0%2Bcu121-cp310-cp310-win_amd64.whl#sha256=002027d18a9c054f08fe9cf7a729e041229e783e065a71349015dcccc9a7137e
  1. 將『.whl』摆係『D:』碟.
  2. 管現員身份進入命令行模式cmd
  3. 『pip install whl “d:\torch-2.3.0+cu121-cp310-cp310-win_amd64.whl”』
  4. 檢查最新版pip時出錯.
WARNING:There was an error checking the latest version of pip.
  1. 管現員身份進入命令行模式cmd
Defaulting to user installation because normal site-packages is not writeable
  1. 手動升級pip至最新版. 以管理員身份𢴇行.
python -m pip install –upgrade pip

測試『Pytorch』返回true,表示可調用GPU-CUDA指令, 進入『Pytho3.10』.

import torch
print(torch.__version__)
torch.cuda.is_available()

 

缷載tcrch

Pip uninstall torch
Pip uninstall torchaudio torchvision
Pip uninstall torch-geometric torch-scatter torch-sparse torch-cluster torch-spline-conv

 

https://pytorch.org/get-started/locally/
https://pytorch.org/get-started/previous-versions/

 

NVIDIA TESLA P40

NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40
NVIDIA TESLA P40 GPU REGEDIT
NVIDIA TESLA P40 GPU REGEDIT
NVIDIA TESLA P40 GPU
NVIDIA TESLA P40 GPU
NVIDIA TESLA P40 GPUZ
NVIDIA TESLA P40 GPUZ
NVIDIA TESLA P40 NVIDIA-SMI
NVIDIA TESLA P40 NVIDIA-SMI
NVIDIA TESLA P40 NVIDIA GPU
NVIDIA TESLA P40 NVIDIA GPU
NVIDIA TESLA P40 NVIDIA GPU
NVIDIA TESLA P40 NVIDIA GPU

睇人AI繪畫,諗住買NVIDIA顯卡,中古RTX3060都要兩千幾,

可能係機房大批淘汰,Tesla P40-24GB係網大量焦拋售,柒百伍包郵,成色麻麻.配NVIDIA-8pin專用供電線,睇佢散熱槽,應該係風道式散熱. 係屎窟裝涡輪風扇, 點知電流大噪䡰大,再加30%降壓線壓低風.

 

使能PCIE-Above 4G

  1. 著機撳DEL鍵,BIOS
  2. ENABLED PCIE-Above 4G

 

驅動下載

  1. 登入https://www.nvidia.com/Download/index.aspx?lang=en-us
填NVIDIA Driver Downloads
NVIDIA Driver Downloads
Product Type Data Center Tesla
Product Series P-Series
Product Tesla P40
Operating System Windows 10 64-bit
  1. 撳Search
  2. 下載『33-data-center-tesla-desktop-win10-win11-64bit-dch-international.exe
  3. 重裝『Quadro K6000』驅動會自動裝埋『Tesla P40』
  4. 登入『命令行界面cmd』.
  5. 撳『nvidia-smi
  6. 分別係『Tesla P40』『Quadro K6000

 

『Tesla P40』裝驅動 默認係『TCC計算模式』, 需改為『WDDM圖形模式』.

  1. 撳『Win+r』鍵,著『exe』
  2. 左側展開
Computer \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}
  1. 展開左側
  DriverDesc
0000 NVIDIA Tesla P40
0001 NVIDIA Quadro K6000
  1. 修改『0000』-『NVIDIA Tesla P40』
NAME TYPE VALUE
AdapterType REG_DWORD 1  – DELETE
FeatureScore REG_DWORD 0Xcf->0Xd1
GridLicensedFeatures REG_DWORD 7   (强制開啟GRID圖形模式)
EnableMsHybrid REG_DWORD 1
  1. 修改『0001』-『NVIDIA Quadro K6000
NAME TYPE VALUE
EnableMsHybrid REG_DWORD 2
  1. 重啟電腦
  2. 登入『命令行界面cmd』.
  3. 撳『ctrl+alt+del』鍵, 入『工作管理員』
  4. 撳『效能』,睇到『GPU0-NVIDIA Tesla P40』同埋『GPU0-NVIDIA Quadro K6000』. 『掂』
  5. 撳『nvidia-smi
  6. 『NVIDIA Tesla P40』改為『WDDM圖形模式』
  7. 進入『GPU-Z』
  8. 下面框框冚辦闌打勾勾

 

圖形設定指定-GPU: NVIDIA Tesla P40

  1. 撳『設定』
  2. 撳『系统』->『顯示器』->『圖形設定』
  3. 『硬體加速GPU排程』撳『開啟』
  4. 揀『傅统型應用程式』
  5. 撳『瀏覧』揀『.EXE』
  6. 撳『選項』
  7. 勾『GPU: NVIDIA Tesla P40』

 

NVIDIA GPU指定『Tesla P40』

  1. 入『NVIDIA控制面板』
  2. 撳『3D設定』->『管理3D設定』
  3. 『廣域設定』
  4. 『CUDA-GPU』揀『Tesla P40』
  5. 『OpenGL呈現GPU』揀『Tesla P40』

 

 

 

nvidia-smi

nvidia-smi
nvidia-smi

『nvidia-smi.exe』, 係nvidia公司開發蒞睇gpu. 基於命令行界面, 而非圖形界面. 可能考慮兼容同稳定.随nvidia顯卡驅動安裝自動复制,路徑如下.

C:\Windows\System32\nvidia-smi.exe
  1. 撳『win+r』, 填cmd, 登入『命令行界面』.
  2. 撳『nvidia-smi.exe』
講解
Nvidia-smi 程式版本號
Driver version 顯卡驅動版本號
CUDA Version CUDA至高支援版本號
GPU 顯卡編號, 0開如始編址,
FAN 風扇轉速(0~100%),冇風扇(N/A)
NAME 顯卡型號
Temp GPU温度,0C ~ 100C
Perf 性能, 至高p0級~至低p12級
Pwr: Usage/Cap 顯卡能耗,
『usage』
使用率,『Cap』能耗牆
Bus-ID 顯卡總線地埗
Disp.A 圖像顯示輸出,OFF閂, ON著
Memory-Usage 顯存使用率
GPU-Util GPU使用率
Compute M. 計算模式DEFAULT/EXCLUSIVE_PROCESS/PROHIBITED
ECC 顯存校驗糾錯

 

CUDA下載安装

CUDA下載安装
CUDA下載安装

CUDA係NVIDIA為GPU并行運算而開發,用C語言調用GPU-CUDA指令集進行大規模并行運行.

虽然上世紀以經有『INTEL-SEE』并行運算指令集,但係『NVIDIA-CUDA』青出於蓝.

『PyTorch』暫時至高支持『CUDA 12.1』.

登入『CUDA官網』, 下載『CUDA Toolkit 12.1.1

 

https://developer.nvidia.com/cuda-toolkit-archive/

 

gitHub攻略

git下載安裝
git下載安裝
git下載安裝
git下載安裝
git下載安裝
git下載安裝

github

gitHub攻略

git系統等於『檔案伺服』外加『版本管理』,

『Linux』安裝git

通過SSH登入

ssh   username@ubuntu

root@ubuntu’s password: 填密碼. 冇字符顯示, 撳Enter鍵.

安裝git架撑

sudo apt update
sudo apt install git
sudo apt update git

下載『Quectel_MHI』

sudo git clone https://github.com/ChaingTsung/Quectel_MHI/

『OpenWRT』安装『git』從缺小http傳輸支

git: ‘remote-https’ is not a git command. See ‘git –help’.

安装『git-http』修复

sudo apt install git-http
sudo apt install curl
sudo apt install libcurl4

 

git  –version 版本號

 

 

『windows10』下載祗安裝『Git-2.45.0-64-bit.exe』,家時最新2.45.0版.

  1. 連入『https://github.com/』官網
  2. 撳Download->Windows
  3. 下載最新版
  4. 執行『Git-2.45.0-64-bit.exe
  5. 走勾『only show new options』只顯示新選項,撳『next』
Additional icons on the Desktop 桌面捷徑
Windows Explorer integration Git Bash Here 右鍵菜單
Windows Explorer integration Git GUI Here 右鍵菜單
Git LFS (Large File Support) 支援大檔䅁
Associate .git* configuration files with the default text edito 配置檔䅁.git關聯edito
Associate .sh files to be run with Bash 關聯.sh檔䅁
Check daily for Git for Windows updates 日日檢查更新
Add a Git Bash Profile to Windows Terminal 將Git Bash設定檔新增到Windows終端
Scalar(Git add-on to manage large-scale repositories) 管理大型儲存庫

 

注册GitHub賬戶

  1. 登入『https://github.com/』右上角撳 『signup
賬戶信息  
EMAIL電郵 電子郵箱, 用蒞收驗證電郵.
Username 字母+字符 混合, 唯壹未被利用.
PASSWORD密碼 字母+數字+字符混合
  1. 撳『Create account』創建賬戶
  2. 驗證機器人, 對比圖形. 防此自動註冊機.
  3. 收驗證電郵. 點擊連接,激活GitHub賬戶

 

下載GitHub卓面版『GitHubDesktopSetup-x64.exe』

Python下載安裝

Python下載安裝
Python下載安裝
Python下載安装
Python下載安装
Python下載安装
Python下載安装
Python下載安裝
Python下載安裝
Python下載安裝
Python下載安裝

Python』其實係『虛擬機』, 先裝『.py』源碼編譯為字節碼『.pyc』. 『Python虛擬機』再執行『Python字節碼』. 同『java』壹樣.

登入『Python』官網『https://www.python.org/』.

  1. Stable Diffusion需下載10.6版係『python-3.10.6-amd64.exe
  2. 勾『Use admin privileges when installing py.exe』管理帳號安装程式
  3. 勾『Add python.exe to PATH』将路徑加入『環境變量』
  4. 撳『Customize installation』定制安装.
  5. 『Optional features』選項
Documentation 文檔
Pip (必揀)下載和管理python包
Tcl/tk and IDLE 裝IDLE包
Python test suite 裝測試包
Py launcher For all users(requires admin privileges) 裝‘py’啟動程式
  1. 『Advanced Optionsa』高级選項
Install python 3.12 for all users 冚辦闌帳號裝python程式
Associate files with python(requires the ‘py’ launcher) 關聯‘py’文檔
Create shortcuts for installed applications 制作python捷徑檔
Add Python to environment variables 將Python路徑添加到環境變量
Precompile standard library 預編譯標準庫
Download debugging symbols 下載調試符號
Download debug binaries(requires VS 2017 or later) 下載調試庫
  1. 『環境變量』->『系統變量』->『Path』
  2. 撳『新增』分别加入.
C:\Users\bookc\AppData\Roaming\Python\Python310\
C:\Users\bookc\AppData\Roaming\Python\Python310\Scripts\
C:\Users\bookc\AppData\Roaming\Python\Python310\site-packages\
C:\Program Files\Python310\Scripts\
C:\Program Files\Python310\

 

檢查最新版pip時出錯.

WARNING:There was an error checking the latest version of pip.

需手動升級pip至最新版.

python -m pip install –upgrade pip

 

https://www.python.org/
https://www.python.org/downloads/windows/
https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe

 

 

B450-ITX

B450-ITX-RGBA
B450-ITX
B450-ITX
B450-ITX
B450-ITX
B450-ITX
B450-ITX
B450-ITX
B450-ITX
B450-ITX-RGBA
B450-ITX-RGBA
B450-ITX-RGBA
B450-ITX-RGBA
B450-ITX-RGBA
B450-ITX-RGBA
B450-ITX-RGBA
B450-ITX-RGBA
B450-ITX-RGBA
B450-ITX-RGBA

買雜牌『B450-ITX』配『RYZEN5-1500X』砌臺ITX,摆係老竇屋企睇片.點知『BE200』WIFI吾認識. 早期版本,篮牙要更新BIOS.

壹年後……

平時冇點用,拎翻蒞諗住插支咪試下,壹插塊主板烧左,前后寄翻去3次,先肯换塊新RGBA版本,前後各壹條m.2磁碟,插4pin小喇叭著機BOOT.

以雜牌蒞講都算好,保养3年,壹年後烧左换新. 祗係記憶體吾兼容,間隙輕機. AID64記憶體測試報錯.舊版本返宜兼容記憶體.唯有降低頻率加大時序.

用『Ryzen DRAM Calculator』睇時序配置.

記憶體 默認值 修定後
MEM FREQUENCY(Mhz) 頻率 2400 2133
主時序配置    
Tcl 15 20
Trcdrd 15 20
Trcdwr 15 20
Trp 15 20
Tras 35 38
副時序配置    
Trc 0  
Trrds 4  
Trrdl 6  
Tfaw 23  
Twtrs 3  

休眠喚醒後顯示器黑屏,要撳『power』鍵重啟.BIOS 已UPADAE.『Win10/Linux』皆係.

B450-ITX RGBA版
m.2磁碟 2
BOOT-4pin 1
rgba燈 2
4pin風扇 2
3pin風扇 2
DEBUG 1

 

Intel Wi-Fi 7 BE200

Intel Wi-Fi 7 BE200
Intel Wi-Fi 7 BE200
Intel Wi-Fi 7 BE200
Intel Wi-Fi 7 BE200
Intel Wi-Fi 7 BE200
Intel Wi-Fi 7 BE200

之前係老竇屋企砌臺ITX電腦愛蒞睇片,『BE200』新出買蒞試試, 點知係係『b450-itx』可以認藍牙,唔認WIFI.反而係『x99-itx』藍牙WIFI都認.

唯有『AX210』配『b450-itx』, 『BE200』配『x99-itx』.

下載最新Intel WiFi驅動.

https://downloadmirror.intel.com/812774/WiFi-23.20.0-Driver64-Win10-Win11.exe
https://downloadmirror.intel.com/812775/WiFi-23.20.0-Driver64-Win10-Win11.zip
https://downloadmirror.intel.com/794069/BT-23.10.0-64UWD-Win10-Win11.exe
https://downloadmirror.intel.com/794708/BT-23.10.0-64UWD-Win10-Win11.zip

 

UTF8/BIG5/Shift-JIS/EUC-KR/GB2312判定

UTF8/BIG5/Shift-JIS/EUC-KR/GB2312判定
UTF8/BIG5/Shift-JIS/EUC-KR/GB2312判定

係電腦發展初時定義左套『ASCII碼』,得128字符,英文加數字用單字節BYTE. 後蒞各國皆自定『字符編碼』,『Shift-JIS/EUC-KR/BIG5/GB2312』皆占两字節WORD,结果係編碼重叠.所以先有亂碼.

Low 8bit Height 8bit
ASCII-128 0 ~ 0x7F N/A
BIG5漢字 0xA1 ~ 0xF9 0x40 ~ 0x7E

0xA1 ~ 0xFE

SHIFT-JIS日字 0x81~0x9f

0xe0~0xef

0x40~0x7e

0x80~0xfc

EUC-KR韓字 0xA1~0xFE 0xA1~0xFE
GB2312中字 0xA1 ~ 0xF7 0xA1 ~ 0xFE
GBK中字 0x81 ~ 0xFE 0x40 ~ 0xFE

『UTF-8』係Unicode『萬國碼』變體,首byte前缀標記字符長度.前缀0長度1, 前缀110長度2, 前缀1110長度3.以此类推.尾随byte前缀皆標記01.

『UTF-8』bin 長度
bin:0xxxxxxx 1
bin:110xxxxx 10xxxxxx 2
bin:1110xxxx 10xxxxxx 10xxxxxx 3
bin:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 4
bin:111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 5
bin:1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 6

UTF-8判定

if ((utf8[0] & 0x80) == 0x00)

return 1;

值小於0x80的ASCII字元
if ((utf8[0] & 0xE0) == 0xC0  &&

(utf8[1] & 0xC0) == 0x80)

return 2;

2字節UTF-8字符
if ((utf8[0] & 0xF0) == 0xE0 &&

(utf8[1] & 0xC0) == 0x80 &&

(utf8[2] & 0xC0) == 0x80)

return 3;

3字節UTF-8字符
if ((utf8[0] & 0xF8) == 0xF0 &&

(utf8[1] & 0xC0) == 0x80 &&

(utf8[2] & 0xC0) == 0x80 &&

(utf8[3] & 0xC0) == 0x80)

return 4;

4字節UTF-8字符
if ((utf8[0] & 0xFC) == 0xF8 &&

(utf8[1] & 0xC0) == 0x80 &&

(utf8[2] & 0xC0) == 0x80 &&

(utf8[3] & 0xC0) == 0x80 &&

(utf8[4] & 0xC0) == 0x80)

return 5;

5字節UTF-8字符
if ((utf8[0] & 0xFE) == 0xFC &&

(utf8[1] & 0xC0) == 0x80 &&

(utf8[2] & 0xC0) == 0x80 &&

(utf8[3] & 0xC0) == 0x80 &&

(utf8[4] & 0xC0) == 0x80 &&

(utf8[5] & 0xC0) == 0x80)

return 6;

6字节UTF-8字符

值小於0x80係ASCII字符集

if ((string[0] & 0x80) == 0x00)

return 1;

BIG5漢字符集編碼范圍

if ((string[0] >= 0xA1 && string[0] <= 0xF9) &&

(string[1] >= 0x40 && string[1] <= 0x7E ||

string[1] >= 0xA1 && string[1] <= 0xFE) )

return 2;

SHIFT-JIS日字符集編碼范圍

if ((string[0] >= 0x81 && string[0] <= 0xF9 ||

string[0] >= 0xe0 && string[0] <= 0xef) &&

(string[1] >= 0x40 && string[1] <= 0x7E ||

string[1] >= 0xA1 && string[1] <= 0xFE) )

return 2;

EUC-KR韓字符集編碼范圍

if ((string[0] >= 0xA1 && string[0] <= 0xFE) &&

(string[1] >= 0xA1 && string[1] <= 0xFE))

return 2;

GB2312中字符集編碼范圍

if ((string[0] >= 0xA1 && string[0] <= 0xF7) &&

(string[1] >= 0XA1 && string[1] <= 0XFE) )

return 2;

GBK中字符集編碼范圍

if ((string[0] >= 0x81 && string[0] <= 0xFE) &&

(string[1] >= 0XA0 && string[1] <= 0XFE) )

return 2;

 

UNICODE-UTF8轉換

UNICODE-UTF8轉換
UNICODE-UTF8轉換

係電腦發展初時.定義左套『ASCII碼』,得128字符,英文加數字用單字節BYTE. 後蒞各國皆自定『字符編碼』,『BIG5/GB2312』皆占两字節WORD,结果係編碼重叠.所以先有亂碼.

UNICODE『萬國碼』,各國各自有獨立編碼段,吾重叠,同『ASCII碼』兼容.

『UNICODE』係設計之初每字符占『2 BYTE』即『USC2』字符集. 但係『2 BYTE』够支持65535字符.所以後蒞有『USC4』占『4 BYTE』.

係同壹字符串USC2同USC4會混合出現.

但係『ASCII碼』只需單字節『1 BYTE』. 所以發明左『UTF-8』以節約地方.

『UTF-8』同『UNICODE』按照下表互為轉换.

Unicode『USC2』字符集HEX 『UTF-8』bin
0x0000~0x007F 0xxxxxxx
0x0080~0x07FF 110xxxxx 10xxxxxx
0x0800~0xFFFF 1110xxxx 10xxxxxx 10xxxxxx

為左係同壹字符串『USC2』同『USC4』混合出現.係『USC4』字符『低16bit』同『高16bit』分別加前缀標記.

『低16bit』加『0xD800』,『高16bit』加『0xDC00』,再加壹區域0x10000.

前缀標記『0xD800』『0xDC00』各占6bit,各净低10bit加埋有『20bit』.够支持 『1048576』字符

USC4-低16bit前缀標記 0xD800 BIN:110110 00000 00000
USC4-高16bit前缀標記 0xDC00 BIN:110111 00000 00000

 

USC4 前缀標記 USC4=前缀標記+字符
低16bit 0xD800 BIN:110110 00000 00000 + BIN:xxxxxxxxxx
高16bit 0xDC00 BIN:110111 00000 00000 + BIN:xxxxxxxxxx

utf8 轉 usc4

首字節 value = utf8[sour] & (0xFF >> (bytes + 1));

++sour;

尾随字節 for (int i = 1; i < bytes; ++i) {

value = value << 6;

value = value | (utf8[sour] & 0x3f);// 提低6bit

++sour;

}

减壹區域 value = value – 0x10000
低16bit unicode[dest] = 0xD800 | ((value >> 10) & 0x3ff );
高16bit unicode[dest+1] = 0xDC00 | ((value) & 0x3ff);

dest = dest + 2;

utf8 轉 usc2

首字節 value = utf8[sour] & (0xFF >> (bytes + 1));

++sour;

尾随字節 for (int i = 1; i < bytes; ++i) {

value = value << 6;

value = value | (utf8[sour] & 0x3f);

++sour;

}

反轉字節 v = (value >> 24) & 0xFF;

unicode[dest] = v;

v = (value >> 16) & 0xFF;

if (v != 0) {

unicode[dest] = (unicode[dest] << 8) + v;

++dest;

}

反轉字節 v = (value >> 8) & 0xFF;

unicode[dest] = v;

v = value & 0xFF;

if (v != 0) {

unicode[dest] = (unicode[dest] << 8) + v;

++dest;

}

Usc4轉utf8

提取字符 value = (unicode[sour] – 0xD800) << 10 | (unicode[sour + 1] – 0xDC00);
加壹區域 value = value + 0x10000;

Usc2轉utf8

提取字符 value = unicode[sour];
首字節 utf8[dest] = (0xFF << (8 – bytes)) | (value >> ((bytes – 1) * 6));

++dest;

尾随字節 for (int i = 1; i < bytes; ++i) {

utf8[dest] = 0x80 | (value >> ((bytes – i – 1) * 6) & 0x3F);

++dest;

}

++sour;

『UTF-8』首byte,前缀標記字符長度. 前缀0長度1, 前缀110長度2, 前缀1110長度3. 以此类推.尾随byte前缀皆標記01.

『UTF-8』bin 長度
bin:0xxxxxxx 1
bin:110xxxxx 10xxxxxx 2
bin:1110xxxx 10xxxxxx 10xxxxxx 3
bin:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 4
bin:111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 5
bin:1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 6

按首BIT符號,計算UTF8字符長度,返回0非UFT8字符.

『UTF-8』字符
if ((utf8[0] & 0x80) == 0x00)

return 1;

0xxxxxxx
if ((utf8[0] & 0xE0) == 0xC0  &&

(utf8[1] & 0xC0) == 0x80)

return 2;

110xxxxx 10xxxxxx
if ((utf8[0] & 0xF0) == 0xE0 &&

(utf8[1] & 0xC0) == 0x80 &&

(utf8[2] & 0xC0) == 0x80)

return 3;

1110xxxx

10xxxxxx

10xxxxxx

if ((utf8[0] & 0xF8) == 0xF0 &&

(utf8[1] & 0xC0) == 0x80 &&

(utf8[2] & 0xC0) == 0x80 &&

(utf8[3] & 0xC0) == 0x80)

return 4;

11110xxx

10xxxxxx

10xxxxxx

10xxxxxx

if ((utf8[0] & 0xFC) == 0xF8 &&

(utf8[1] & 0xC0) == 0x80 &&

(utf8[2] & 0xC0) == 0x80 &&

(utf8[3] & 0xC0) == 0x80 &&

(utf8[4] & 0xC0) == 0x80)

return 5;

111110xx

10xxxxxx

10xxxxxx

10xxxxxx

10xxxxxx

if ((utf8[0] & 0xFE) == 0xFC &&

(utf8[1] & 0xC0) == 0x80 &&

(utf8[2] & 0xC0) == 0x80 &&

(utf8[3] & 0xC0) == 0x80 &&

(utf8[4] & 0xC0) == 0x80 &&

(utf8[5] & 0xC0) == 0x80)

return 6;

1111110x

10xxxxxx

10xxxxxx

10xxxxxx

10xxxxxx

10xxxxxx

unicode轉utf8 , ASCII碼相等.

 int UnicodeToUTF8(char * utf8, const wchar_t * unicode)

{

int unicodeLength = 0;

int bytes;

int dest, sour;

DWORD value;

unicodeLength = Unicode_Length(unicode) ;

sour = dest = 0;

while (sour < unicodeLength)

{

bytes = 1;

if (unicode[sour] >= 0xD800 && unicode[sour + 1] >= 0xDC00)

bytes = 4;

else

if (unicode[sour] >= 0x00 && unicode[sour] <= 0x7F)

bytes = 1;

else

if (unicode[sour] >= 0x80 && unicode[sour] <= 0x7FF)

bytes = 2;

else

if (unicode[sour] >= 0x800 && unicode[sour] <= 0xFFFF)

bytes = 3;

else

if (((unicode[sour + 1] << 16) | unicode[sour]) >= 0x10000 &&

((unicode[sour + 1] << 16) | unicode[sour]) <= 0x1FFFFF)

bytes = 4;

else

if (((unicode[sour + 1] << 16) | unicode[sour]) >= 0x200000 &&

((unicode[sour + 1] << 16) | unicode[sour]) <= 0x3FFFFFF)

bytes = 5;

else

if (((unicode[sour + 1] << 16) | unicode[sour]) >= 0x4000000 &&

((unicode[sour + 1] << 16) | unicode[sour]) <= 0x7FFFFFFF)

bytes = 6;

else

if (((unicode[sour + 1] << 16) | unicode[sour]) >= 0x80000000)

bytes = 7;

 

if (bytes == 1)

{

utf8[dest] = unicode[sour];

++dest;

++sour;

}

else

if (unicode[sour] >= 0xD800 && unicode[sour + 1] >= 0xDC00)

{

value = (unicode[sour] – 0xD800) << 10   |  (unicode[sour + 1] – 0xDC00);

value = value + 0x10000;

utf8[dest] = (0xFF << (8 – bytes)) | (value >> ((bytes – 1) * 6));

++dest;

for (int i = 1; i < bytes; ++i) {

utf8[dest] = 0x80 | (value >> ((bytes – i – 1) * 6) & 0x3F);

++dest;

}

sour = sour + 2;

}

else

if (bytes == 2 || bytes == 3)

{

value = unicode[sour];

utf8[dest] = (0xFF << (8 – bytes)) | (value >> ((bytes – 1) * 6));

++dest;

for (int i = 1; i < bytes; ++i) {

utf8[dest] = 0x80 | (value >> ((bytes – i – 1) * 6) & 0x3F);

++dest;

}

++sour;

}

else

if (bytes >= 4)

{

value = (unicode[sour + 1] << 16) | unicode[sour];

utf8[dest] = (0xFF << (8 – bytes)) | (value >> ((bytes – 1) * 6));

++dest;

for (int i = 1; i < bytes; ++i) {

utf8[dest] = 0x80 | (value >> ((bytes – i – 1) * 6) & 0x3F);

++dest;

}

sour = sour + 2;

}

}

utf8[dest] = NULL;

return dest;

}

utf8 轉 unicode

 int UTF8ToUnicode(wchar_t * unicode, const char* utf8)

{

int utf8Length;

int sour, dest;

int bytes;

dest = sour = 0;

DWORD value;

BYTE v;

utf8Length = strlen(utf8);

while (sour < utf8Length)

{

if ((utf8[sour] & 0x80) == 0x00)

bytes = 1;

else

if ((utf8[sour] & 0xE0) == 0xC0)

bytes = 2;

else

if ((utf8[sour] & 0xF0) == 0xE0)

bytes = 3;

else

if ((utf8[sour] & 0xF8) == 0xF0)

bytes = 4;

else

if ((utf8[sour] & 0xFC) == 0xF8)

bytes = 5;

else

if ((utf8[sour] & 0xFE) == 0xFC)

bytes = 6;

else

bytes = 7;

if (bytes == 1)

{

unicode[dest] = utf8[sour];

++dest;

++sour;

}

else

if (bytes == 2 || bytes == 3)

{

value = utf8[sour] & (0xFF >> (bytes + 1));

++sour;

for (int i = 1; i < bytes; ++i) {

value = value << 6;

value = value | (utf8[sour] & 0x3f);

++sour;

}

 

v = (value >> 24) & 0xFF;

unicode[dest] = v;

v = (value >> 16) & 0xFF;

if (v != 0) {

unicode[dest] = (unicode[dest] << 8) + v;

++dest;

}

 

v = (value >> 8) & 0xFF;

unicode[dest] = v;

v = value & 0xFF;

if (v != 0) {

unicode[dest] = (unicode[dest] << 8) + v;

++dest;

}

}

else

if (bytes >= 4 )

{

value = utf8[sour] & (0xFF >> (bytes + 1));

++sour;

for (int i = 1; i < bytes; ++i) {

value = value << 6;

value = value | (utf8[sour] & 0x3f);

++sour;

}

value = value – 0x10000;

unicode[dest] = 0xD800 | ((value >> 10) & 0x3ff );

unicode[dest+1] = 0xDC00 | ((value) & 0x3ff);

dest = dest + 2;

}

}

 

unicode[dest] = NULL;

return dest;

}

 

Visual Studio 2022-設定UTF8編碼

Visual Studio 2022-設定UTF8編碼
Visual Studio 2022-設定UTF8編碼

『Android Studio』默認utf8編碼. 而『Visual Studio』按『地區設定』,轉本地字符編碼.

要强轉utf8可以係字加『u8』前缀

char utf8[MAX_CHAR] = u8″abcdef屌㞗𡳞杘屄”;

加『u8』前缀後,代碼移稙『Android Studio』繁鎖.可以加編譯詣令.

#pragma execution_character_set(“utf-8”)

适宜字符寫死係代碼. 若将字符保存係外部文檔,存為utf8即軟代碼.唔使諗編碼.

要强轉unicode係字加『L』前缀.USC2同USC4混埋.

wchar_t  unicode[MAX_CHAR] = L”屌㞗𡳞杘屄”;

 

Windows Hello臉部

Windows Hello臉部
Windows Hello臉部
Windows Hello臉部
Windows Hello臉部
Windows Hello臉部
Windows Hello臉部
Windows Hello臉部
Windows Hello臉部
Windows Hello臉部
Windows Hello臉部

『Kensington指紋』冇拉拉神左,睇到『Windows Hello臉部』相機模块,集成RGB&IR.Microsoft認証Win10自帶驅動. 分别係『Integrated Camera』『Integrated IR Camera』.打印相機殼,配两粒磁鐵,吸係屏上則.

發热量大,短時間臉容識別就得.

  1. 撳『設定』
  2. 撳『帳戶』
  3. 撳『登入選項』->『Windows Hello臉部』

 

經緯度座標『度分秒』轉换

經緯度座標度分秒轉换
經緯度座標度分秒轉换

經緯度座標有叄種格式,『度分秒』『度分』『度』.

『度分秒』等於『時分秒』, 『1度=60分=3600秒』『1分=60秒』

經緯度座標  
度分秒DMS DDD°MM’SS”
度分DM DDD°MM.MMM’
度D DDD.DDDDD°

 

度分秒 轉换
分轉度 除60
秒轉度 除3600
秒轉分 除60
度轉分 度小數乘60
分轉秒 分小數乘60

 

『度分秒』轉『度』

例『35°41′37.5″』即係『35度41分37.5秒』
41分轉度= 41/60
37.5秒轉度=37.5/3600
35 + 41/60 + 37.5/3600=35.69375度
void DMS_TO_DD(float D,float M,float S,double * DD)

{

*DD = D + M/60.0f + S/3600.0f;

}

 

『度分』轉『度』

例『35°41.625』即係『35度41.625分』
41.625分轉度= 41/60
35 + 41.625/60 =35.69375度
void DM_TO_DD(float D, float M, double* DD)

{

*DD = D + M / 60.0f; // 除60

}

 

『度』轉『度分』

例『35.6937632°』即係『35度41.625792分』
『0.6937632°』度轉分  0.6937632*60=41.625792′
35 + 0.6937632*60=『35°41.625792’』=『35度41.625792分』
void DD_TO_DM(double DD,int * D,float * M)

{

*D = (int)DD; // 度取整

*M = (DD – *D) * 60; // 度小數乘60

}

 

『度』轉『度分秒』

例『35.6937632°』度即係『35度, 41分, 37.54秒』
取度小數『0.6937632°』度轉分  0.6937632°*60=41.625792′
取分小數『0.625792’』分轉秒   0.625792’*60=37.54752″
35°+ 0.6937632°*60 + 0.625792’*60=『35°41′37.5″』=『35度, 41分, 37.54秒』
void DD_TO_DMS(double DD, float* D, float* M, float* S)

{

float MM;

*D = (int)DD; // 度取整

MM = (DD – *D) * 60; // 度小數乘60

*M = (int)MM;// 分

*S = (*M – MM) * 60;// 分小數乘60

}

 

1日 360度
1度 60分=3600秒
1分 60秒

 

Windows10象筋拖放

Windows10象筋拖放
Windows10象筋拖放

係Windows拖拽或者縮放窗口, 會造成窗體閃爍, 啟用象筋拖放, 即係非實時拖放,可避免窗體閃爍.

進入像筋拖放
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, true, &drag_full_windows, NULL);

 

退出像筋拖放
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, false, &drag_full_windows, NULL);

通過監聽『WM_ENTERSIZEMOVE』進入拖拽, 『WM_EXITSIZEMOVE』退出像筋拖拽, 實施像筋象筋拖放

LRESULT CALLBACK WindowProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam){
    if (msg == WM_ENTERSIZEMOVE)

SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, true, &drag_full_windows, NULL);// 進入像筋拖放

else

    if (msg == WM_EXITSIZEMOVE)

SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, false, &drag_full_windows, NULL);// 退出像筋拖放

return(DefWindowProc(hWnd, msg, wParam, lParam));

}

 

WD BLACK AN1500 打孖插PC300-1TB

WD BLACK AN1500

WD BLACK AN1500 PC300 NVMe SK Hynix 1TB*2 CrystalDiskMark
WD BLACK AN1500 PC300 NVMe SK Hynix 1TB*2 CrystalDiskMark

WD BLACK AN1500 PC300 NVMe SK Hynix 1TB*2 CrystalDiskInfo

PC300 NVMe SK Hynix 1TB
PC300 NVMe SK Hynix 1TB
PC300 NVMe SK Hynix 1TB
PC300 NVMe SK Hynix 1TB
PC300 NVMe SK Hynix 1TB
PC300 NVMe SK Hynix 1TB
PC300 NVMe SK Hynix 1TB
PC300 NVMe SK Hynix 1TB
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500
WD BLACK AN1500

WD BLACK AN1500原配两條SN730仲有ARGB燈,有人拆出蒞䶒賣殼.睇中佢自動组建Raid0,讀寫至高達『6500MB/S』,諗住買翻『SN730-1TB』, 睇到『PC300-1TB』特價,仲係『MLC SSD』. 1TB仲係1024GB.

打孖插入『PC300-1TB』自建Raid0. 温度高達65℃. 讀『3800 MB/S』,寫『2194MB/S』. 比『SN730』慢.

WD BLACK AN1500-Raid0 PC300 NVMe SK Hynix 1TB*2
CrystalDiskMark讀 2800 MB/S
CrystalDiskMark寫 2194MB/S
CrystalDiskInfo 69℃.
MLC SSD SK Hynix H2702T8C0B3A

 

WD AN1500
上行 6500MB/S
下行 6500MB/S
總線 PCIe Gen3*4 SSD

 

 

Visual Studio編譯『zlib-1.2.13.tar.gz』

CMake ZLIB
CMake ZLIB
CMake ZLIB
CMake ZLIB
Visual Studio編譯『zlib-1.2.13.tar.gz』
Visual Studio編譯『zlib-1.2.13.tar.gz』
Visual Studio編譯『zlib-1.2.13.tar.gz』
Visual Studio編譯『zlib-1.2.13.tar.gz』

ZLIB』係開源『壓縮』同『解壓』程式庫, 支持『DEFLATE』冇損壓縮算法,混合『LZ77算法』同『霍夫曼編碼』.

『Visual studio』冇內置『ZLIB』,下載『zlib-1.2.13.tar.gz』再編譯.

  1. 下载『ZLIB
http://www.zlib.net/
http://www.zlib.net/zlib-1.2.13.tar.gz
  1. 安装『CMake』帮『zlib-1.2.13.tar.gz』生成Visual studio工程.
  2. 解壓『zlib-1.2.13.tar.gz』到『C:\Program Files (x86)\zlib-1.2.13』
  3. 以管理員身份執行『cmake-gui.exe』.
  4. 『Where is the source code:』填『C:\Program Files (x86)\zlib-1.2.13』
  5. 『Where to build the binaries:』填『C:/Program Files (x86)/zlib-1.2.13/build』, 資料夾『build』要架自新建.
  6. 勾『Grouped』
  7. 勾『Grouped』
  8. 撳『Configure』
  9. 『Specify the generator for this project』揀『Visual Studio 17 2022』
  10. 『Optional platform for generator(if empty, generator uses:x64)』揀『x64』.
  11. 撳『Finish』
  12. 撳『Generate』
  13. 撳『Open Project』開啟Visual studio工程
  14. 『INSTALL』撳右鍵, 『設定為啟動專案』.
  15. 撳『F7』鍵, 分別『Debug』/『Release』建置工程,編譯後生成
路徑 版本
C:\Program Files (x86)\zlib-1.2.13\build\Debug Debug
C:\Program Files (x86)\zlib-1.2.13\build\Release Release
  1. 生成
Debug調試版 Release發行版  
zlibstaticd.lib zlibstatic.lib 静態庫, 唔使dll
zlibd.lib zlib.lib 動態庫, 要dll
zlibd.dll zlib.dll 動態連结
  1. 『Visual studio』識复制『ZLIB』頭文檔去『C:\Program Files\zlib』
C:\Program Files\zlib\include\zconf.h Zlib-API
C:\Program Files\zlib\include\zlib.h  
  1. 係工程包含『ZLIB』頭文檔
#include <zlib.h> Zlib-api
#include <zconf.h>  
  1. 係工程包含静態庫
#if _DEBUG  
#pragma comment(lib, “..\\ZLIB\\zlibstaticd.lib”)

#else

 
#pragma comment(lib, “..\\ZLIB\\zlibstatic.lib”)

#endif

 

 

CMake安裝

CMake安裝
CMake安裝
CMake版本
CMake版本

『CMake』愛蒞生成makefile或project文件, 畀Visual studio編譯代碼.

登入『CMake官網』下載『cmake-3.27.7-windows-x86_64.msi』安装包.

  1. 運行『cmake-3.27.7-windows-x86_64.msi
  2. 勾『I accept the terms in License Agreement』撳『Next』
  3. 勾『Add CMake to system PATH for all users』撳『Next』
  4. 『Install Cmake to:』填『C:\Program Files\CMake\』或填英文路徑.撳『Next』
  5. 撳『Install』安装

 

驗証CMake安装

  1. 撳『win+r』填 进入命令行模式.
  2. 填『cmake -version』撳enter鍵
  3. 顯示cmake版本『cmake version 3.27.7』.
https://cmake.org/
https://cmake.org/download/
cmake-3.28.0-rc3-windows-x86_64.msi
cmake-3.27.7-windows-x86_64.msi

 

USB2.0 壹拆肆 FE2.1

USB2.0 壹拆肆 FE2.1
USB2.0 壹拆肆 FE2.1
USB2.0 壹拆肆 FE2.1
USB2.0 壹拆肆 FE2.1
USB2.0 壹拆肆 FE2.1
USB2.0 壹拆肆 FE2.1
USB2.0 壹拆肆 FE2.1
USB2.0 壹拆肆 FE2.1

上次『USB3.0壹拆貳』插『SD讀卡機』冇反應,改買臺彎汤銘TERMINUS-FE2.1芯片,『USB2.0 壹拆肆』.聽講兼容冚辦闌USB2.0機體.

冇定位窿, 3D打印磁吸底座,吸係機槓壁.配線够長.

部『SD讀卡機』係USB3.0-19PIN,要轉9PIN.好彩識認.

華南X99-F8D Plus

華南X99-F8D Plus
華南X99-F8D Plus
華南X99-F8D Plus
華南X99-F8D Plus

華南X99-F8D Plus

X570冇定時輕機,睇翻佢本天書,要用『1R8/2R8-DDR4』記憶體,買两條32GB成千幾紋,索性買雜牌X99玩,開機慢到以為吾著. 壹分鐘先睇到bios logo

  1. 『PWM-4PIN』得两個岩岩够两粒其它冚辦闌係『3PIN』.
  2. 两『USB2.0-9PIN』, 壹『USB3.0-19PIN』.唔够使緊.
  3. 仲有TeeDriverW8x64.sys蓝屏
  4. 唔係EATX窿位,要整過主板腳撑
  5. 两條2支援22110規格,插槽底座起碼高左4mm.可能詅住畀你『两面散熱』.

 

 

配置如下

  1. EATX機槓W100
  2. Intel XEON E5-2637V4 3.50GHZ*2
  3. SAMSUNG 64GB 4DR4 PC4-2400T
  4. 台達火牛GM1300
  5. Seagate XM1440 960Gb
  6. PC-FAN 14025
  7. PC-FAN 23030
  8. PC-FAN 4pin PWM集線磁吸底座
  9. USB 3.1一分二磁吸底座

 

 

Intel XEON E5-2637V4 3.50GHZ

Intel XEON E5-2637V4 3.50GHZ
Intel XEON E5-2637V4 3.50GHZ
Intel XEON E5-2637V4 3.50GHZ
Intel XEON E5-2637V4 3.50GHZ
Intel XEON E5-2637V4 3.50GHZ
Intel XEON E5-2637V4 3.50GHZ
Intel XEON E5-2637V4 3.50GHZ
Intel XEON E5-2637V4 3.50GHZ

買左雜牌『X99-F8D PLUS』, 睇岩『E5-2637 V4』支持雙U,頻率至高.『基頻3.5GHZ』畀『E5-1630V4』低200HZ.

用CPU-Z測單線程相若. 多線程跑分接近壹倍. 可能同雙CPU有關.

INTEL XEON E5-2637V4 E5-1630V4 E5-2630LV3
CPU-Z單線程 462.4 470.7 233.2
CPU-Z多線程 4368.2 2350.2 2136.7
主頻 3.5GHZ 3.7GHZ 1.8GHZ
核心 4核 4核 8核
線程 8線程 8線程 16線程
TDW 140W 140W 55W

 

EATX機槓-W100

EATX機槓-W100
EATX機槓-W100

買左雜牌『x99-EATX』,舊式ATX機槓要拆左光驅位支架.冇臺鉆拆拉釘驚拆爛.索性新買EATX機槓W100,分左右腔.10條PCIE槽位,有主板要11條PCIE槽位.

左腔裝主板同風扇,為左装『23030風扇』要移有機玻璃去門板外側.

右腔得86mm寬,装3.5寸機體同埋atx火牛都掹水,早知買W200吾使搞甘耐.

  1. 5寸機體支架
  2. 火牛支架
  3. PC-FAN 14025
  4. PC-FAN 23030 BNFENIX電腦風扇
  5. PC-FAN 4pin PWM集線磁吸底座
  6. USB 3.1一分二磁吸底座
  7. 門磁吸
  8. 主板腳撑

 

3D打印-火牛延伸支架

3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架
3D打印-火牛延伸支架

『W100機槓』將ATX火牛移去右腔,好似細機箱甘,愛蒞装風扇,右腔得86MM寬,要打棟放ATX火牛,剷埋右門『加强撑』先岩岩够位.早知買『W200機槓』唔使甘煩. 收屘買60*30鋁磁鐵攝住火牛.

3D打印-3.5寸機體支架

3.5寸面板支架
3.5寸面板支架
3.5寸面板支架
3.5寸面板支架
3.5寸面板支架
3.5寸面板支架
手提DVD-ROM支架
手提DVD-ROM支架
手提DVD-ROM支架
手提DVD-ROM支架
手提DVD-ROM支架
手提DVD-ROM支架
SD讀卡機支架
SD讀卡機支架

SD讀卡機支架
SD讀卡機支架

新買eatx機槓W100分左右腔,左腔裝主板,右腔裝3.5寸機體.

  1. 5寸面板支架
  2. 5寸磁碟支架
  3. 手提DVD-ROM支架
  4. SD讀卡機支架
3.25寸支架 尺碼
DISK-width 101.60mm
DVD-width 103mm
length 147mm
Dest-width 113.5

 

PC-FAN 4pin-PWM拆分

PC-FAN 4pin-PWM壹分辻
PC-FAN 4pin-PWM壹分辻
PC-FAN 4pin-PWM壹分辻
PC-FAN 4pin-PWM壹分辻
PC-FAN 4pin-PWM壹分辻
PC-FAN 4pin-PWM壹分辻
PC-FAN 4pin-PWM
PC-FAN 4pin-PWM

雜牌eatx主板得两個4pin-pwm供電,岩岩够畀两粒CPU.『EATX機槓』裝得落8把『140風扇』加9把『200風扇』.要靠『PC-FAN 4pin集線』,占主板壹個4pin供電接温控調速線,拆分成辻『4pin-pwm』.得插赤色『4pin』扇速傳畀主板.

装肆粒磁石係底座,吸附機身壁.

USB3.0 GEN1拆分

USB3.0 GEN1拆分
USB3.0 GEN1拆分
USB3.0 GEN1拆分
USB3.0 GEN1拆分
USB3.0 GEN1拆分
USB3.0 GEN1拆分
USB3.0 GEN1拆分
USB3.0 GEN1拆分
USB3.0 GEN1拆分
USB3.0 GEN1拆分

新買雜牌x99-eatx, 得壹個『USB3.0-19PIN』两個『USB2.0-9PIN』.

機箱占两個『USB3.0-19PIN』,WIFI藍牙壹個『USB2.0-9PIN』,SD讀卡機『USB3.0-19PIN』. 得求助『USB3.0-19PIN』拆分雙『USB3.0-19PIN』. 速率保持5Gbps.意外發現支持『USB2.0-9PIN』拆分雙『USB3.0-19PIN』, 速率得翻480Mbps.

用两粒磁石摄係機槓壁.比用雙面膠合适.

Windows10-TeeDriverW8x64.sys蓝屏

TeeDriverW8x64.sys
TeeDriverW8x64.sys

雜牌x99-eatx係登入Win10間謁會Te

Windows10-TeeDriverW8x64.sys蓝屏
Windows10-TeeDriverW8x64.sys蓝屏

eDriverW8x64.sys蓝屏. 心諗雜牌都係信唔過.

『TeeDriverW8x64.sys』係『Intel(R) Management Engine Interface』英特爾®管理引擎介面驅動程式.

『剷TeeDriverW8x64.sys』

  1. 撳『WIN+PAUSE BREAK』鍵
  2. 撳『裝置管理員』
  3. 右鍵撳『Intel(R) Management Engine Interface』
  4. 撳『解除安装装置』
  5. 勾『刪除此裝置驅動程式軟體』
  6. 撳『解除安装』

PC-FAN 23030 BNFENIX 機槓風扇

PC-FAN 23030 BNFENIX 機槓風扇
PC-FAN 23030 BNFENIX 機槓風扇
PC-FAN 23030 BNFENIX 機槓風扇
PC-FAN 23030 BNFENIX 機槓風扇
PC-FAN 23030 BNFENIX 機槓風扇
PC-FAN 23030 BNFENIX 機槓風扇
PC-FAN 23030 BNFENIX 機槓風扇
PC-FAN 23030 BNFENIX 機槓風扇

新EATX機槓裝9把『200風扇』. BNFENIX-3PIN白色『230風扇』,為左装係『200扇位』削去两側. 9扇葉設計,扇速慢得800轉.9把『230風扇』要風扇集線器.

230扇葉大易斷扇軸,冇适合鐵網保謢扇葉.

PC-FAN 23030 數值
尺碼 230*30mm
電壓 12V
電流 0.18A
Materials PBT
Speed(R.P.M.) 700~900轉/分
噪聲 20(dB-A)
25MM
窿徑 4MM

 

PC-FAN 14025

PC-FAN 14025
PC-FAN 14025
PC-FAN 14025
PC-FAN 14025
PC-FAN 14025
PC-FAN 14025
PC-FAN 14025
PC-FAN 14025
PC-FAN 14025
PC-FAN 14025
PC-FAN 14025
PC-FAN 14025

新EATX機槓,可装8把『140風扇』加9把『200風扇』.支援PWM-4PIN白色『140風扇』,設計上為左装係『120扇位』削去肆角.為左裝『140䕶網』補番肆角.電壓12V,冇標電流.扇速慢静音,7扇葉設計,大扇葉風量大. 其中之壹時轉時吾轉.8把『140風扇』需PWM集線.

PC-FAN 數據
電壓 12V
12025風扇 窿距105*105MM
14025風扇 窿距124.5*124.5MM
25MM
窿徑 4MM

 

X99-EATX SOCKET2011-纯銅散熱風扇

X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇
X99-EATX SOCKET2011-纯銅散熱風扇

X99-EATX愛两正方SOCKET-2011散熱. 唔諗買『熱導管散熱』.學上次咁買两拆機銅散熱,正方『90mm*90mm』, 配两『AVC-9025-12V-0.13A』.風扇底座用3D打印. 尺寸太大ABS容易收縮變形.

圖檔-PNG解析

圖檔-PNG解析
圖檔-PNG解析

舊時『游戲紋理』再用『.bmp格式』, 冇壓缩即使256色盤依然佔用吉間.

『.PNG格式』利LZ77且冇失真壓縮. 且壓縮極高, 配合256色盤,适宜作『游戲紋理』.

數據塊 數值
PNG圖檔標誌 0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A
圖檔頭 IHDR
调色板 PLTE
图像数据 IDAT
图像结束 IEND

PNG數據塊基本結构.

數據塊結构 size 簡介
LENGTH 整數4字節 數據長度
CHUNK TYPE 整數4字節 類型標記
CHUNK DATA 0~2^32字節 數據
CRC32 整數4字節 CRC32校驗

两字節肆字節數據,冚辦闌用『網络字節』存儲,需轉『主機字節』.

『網络字節』轉『主機字節』
#define  PNG_VALUE32(v)  ((v & 0xff000000) >> 24 | (v & 0x00ff0000) >> 8 | (v & 0x0000ff00) << 8 | (v & 0x000000ff) << 24)
#define  PNG_VALUE16(v)  ((v & 0xff00) >> 8 | (v & 0x00ff) << 8)

游戲引擎需讀PNG 伍個數據塊

PNG數據塊 功能簡介
IHDR 文檔頭
PLTE 色盤
IDAT 圖像數值
IEND 結束
tRNS 圖像透明
bKGD 背景色

PNG圖檔頭捌字節標記,愛蒞識别PNG

0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A
137 P N G \r \n 26 \n

對比PNG標識

    if(memcmp(data,  0x0A1A0A0D474E5089, 8) != 0)

return false;// 非png圖檔

CRC32計算必需計『CHUNK TYPE + CHUNK DATA』, 長度『length + 4』而得.

DWORD length = PNG_VALUE32(chunk->length) + 4;
DWORD64 crc = CRC32((PBYTE)(chunk) + 4,length); CRC32計算
DWORD64 crc_ = PNG_VALUE32(chunk->crc_); 轉主機字節
  if(crc_ == crc)

return true;

 

比較crc值

首先定義PNG結构

typedef struct PNG_TAG{  
int   width; 圖宽
int   height; 圖高
int  bitCount; 位圖像素bits 8位,16位,24位,32位
PNG_RGBA       palette[256]; 调色板
PBYTE        buffer; 圖像数据
int               buffer_size; 圖像数据長度
int               length; 临時變量
z_stream stream; ZLIB解壓
} PNG, *PNG_PTR;  

文檔頭結构 IHDR

typedef struct PNG_IHDR_TAG{ 文檔頭 IHDR
int length; Data長度
DWORD type; 標記’IHDR’
DWORD width; 像素寬
DWORD height; 像素高
BYTE  BitDepth; 圖像深度
BYTE  ColorType; 顏色類型
BYTE  Compression; LZ77派生演算法 ,壹定係0
BYTE  Filter; 濾波,止值定0. 事實『0,1,2,3,4』伍種濾波
BYTE  Interlace; 隔行掃描0=冇掃描,1=(Adam7 interlace)
DWORD CRC32; CRC32校驗
}PNG_IHDR,*PNG_IHDR_PTR;  

PNG支緩伍款顏色類型

ColorType 顏色類型 像素
0=Greyscale 灰度圖像 1,2,4,8,16bit
2=Truecolour 真彩色圖像 8,16bit
3=Indexed-colour 索引彩色圖像 1,2,4,8bit
4=Greyscale with alpha 帶α通道資料灰度圖像 8,16bit
6=Truecolour with alpha 帶α通道資料真彩色圖像 8,16bit

像素排列

ColorType 像素排列
Greyscale Y
Truecolour RGB
Indexed-colour i
Greyscale with alpha RGBA
Truecolour with alpha YA

解析文檔頭 IHDR, 分配圖像時分, 每行像素多壹字節,記錄『Filter』濾波值,『0,1,2,3,4』伍種濾波;

if(IHDR->ColorType == 0)

png->bitCount = IHDR->BitDepth;

0:Greyscale:灰度圖像,1,2,4,8,16bit
if(IHDR->ColorType == 2)

png->bitCount = IHDR->BitDepth * 3;

2:Truecolour:真彩色圖像,8,16bit
if(IHDR->ColorType == 3)

png->bitCount = IHDR->BitDepth;

3:Indexed-colour:索引彩色圖像,1,2,4,8bit
if(IHDR->ColorType == 4)

png->bitCount = IHDR->BitDepth * 2;

4:Greyscale with alpha:帶α通道資料灰度圖像,8,16bit
if(IHDR->ColorType == 6)

png->bitCount = IHDR->BitDepth * 4;

6:Truecolour with alpha:帶α通道資料真彩色圖像,8,16bit
png->width  = PNG_VALUE32(IHDR->width); 像素寬
png->height = PNG_VALUE32(IHDR->height); 像素高
int byte_count  = (float)png->bitCount / 8.0f; 像素大小 BIT to BYTE
png->buffer_size = (png->width * png->height * byte_count) + (png->height * 1); 圖像数据長度,每行多壹字節
png->buffer = (PBYTE)malloc(png->buffer_size); 圖像数据

定義色盤RGB

typedef struct PNG_RGB_TYP { 色盤3字節
    BYTE red;
    BYTE green;
    BYTE blue;
} PNG_RGB, *PNG_RGB_PTR;  

定義色盤RGBA

typedef struct PNG_RGBA_TYP { 色盤4字節
    BYTE red;
    BYTE green;
    BYTE blue;
    BYTE alpha; 透明混合,透明0x00~實體0xFF
} PNG_RGBA, *PNG_RGBA_PTR;  

定義PNG色盤結构 ‘PLTE’

typedef struct PNG_PLTE_TYP {  
int length; Data長度
DWORD type; 標記’PLTE’
PNG_RGB palette[256]; 至多256色盤
DWORD CRC32; CRC32校驗
} PNG_PLTE, *PNG_PLTE_PTR;  

分析PNG色盤 ‘PLTE’

int length = PNG_VALUE32(chunk->length); 長度
int count = length / 3; 色盤量
for(int index = 0; index < count; ++index){  
png->palette[index].red      = PLTE->palette[index].red ;
png->palette[index].green  = PLTE->palette[index].green ;
png->palette[index].blue    = PLTE->palette[index].blue ;
png->palette[index].alpha  = 0xff;    } 透明0x00~實體0xFF

定義透明像素結构’tRNS’

typedef struct PNG_tRNS_TYP{  
int length; 數據長度
DWORD type; 標記’tRNS’
union {  
WORD grey; 顏色類型 0
struct {WORD Red,Green,Blue;}; 顏色類型  2
BYTE palette[256]; 顏色類型  3
DWORD CRC32; CRC32校驗
}PNG_tRNS,*PNG_tRNS_PTR;  

分析透明像素

PNG_tRNS_PTR tRNS; 透明像素
tRNS->length = PNG_VALUE32(tRNS->length); 數據長度
if(IHDR->ColorType == 0 )

tRNS->grey = PNG_VALUE16(tRNS->grey);

0:Greyscale:灰度圖像,1,2,4,8,16bit
if(IHDR->ColorType == 2  ) {

tRNS->Red   = PNG_VALUE16(tRNS->Red);

tRNS->Green = PNG_VALUE16(tRNS->Green);

tRNS->Blue  = PNG_VALUE16(tRNS->Blue);

}

2:Truecolour:真彩色圖像,8,16bit
if(IHDR->ColorType == 3) {

length = tRNS->length;

for(int i = 0; i < length; ++i) {

index = tRNS->palette[i];

png->palette[index].alpha = 0x00;

}

3:Indexed-colour:索引彩色圖像,1,2,4,8bit

透明0x00~實體0xFF

定義背景色結构 ‘bKGD’

typedef struct PNG_bKGD_TYP{  
int length; Data長度
DWORD type; 標記’bKGD’
union {  
WORD Greyscale; 顏色類型0 and 4灰度
struct{WORD Red,Green,Blue;}; 顏色類型2 and 6 -RGB三色
BYTE Palette_Index;}; 顏色類型3色盤索引
DWORD CRC32; CRC32校驗
}PNG_bKGD,*PNG_bKGD_PTR;  

分析背景色’bKGD’

int length = PNG_VALUE32(bKGD->length); 長度
if(IHDR->ColorType == 0 || IHDR->ColorType == 4)

bKGD->Greyscale = PNG_VALUE16(bKGD->Greyscale);

灰度圖像 – 帶α通道資料灰度圖像
if(IHDR->ColorType == 2 || IHDR->ColorType == 6) {

bKGD->Red = PNG_VALUE16(bKGD->Red);

bKGD->Green = PNG_VALUE16(bKGD->Green);

bKGD->Blue = PNG_VALUE16(bKGD->Blue);

}

真彩色圖像 – 帶α通道資料真彩色圖像
if(IHDR->ColorType == 3)

bKGD->Palette_Index = bKGD->Palette_Index;

索引彩色圖像

定義圖像數值結构 ‘IDAT’, 止數據塊可能有多個.

typedef struct PNG_IDAT_TYP {  
int length;  Data長度
DWORD type; 標記’PLTE’
BYTE data[1]; 經壓縮圖像數據
DWORD CRC32; CRC32校驗
} PNG_IDAT, *PNG_IDAT_PTR;  

每行像素多壹字節,記錄『Filter』濾波值,『0,1,2,3,4』伍種濾波;

int length = PNG_VALUE32(IDAT->length); 長度
int size = png->buffer_size – png->length; 剩余記憶體
Uncompress_Data_gZip(png->buffer + png->length, &size,

IDAT->data,length,

&png->stream);

解压
png->length =  png->length + size; 累積積數據長度

結束 IEND,檢測到’IEND’數據塊,己到文檔未端.

typedef struct PNG_IEND_TAG{  
int length; Data長度0
DWORD type; 標記’IEND’
DWORD CRC32; CRC32校驗
}PNG_IEND, *PNG_IEND_PTR;  

以顏色類型分別進行『反濾波』, 係每行像素首字節『濾波』值,有『0,1,2,3,4』伍款濾波, 以每粒像素單獨『復位』,帶α通道真彩色圖像8bit為例.

以cbax像素排列支缓伍款濾波

c b
a x

濾波算法

filter濾波 濾波 復位
0= None Filt(x) = Orig(x) Recon(x) = Filt(x)
1= Sub Filt(x) = Orig(x) – Orig(a) Recon(x) = Filt(x) + Recon(a)
2= Up Filt(x) = Orig(x) – Orig(b) Recon(x) = Filt(x) + Recon(b)
3= Average Filt(x) = Orig(x) – floor((Orig(a) + Orig(b)) / 2) Recon(x) = Filt(x) + floor((Recon(a) + Recon(b)) / 2)
4= Paeth Filt(x) = Orig(x) – PaethPredictor(Orig(a), Orig(b), Orig(c)) Recon(x) = Filt(x) + PaethPredictor(Recon(a), Recon(b), Recon(c))

復位算法

int byte_count   = 4; 每粒像素4字節
int pixel_size = png->width * png->height; 總像素量
int buffer_size = png->width * png->height * byte_count; 總字節量
PBYTE buffer = (PBYTE)malloc(buffer_size); 反濾波影像數據
int col_size_recon = (png->width * 4) ; 復位後每行字節量
int col_size_filt  = (png->width * 4)  + 1; 濾波後每行字節量
for(int j = 0; j < png->height ; ++j) 每行像素
int filter = png->buffer[col_size_filt * j]; 行首濾波=1 byte

處理filter濾波0= None

if(filter == 0) { None
for(int i = 0; i < png->width; ++i){ 逐像素復位
Red = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 0]; x像素紅色
Green = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 1]; x像素藍色
Blue = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 2]; x像素錄色
Alpha = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 3]; x像素透明
buffer[(col_size_recon * j) + (i * 4) + 0] = Red; 復位像素紅色
buffer[(col_size_recon * j) + (i * 4) + 1] = Green; 復位像素藍色
buffer[(col_size_recon * j) + (i * 4) + 2] = Blue; 復位像素綠色
buffer[(col_size_recon * j) + (i * 4) + 3] = Alpha;         }} 復位像素透明

處理filter濾波1 =Sub

if(filter == 1)          { Sub
for(int i = 0; i < png->width; ++i){ 逐像素復位
Red = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 0]; x像素紅色
Green = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 1]; x像素藍色
Blue = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 2]; x像素錄色
Alpha = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 3]; x像素透明
aRed = aGreen = aBlue = aAlpha = 0; 清零
if(i > 0) {  
aRed = buffer[(col_size_recon * j) + ((i-1) * 4) + 0]; a像素紅色
aGreen = buffer[(col_size_recon * j) + ((i-1) * 4) + 1]; a像素藍色
aBlue = buffer[(col_size_recon * j) + ((i-1) * 4) + 2]; a像素綠色
aAlpha = buffer[(col_size_recon * j) + ((i-1) * 4) + 3]; } a像素透明
buffer[(col_size_recon * j) + (i * 4) + 0] = Red + aRed; 復位像素紅色
buffer[(col_size_recon * j) + (i * 4) + 1] = Green + aGreen; 復位像素藍色
buffer[(col_size_recon * j) + (i * 4) + 2] = Blue + aBlue; 復位像素綠色
buffer[(col_size_recon * j) + (i * 4) + 3] = Alpha + aAlpha; }} 復位像素透明

處理filter濾波2 =Up

if(filter == 2){ Up
for( i = 0; i < png->width; ++i){ 逐像素復位
Red = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 0]; x像素紅色
Green = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 1]; x像素藍色
Blue = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 2]; x像素錄色
Alpha = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 3]; x像素透明
bRed = bGreen = bBlue = bAlpha = 0; 清零
if(j > 0) {  
bRed = buffer[(col_size_recon * (j-1)) + (i * 4) + 0]; b像素紅色
bGreen = buffer[(col_size_recon * (j-1)) + (i * 4) + 1]; b像素藍色
bBlue = buffer[(col_size_recon * (j-1)) + (i * 4) + 2]; b像素綠色
bAlpha = buffer[(col_size_recon * (j-1)) + (i * 4) + 3];} b像素透明
buffer[(col_size_recon * j) + (i * 4) + 0] = Red + bRed; 復位像素紅色
buffer[(col_size_recon * j) + (i * 4) + 1] = Green + bGreen; 復位像素藍色
buffer[(col_size_recon * j) + (i * 4) + 2] = Blue + bBlue; 復位像素綠色
buffer[(col_size_recon * j) + (i * 4) + 3] = Alpha + bAlpha; }} 復位像素透明

處理filter濾波3 = Average

if(filter == 3)          { Average
for( i = 0; i < png->width; ++i){ 逐像素復位
Red = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 0]; x像素紅色
Green = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 1]; x像素藍色
Blue = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 2]; x像素錄色
Alpha = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 3]; x像素透明
aRed = aGreen = aBlue = aAlpha = 0; 清零
bRed = bGreen = bBlue = bAlpha = 0; 清零
if(i > 0) {  
aRed = buffer[(col_size_recon * j) + ((i-1) * 4) + 0]; a像素紅色
aGreen = buffer[(col_size_recon * j) + ((i-1) * 4) + 1]; a像素藍色
aBlue = buffer[(col_size_recon * j) + ((i-1) * 4) + 2]; a像素綠色
aAlpha = buffer[(col_size_recon * j) + ((i-1) * 4) + 3]; } a像素透明
if(j > 0) {  
bRed = buffer[(col_size_recon * (j-1)) + (i * 4) + 0]; b像素紅色
bGreen = buffer[(col_size_recon * (j-1)) + (i * 4) + 1]; b像素藍色
bBlue = buffer[(col_size_recon * (j-1)) + (i * 4) + 2]; b像素綠色
bAlpha = buffer[(col_size_recon * (j-1)) + (i * 4) + 3];} b像素透明
buffer[(col_size_recon * j) + (i * 4) + 0] = Red + ((aRed+bRed)/2); 復位像素紅色
buffer[(col_size_recon * j) + (i * 4) + 1] = Green + ((aGreen+bGreen)/2); 復位像素藍色
buffer[(col_size_recon * j) + (i * 4) + 2] = Blue + ((aBlue+bBlue)/2); 復位像素綠色
buffer[(col_size_recon * j) + (i * 4) + 3] = Alpha + ((aAlpha+bAlpha)/2); }} 復位像素透明

Paeth預測函式

BYTE PaethPredictor_PNG(BYTE a,BYTE b,BYTE c){ 預測函式
int p;  
int pa,pb,pc;  
p = a + b – c;  
pa = abs(p – a);  
pb = abs(p – b);  
pc = abs(p – c);  
if (pa <= pb && pa <= pc )  return a;  
else if (pb <= pc ) return b;  
else return c;}  

處理filter濾波4 =Paeth預測

if(filter == 3)          { Average
for( i = 0; i < png->width; ++i){ 逐像素復位
Red = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 0]; x像素紅色
Green = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 1]; x像素藍色
Blue = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 2]; x像素錄色
Alpha = png->buffer[(col_size_filt * j) + 1 + (i * 4) + 3]; x像素透明
aRed = aGreen = aBlue = aAlpha = 0; 清零
bRed = bGreen = bBlue = bAlpha = 0; 清零
cRed = cGreen = cBlue = cAlpha = 0; 清零
if(i > 0) {  
aRed = buffer[(col_size_recon * j) + ((i-1) * 4) + 0]; a像素紅色
aGreen = buffer[(col_size_recon * j) + ((i-1) * 4) + 1]; a像素藍色
aBlue = buffer[(col_size_recon * j) + ((i-1) * 4) + 2]; a像素綠色
aAlpha = buffer[(col_size_recon * j) + ((i-1) * 4) + 3]; } a像素透明
if(j > 0) {  
bRed = buffer[(col_size_recon * (j-1)) + (i * 4) + 0]; b像素紅色
bGreen = buffer[(col_size_recon * (j-1)) + (i * 4) + 1]; b像素藍色
bBlue = buffer[(col_size_recon * (j-1)) + (i * 4) + 2]; b像素綠色
bAlpha = buffer[(col_size_recon * (j-1)) + (i * 4) + 3];} b像素透明
if(i > 0 && j > 0) {  
cRed = buffer[(col_size_recon * (j-1)) + ((i-1) * 4) + 0]; c像素紅色
cGreen = buffer[(col_size_recon * (j-1)) + ((i-1) * 4) + 1]; c像素藍色
cBlue = buffer[(col_size_recon * (j-1)) + ((i-1) * 4) + 2]; c像素綠色
cAlpha = buffer[(col_size_recon * (j-1)) + ((i-1) * 4) + 3];} c像素透明
buffer[(col_size_recon * j) + (i * 4) + 0] = Red + PaethPredictor_PNG(aRed,bRed,cRed); 復位像素紅色
buffer[(col_size_recon * j) + (i * 4) + 1] = Green + PaethPredictor_PNG(aGreen,bGreen,cGreen); 復位像素藍色
buffer[(col_size_recon * j) + (i * 4) + 2] = Blue + PaethPredictor_PNG(aBlue,bBlue,cBlue); 復位像素綠色
buffer[(col_size_recon * j) + (i * 4) + 3] = Alpha + PaethPredictor_PNG(aAlpha,bAlpha,cAlpha);}} 復位像素透明

释放圖像

free(png->buffer); 释放
png->buffer = buffer; 替换復位圖像
png->bitCount = 32; rgba
png->buffer_size = buffer_size;  

 

3D打印-電腦主板腳柱

3D打印-電腦主板腳柱
3D打印-電腦主板腳柱
3D打印-電腦主板腳柱
3D打印-電腦主板腳柱
3D打印-電腦主板腳柱
3D打印-電腦主板腳柱

買块雜牌X99-EATX主板,玖鑼𢇁竉位,有叁鑼𢇁竉位唔對竉.為装工業鋁型材, 斬脚指避沙蟲. EATX主板300*330mm太大,缺鑼𢇁撥插影響主板變形.冇計.唯重搭脚柱.