樹莓派 5 - Raspberry Pi 5 入門教程

系列文章目錄


文章目錄

???????


前言

如果您是第一次使用 Raspberry Pi,請參閱我們的入門指南(how to get started)。

Raspberry Pi 5
Raspberry Pi 5

????????Raspberry Pi 5 配備了運行頻率為 2.4GHz 的 64 位四核 Arm Cortex-A76 處理器,CPU 性能比 Raspberry Pi 4 提升了 2 到 3 倍。此外,800MHz 的 VideoCore VII GPU 大幅提升了圖形性能;通過 HDMI 實現了雙 4Kp60 顯示輸出;重新架構的 Raspberry Pi 圖像信號處理器支持最先進的攝像頭。

????????這是首次使用 Raspberry Pi 內部制造的硅芯片的全尺寸 Raspberry Pi 計算機。RP1 為 Raspberry Pi 5 提供了大部分 I/O 功能,在外設性能和功能方面實現了質的飛躍。總的 USB 帶寬增加了一倍多,從而提高了與外部 UAS 驅動器和其他高速外設的傳輸速度;早期型號上的專用雙通道 1Gbps MIPI 攝像頭和顯示接口已被一對四通道 1.5Gbps MIPI 收發器取代。 通過支持 SDR104 高速模式,SD 卡的峰值性能提高了一倍;該平臺首次開放了單通道 PCI Express 2.0 接口,為高帶寬外設提供支持。

主要功能包括

  • 四路 Arm Cortex-A76 @ 2.4GHz
  • 支持加密擴展(硬件 AES)
  • 512KB 每核二級緩存
  • 2MB L3 高速緩存
  • 4GB 或 8GB LPDDR4X-4267 SDRAM
  • 雙 4kp60 HDMI 顯示輸出,支持 HDR
  • 4kp60 HEVC 解碼器
  • VideoCore VII 圖形處理器,支持 OpenGL-ES 3.1 和 Vulkan 1.2
  • Raspberry Pi 圖像傳感器處理器 (ISP)
  • 用于 PCIe 的 Raspberry Pi 連接器(1 x 2.0 端口,需要額外的 HAT)
  • 802.11ac 雙頻 Wi-Fi
  • 藍牙 5.0(支持 BLE)
  • 千兆以太網
  • 2 個 USB 3.0(可同時全速吞吐)
  • 2 個 USB 2.0
  • 支持 PoE(需要額外的 HAT)
  • 雙 4 通道 MIPI CSI/DSI 收發器,支持
  • 2x 顯示器;或
  • 2x 攝像頭;或
  • 1x 顯示器 + 1x 攝像頭
  • Raspberry Pi 40 引腳 GPIO 接頭
  • 風扇連接器
  • 實時時鐘 (RTC)
  • RTC 電池連接器
  • 電源按鈕

一、關機后再開機

????????首次將 Raspberry Pi 插入電源時,它會自動打開并啟動操作系統,無需按下按鈕。

????????如果你運行的是 Raspberry Pi Desktop,你可以通過短按電源按鈕來啟動干凈利落的關機。這時會出現一個菜單,詢問你是要關機、重啟還是注銷。從菜單中選擇一個選項,或再次按下電源按鈕,啟動清潔關機。

Shutting down your Raspberry Pi 5 using the power button

注意

如果運行的是 Raspberry Pi Desktop,可以連續快速按兩次電源鍵來關機。如果運行的是不帶桌面的 Raspberry Pi OS Lite,只需按一次電源按鈕即可關機。

要強制關機,請按住電源按鈕。

如果 Raspberry Pi 電路板已關閉,但仍有電源,按下電源按鈕將重啟電路板。

默認關機功率約為 1 至 1.4W。不過,可以通過使用 sudo rpi-eeprom-config -e 手動編輯 EEPROM 配置來降低功率。將設置更改為

BOOT_UART=1
POWER_OFF_ON_HALT=1
BOOT_ORDER=0xf416

?這將使關機功耗降至 0.01W 左右。

1.1?添加自己的電源按鈕

The J2 jumper

J2 跳線位于 RTC 電池連接器和電路板邊緣之間。通過在這兩個焊盤之間添加一個常開(NO)瞬時開關,您就可以在 Raspberry Pi 5 上添加自己的電源按鈕。短暫閉合該開關將執行與板載電源按鈕相同的操作。

二、更新固件

警告
除非得到 Raspberry Pi 工程師的指導,否則請勿更新 Raspberry Pi 上的固件。

雖然固件更新很少見,但如果您的 Raspberry Pi 出現問題,您可能需要檢查是否有可用的固件更新。您可以按以下步驟進行:

sudo apt update
sudo apt upgrade
sudo rpi-eeprom-update -a

如果有固件更新,系統會提示你安裝,然后你的 Raspberry Pi 將重新啟動。有關更新 Raspberry Pi 固件的更多信息,請參閱其他文檔(elsewhere in the documentation)。?

三、給 Raspberry Pi 5 供電

Raspberry Pi 生產兩種不同的 USB-C 電源。

????????第一款是 Raspberry Pi 15W USB-C 電源,是 Raspberry Pi 4 和 Raspberry Pi 400 的推薦電源。第二種是 Raspberry Pi 27W USB-C 電源,它能在 +5.1V 電壓下提供高達 5A 的電流,是 Raspberry Pi 5 的推薦電源。

????????Raspberry Pi 4 電源使用的 USB-C 標準限制為 5V 3A,總輸出功率為 15W。USB-PD 標準允許通過軟件協商更高的電壓和電流,但需要適當的電源管理集成電路 (PMIC),而這只有 Raspberry Pi 5 才有。這些電源要求使用合適的 USB-PD 兼容電纜。

注意
使用老式 USB "啞 "電纜和連接器無法提供超過 15W 的功率,即使使用 USB-PD 電源也是如此。

?雖然支持 USB-PD 的手機充電器標榜功率超過 15W,但幾乎所有充電器都是通過提高電壓而不是在 +5V 電壓下提供更多電流來實現這一目標的。如果您使用的電源在首次啟動時不能在 +5V 電壓下提供 5A 電流,則操作系統會警告您外設的電流將限制在 600mA。

On-screen warning of under-voltage event

?對于希望驅動硬盤和固態硬盤等大功率外圍設備,同時為峰值工作負載保留余量的用戶,應使用能夠在 +5V 電壓下提供 5A 電流(25W)的支持 USB-PD 的電源。如果 Raspberry Pi 5 固件檢測到受支持的 5A 電源,就會將外圍設備的 USB 電流限制提高到 1.6A,為下游 USB 設備提供 5W 的額外功率,并提供 5W 的額外板載電源預算。

?注意
不支持 USB-PPS。

?我們推薦使用 Raspberry Pi 官方電源,它可以在電流快速波動的情況下持續提供 +5V 電壓。當您使用 Raspberry Pi 外圍設備時,這種需求波動很常見也很頻繁。其他電源(通常設計用于為手機充電提供穩定的電流)并不能很好地應對電源波動。官方電源還附有一條(俘獲式)USB 電纜,這意味著你不會不小心使用劣質或 "啞巴 "電纜,而其他電源可能會出現這種問題。

警告
如果您使用的是具有 USB-PD 功能的第三方多端口電源,在為 Raspberry Pi 供電的同時為電源插入其他設備會導致電源和 Raspberry Pi 之間重新協商。如果 Raspberry Pi 處于通電狀態,這種情況會無縫發生,但如果 Raspberry Pi 插上電源并斷電,這種重新協商可能會導致 Raspberry Pi 啟動。

您可以使用 vcgencmd 檢查 USB 端口的電源輸出狀態。

vcgencmd get_config usb_max_current_enable

3.1 USB 啟動和電源

默認情況下,使用 3A 電源時不會啟用 USB 啟動。不過,在 /boot/firmware/config.txt 文件中設置 usb_max_current_enable=1 將覆蓋這一設置,并在使用較低功率電源時啟用 USB 啟動。

使用 3A 電源啟動時,如果 config.txt 文件中沒有該語句,引導加載程序 HDMI 診斷屏幕上將顯示警告信息,引導加載程序將跳至下一個啟動模式。

Trying partition: 0
type: 32 lba: 8192 'mkfs.fat' ' bootfs     ' clusters 130554 (4)
rsc 32 fat-sectors 1020 root dir cluster 2 sectors 0 entries 0
FAT32 clusters 130554
[MSD [01:00] 2.00 000000:02] autoboot.txt not found
Trying partition: 0
type: 32 lba: 8192 'mkfs.fat' ' bootfs     ' clusters 130554 (4)
rsc 32 fat-sectors 1020 root dir cluster 2 sectors 0 entries 0
FAT32 clusters 130554
Read config.txt bytes     2109 hnd 0x10a
[MSD [01:00] 2.00 000000:02] pieeprom.upd not found
usb_max_current_enable default 0 max-current 900
Read bcm2712-rpi-5-b.dtb bytes    71862 hnd 0x5101
dt-match: compatible: raspberrypi,5-model-b match: brcm,bcm2712
dt-match: compatible: brcm,bcm2712 match: brcm,bcm2712
***
USB boot requires a high current (5V 5A) power supply.
To disable this check set usb_max_current_enable=1 in config.txt
or press the power button to temporarily enable usb_max_current_enable
and continue booting.
See https://rptl.io/rp5-power_supply for more information
***

引導加載程序會提示您 "按電源按鈕繼續",這實際上是為當前啟動臨時設置 usb_max_current_enable=1,以便從 USB 啟動。除非您的磁盤有自己的外部電源,否則 Raspberry Pi 可能沒有足夠的電流。

3.2 電源和 Raspberry Pi 操作系統

引導加載程序通過設備樹 /proc/device-tree/chosen/power 傳遞有關電源的信息。用戶通常不會直接讀取。

最大電流
最大電流(毫安

uspd_power_data_objects
PDOs 的轉儲 - 供高級用戶調試

usb_max_current_enable
電流限制器是設置為高電平還是低電平

檢測到 USB 過電流
在將控制權轉移到操作系統之前,啟動過程中是否發生 USB 過流

復位事件
PMIC 復位原因,如看門狗、過壓或欠壓、過熱等。

PMIC 內置 ADC,可測量電源電壓 EXT5V_V。

vcgencmd pmic_read_adc

?注意
您無法看到 USB 電流或其他直接連接到 5V 的電流,因為這繞過了 PMIC。您不應該指望它與源電源的功率相加。不過,這對監控內核電壓等非常有用。

四、為 Raspberry Pi 5 降溫

Raspberry Pi 5 設計用于在無外殼、無主動散熱的情況下處理典型的客戶端工作負載。對于較重的負載,Raspberry Pi 5 有兩種官方散熱方式可供選擇。它們都可插入位于電路板右上方 40 針 GPIO 接頭和 USB 2 端口之間的四針 JST PWM 風扇接頭。

Raspberry Pi 固件會主動管理這兩種可用的官方配件。隨著 Raspberry Pi 溫度的升高,風扇會作出如下反應:

低于 50°C,風扇完全不轉(0% 速度)

溫度達到 50°C,風扇低速轉動(30% 速度)

溫度達到 60°C 時,風扇轉速升至中速(50)

67.5°C 時,風扇轉速增至高速(70)

75°C 時,風扇轉速增至全速(100)

溫度范圍與風扇轉速的映射同樣適用于溫度下降,滯后溫度為 5°C;當溫度下降到低于上述每個閾值 5°C 時,風扇轉速會降低。

注意
USB 端口和風扇連接器的電流限制均為 1.6A。

?啟動時,風扇打開,并檢查轉速輸入,查看風扇是否轉動,如果轉動,則啟用 cooling_fan 設備樹覆蓋。默認情況下,該覆蓋層位于 bcm2712-rpi-5-b.dtb 中,但狀態為禁用。

4.1 風扇外殼

The official Case for Raspberry Pi 5

Raspberry Pi 5 的官方外殼帶有集成風扇。HAT 可通過移除風扇直接安裝在 Raspberry Pi 5 上,或通過使用 14 毫米高的支座和 19 毫米 GPIO 擴展器安裝在風扇頂部。這些配件可向授權經銷商單獨購買。

集成的 2.79(最大)CFM 風扇采用流體動力軸承,噪音低,使用壽命長。空氣通過蓋子下方的 360° 插槽吸入,吹過 BCM2712 上的散熱片,然后通過底座上的連接器孔和通風口排出。

?4.2 主動冷卻器

Active Cooler 是一個單片陽極氧化鋁散熱片,帶有集成鼓風機。它預裝了導熱墊,使用彈簧推針直接安裝到 Raspberry Pi 5 電路板上。它與機箱風扇連接在同一個 4 針 JST 連接器上。

徑向鼓風機也是為了低噪音和延長使用壽命而選擇的,它推動空氣通過擠壓和銑削的鋁制散熱片。主動冷卻器的冷卻性能略優于風扇散熱箱,因此特別適合超頻玩家使用

注釋
鼓風機是一種機電系統,利用風扇和指定通道將空氣引向特定方向。風扇排出大量空氣并促進指定區域內的空氣流通,而鼓風機則提供一定程度的空氣壓力,將空氣排出并向前推進。

主動冷卻器的設計不允許從 Raspberry Pi 5 上反復拆卸。?

4.3 熱量

在 Raspberry Pi 5 的所有四個內核上啟動了壓力測試,以對 CPU 進行負載。測試中主要考察了兩種熱管理機制:無冷卻和有管理的主動冷卻。使用 Active Cooler 和 Raspberry Pi Case 對 Raspberry Pi 5 進行了有管理的主動冷卻測試。

在沒有散熱的情況下,我們看到空閑溫度約為 65°C,在長時間測試過程中最高溫度超過 85°C,導致處理器報告的溫度超過節流限制后出現持續的熱節流。

由于主動散熱器配備了被動散熱片,我們看到的空閑溫度要低得多,約為 45°C。在長時間的負載測試中,散熱器的風扇低速旋轉,將 CPU 溫度穩定在 60°C,測試期間的最高溫度為 62 至 63°C。

在使用風扇的情況下,怠速溫度比單獨使用主動冷卻器時高幾度,約為 48°C。取下蓋子后,我們看到持續負載下的最高溫度約為 72°C,而蓋上蓋子后,負載下的最高溫度略高,約為 74°C。雖然負載下的溫度高于使用主動冷卻器時的溫度,但負載下的最高溫度仍遠低于 80°C 和 85°C 的節流溫度。

Raspberry Pi 5 設計用于在無外殼、無主動散熱的情況下處理典型的客戶端工作負載。在正常使用情況下,可以選擇添加散熱裝置,盡管主動散熱可能會提高性能。但是,持續的大負載(如重建 Linux 內核)將迫使新的 Raspberry Pi 5 進入熱節流狀態。對于重負載,熱節流可能會延長處理時間,被動冷卻可能是不充分的熱管理。

不過,任何類型的冷卻都不是強制性的,如果不進行冷卻,也不會對 Raspberry Pi 造成傷害。

4.4 引腳

風扇連接器是一個 1 毫米間距的 JST SH 插座,有四個引腳:

PinFunction

1

+5V

2

PWM

3

GND

4

Tach

五、Raspberry Pi 和 GPIO

使用 GPIO Zero(GPIO Zero) 庫可以輕松開始用 Python 控制 GPIO 設備。該庫在 gpiozero.readthedocs.io(gpiozero.readthedocs.io) 上有全面的文檔說明。

有關在 Raspberry Pi 上使用 GPIO 引腳的更多信息,請參閱其他文檔(elsewhere in the documentation)。?

六、Raspberry Pi PCIe 接口

Raspberry Pi 5 的右側有一個 FPC 連接器。該連接器提供 PCIe Gen 2.0 x1 接口,用于快速外設。

注意事項
提供 M.2 連接器以允許使用 NVMe 驅動器的 M.2 HAT 仍處于原型階段,尚未發布。

有關 PCIe FPC 連接器引腳輸出的更多信息,以及創建第三方設備、配件和 HAT 所需的其他詳細信息,請參閱 Raspberry Pi Connector for PCIe 標準文件。該文檔應與新的 Raspberry Pi HAT+ 規范一并閱讀。?

6.1 啟用 PCIe

默認情況下,PCIe 連接器未啟用。要啟用它,應在 /boot/firmware/config.txt 中添加以下選項并重新啟動:

# Enable the PCIe External connector.
dtparam=pciex1

pciex1 有一個更容易記住的別名,因此您也可以在 /boot/firmware/config.txt 文件中添加 dtparam=nvme。

注意
目前不支持枚舉交換機后面的 PCIe 設備

6.2 PCIe Gen 3.0

該連接已通過 Gen 2.0 速度(5 GT/秒)認證,但如果在/boot/firmware/config.txt 文件中添加以下行,則可強制連接至 Gen 3.0(10 GT/秒)。?

# Enable the PCIe external connector
dtparam=pciex1# Force Gen 3.0 speeds
dtparam=pciex1_gen=3

七、MIPI CSI/DSI 連接器

以前型號的 Raspberry Pi 上的 CSI 和 DSI 端口已合并為兩個兩用 CSI/DSI (MIPI) 端口。為了安裝到電路板上,這些端口現在使用了更密集的連接器引腳,以前只有 Raspberry Pi Zero 和 CM4IO 電路板上才有。您可以將兩個顯示器、兩個攝像頭或一個攝像頭和一個顯示器連接到這些端口。

7.1?安裝攝像頭

攝像頭等 Raspberry Pi 設備無需配置。只要將攝像頭插入任一 MIPI 接口,就能獲得適當的 CSI 連接,操作系統就能使用攝像頭。

7.1.1 攝像頭電纜

相機電纜
有三種扁平柔性電纜 (FFC) 可用于將 CSI 攝像機連接到 Raspberry Pi 5:

200 毫米標準相機電纜至迷你型

300 毫米標準微型相機電纜

500 毫米標準微型相機電纜

注意
計算模塊電纜適配器(見原理圖和設計文件)可用于將標準電纜連接到更高密度的迷你連接器。

7.2 連接顯示器

如果您在 Raspberry Pi 5 上使用的是我們的 7 英寸觸摸顯示器,它不會自動配置。您需要在 /boot/firmware/config.txt 文件中添加以下兩行。將顯示器連接到 CAM/DISP 1 連接器時,應添加以下內容:

dtoverlay=vc4-kms-dsi-7inch

或者,在 CAM/DISP 0 連接器上添加以下一行:

dtoverlay=vc4-kms-dsi-7inch,dsi0

警告
在撰寫本文時,要在 7 英寸觸摸顯示屏上獲得觸摸支持,你需要進行 rpi-update 以獲得更新的內核。

7.2.1 可用的顯示屏電纜?

?

有三種扁平柔性電纜 (FFC) 可用于將 DSI 顯示器連接到 Raspberry Pi 5:

200 毫米標準顯示電纜至迷你型

300 毫米標準顯示電纜至迷你型

500 毫米標準顯示電纜至迷你型

7.3 使用非 Raspberry Pi 設備

如果您使用的是非 Raspberry Pi MIPI 設備(攝像頭或顯示器),它不會自動為 Raspberry Pi 5 配置。相反,您需要在 /boot/firmware/config.txt 文件中添加 dtoverlay 設置,以便為正確的攝像頭或顯示器正確配置正確的端口。

這些 dtoverlay 設置應由設備制造商提供。例如,添加 dtoverlay=ov9281 將在 CSI/DSI1 上配置基于 Omnivision OV9281 的攝像頭,而添加 dtoverlay=ov9281,cam0 將在 CSI/DSI0 上添加相同的攝像頭。

八、UART 接口

Raspberry Pi 5 有一個專用的調試 UART 連接器。它的最大波特率為 921,600bps,可通過 EEPROM 參數進行配置。它始終處于激活和啟用狀態,可直接訪問早期啟動和固件信息;啟動后還可訪問 Linux 控制臺。?

UART 連接器是一個三針接頭,與 Raspberry Pi 調試連接器規格兼容。調試探針隨附一條電纜,該電纜以適當的 JST 連接器為終端,允許您連接到 UART。

默認情況下,它在 /dev/ttyAMA0(別名為 /dev/serial0)上提供 115,200 波特的 8N1 連接。

8.1 創建串行控制臺

以前的 Raspberry Pi 可以在 GPIO14 和 15 上啟用串行控制臺,而 Raspberry Pi 5 則不同,通過 raspi-config 啟用串行控制臺可以在 /dev/ttyAMA0 上的新 UART 接口上啟用串行控制臺。

九、實時時鐘(RTC)

Raspberry Pi 5 包含一個 RTC 模塊。該模塊可通過電路板上 USB-C 電源接頭右側的 J5(BAT)接頭由電池供電。

您可以設置喚醒鬧鐘,將電路板切換到極低功耗狀態(約 3mA)。達到鬧鐘時間后,電路板將重新開啟。這對于延時攝影等周期性工作非常有用。

要支持喚醒警報的低功耗模式,應編輯引導加載器配置:

sudo -E rpi-eeprom-config --edit


添加以下兩行

POWER_OFF_ON_HALT=1
WAKE_ON_GPIO=0


您可以使用以下方法測試功能

echo +600 | sudo tee /sys/class/rtc/rtc0/wakealarm
sudo halt


這將使電路板停止運行,進入極低功耗狀態,然后在 10 分鐘后喚醒并重新啟動。

RTC 還會在啟動時提供時間,例如在 dmesg 中:

[    1.295799] rpi-rtc soc:rpi_rtc: setting system clock to 2023-08-16T15:58:50 UTC (1692201530)


......如果您沒有互聯網連接,通過 NTP 獲取時間可能會很有用。

注意
即使 J5 連接器上未連接備用電池,RTC 仍可使用

十、 添加備用電池

我們不建議為 RTC 使用主鋰電池,因為它有一個默認禁用的涓流充電電路。如果啟用,則會很快殺死電池。

?

官方提供的電池是可充電鋰錳紐扣電池,預裝有兩針 JST 插頭和粘合劑安裝墊。它適用于在電路板主電源斷開時為 Raspberry Pi 5 RTC 供電,斷電電流為個位數 μA,保持時間可長達數月。?

10.1?啟用涓流充電功能

電池的涓流充電默認為禁用。有 sysfs 文件顯示當前的涓流充電電壓和限制:

/sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage:0
/sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage_max:4400000
/sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage_min:1300000


如果在 /boot/firmware/config.txt 中添加 rtc_bbat_vchg:

dtparam=rtc_bbat_vchg=3000000


...然后重啟,你會看到

/sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage:3000000
/sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage_max:4400000
/sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage_min:1300000


電池將進行涓流充電。刪除 config.txt 中的 dtparam 行可停止涓流充電。

?十一、以太網供電 (PoE) 接口

Raspberry Pi 5 的以太網插孔具有 PoE+ 功能,支持 IEEE 802.3at-2009 PoE 標準。Raspberry Pi 5 有一個 4 針以太網供電(PoE)接頭塊,位于以太網插孔和兩個 MIPI 接口之間。

Raspberry Pi PoE+ HAT for Raspberry Pi 5 是用于 Raspberry Pi 5 計算機的附加電路板,可連接到 PoE 接口。它用于通過以太網電纜為 Raspberry Pi 供電,前提是以太網網絡上安裝了供電設備。

備注
用于 Raspberry Pi 5 的 PoE+ HAT 仍處于原型階段,尚未發布。?

?十二、原理圖和機械圖紙

以下是 Raspberry Pi 5 的機械圖紙:

機械圖紙(Mechanical Drawings),PDF

Raspberry Pi 5 的 STEP 文件(STEP file)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208876.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208876.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208876.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java第三十三課

ISBN 編號:字符串 商品模塊中:增刪改查是最基本的操作。 查詢:復雜查詢(與多表有關系) 訂單,訂單詳情兩個表 訂單(增刪改查), 訂單詳情(增刪改查)…

LangChain+通義千問+AnalyticDB向量引擎保姆級教程

本文以構建AIGC落地應用ChatBot和構建AI Agent為例,從代碼級別詳細分享AI框架LangChain、阿里云通義大模型和AnalyticDB向量引擎的開發經驗和最佳實踐,給大家快速落地AIGC應用提供參考。 前言 通義模型具備的能力包括: 1.創作文字&#xf…

【已解決】SpringBoot Maven 打包失敗:class lombok.javac.apt.LombokProcessor 錯誤

文章目錄 出錯原因解決辦法總結 最新項目部署的時候&#xff0c;出現了一個maven打包失敗的問題&#xff0c;主要是lombok這個組件出的問題&#xff0c;具體的錯誤信息如下&#xff1a; 我的lombok版本如下&#xff1a; <dependency><groupId>org.projectlombok&l…

Android View.inflate 和 LayoutInflater.from(this).inflate 的區別

前言 兩個都是布局加載器&#xff0c;而View.inflate是對 LayoutInflater.from(context).inflate的封裝&#xff0c;功能相同&#xff0c;案例使用了dataBinding。 View.inflate(context, layoutResId, root) LayoutInflater.from(context).inflate(layoutResId, root, fals…

【JS】JS數組添加元素的三種方法

> 1、push() 方法可向數組的末尾添加一個或多個元素&#xff0c;并返回新的長度。 > 2、unshift()方法可向數組的開頭添加一個或更多元素&#xff0c;并返回新的長度。 > 3、splice() 方法向/從數組中添加/刪除項目&#xff0c;然后返回被刪除的項目。1、push() 方法…

nodejs+vue+微信小程序+python+PHP的黃山旅游景點購票系統設計與實現-計算機畢業設計推薦

本文首先對該系統進行了詳細地描述&#xff0c;然后對該系統進行了詳細的描述。管理人員增加了系統首頁、個人中心、用戶管理、景點分類管理、景點簡介管理、旅游路線管理、文章分類管理、公告文章管理、系統管理理等功能。黃山旅游景點購票系統是根據當前的現實需要&#xff0…

線程池的原理和基本使用~

線程池的基本原理&#xff1a; 無論是之前在JavaSE基礎中&#xff0c;我們學習過的常量池&#xff0c;還是在操作數據庫時&#xff0c;我們學習過數據庫連接池&#xff0c;以及接下來要學習的線程池&#xff0c;均是一種池化思想&#xff0c;其目的就是為了提高資源的利用率&a…

mysql 鏈接超時的幾個參數詳解

mysql5.7版本中&#xff0c;先查看超時設置參數&#xff0c;我們這里只關注需要的超時參數&#xff0c;并不是全都講解 show variables like %timeout%; connect_timeout 指的是連接過程中握手的超時時間,在5.0.52以后默認為10秒&#xff0c;之前版本默認是5秒&#xff0c;主…

【vscode寫vue代碼是白色怎么辦】

【vscode寫vue代碼是白色怎么辦】 在插件列表中搜索Vetur 安裝即可

Web學習路線

閱讀前請看一下&#xff1a;我是一個熱衷于記錄的人&#xff0c;每次寫博客會反復研讀&#xff0c;盡量不斷提升博客質量。文章設置為僅粉絲可見&#xff0c;是因為寫博客確實花了不少精力。希望互相進步謝謝&#xff01;&#xff01; 文章目錄 閱讀前請看一下&#xff1a;我是…

Redis 命令全解析之 Hash類型

文章目錄 ?介紹?命令?RedisTemplate API?應用場景 ?介紹 Hash類型&#xff0c;也叫散列&#xff0c;其value是一個無序字典&#xff0c;類似于Java中的 HashMap 結構。 String結構是將對象序列化為JSON字符串后存儲&#xff0c;當需要修改對象某個字段時很不方便&#xf…

降維技術——PCA、LCA 和 SVD

一、說明 降維在數據分析和機器學習中發揮著關鍵作用&#xff0c;為高維數據集帶來的挑戰提供了戰略解決方案。隨著數據集規模和復雜性的增長&#xff0c;特征或維度的數量通常變得難以處理&#xff0c;導致計算需求增加、潛在的過度擬合和模型可解釋性降低。降維技術通過捕獲數…

用隊列實現棧

問題描述&#xff1a; 請你僅用兩個隊列實現一個后入先出&#xff08;LIFO&#xff09;的棧&#xff0c;并支持普通隊列的全部四種操作&#xff08;push、top、pop和empty&#xff09;。 實現MyStack類&#xff1a; void push(int x) 將元素x壓入棧頂。int pop()移除并返回棧頂…

java中線程的狀態是如何轉換的?

在 Java 中&#xff0c;線程有幾種狀態&#xff0c;主要包括 NEW&#xff08;新建&#xff09;、RUNNABLE&#xff08;可運行&#xff09;、BLOCKED&#xff08;阻塞&#xff09;、WAITING&#xff08;等待&#xff09;、TIMED_WAITING&#xff08;計時等待&#xff09;、和 TE…

Vue學習筆記-Vue3中的計算屬性與監視屬性

computed函數 import {reactive,computed} from vue export default {name: "DemoVue",setup(){//數據定義let person reactive({firstName : 李,lastName : 四,age:18,})//計算屬性定義-簡寫形式person.fullName computed(()>{return person.firstName-person…

手寫 Promise:深入理解異步編程的基石

手寫 Promise&#xff1a;深入理解異步編程的基石 本文將帶您逐步實現一個簡單的 Promise&#xff0c;以幫助您深入理解異步編程的基本概念。通過自己動手編寫 Promise 的過程&#xff0c;您將更好地理解 Promise 的工作原理和常見用法&#xff0c;并能夠應用于實際項目中。 …

什么是網站劫持

網站劫持是一種網絡安全威脅&#xff0c;它通過非法訪問或篡改網站的內容來獲取機密信息或者破壞計算機系統。如果您遇到了網站劫持問題&#xff0c;建議您立即聯系相關的安全機構或者技術支持團隊&#xff0c;以獲得更專業的幫助和解決方案。

探索 HTTPS:保障網絡通信的安全性

引言 HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09;是一種安全的通信協議&#xff0c;用于在網絡上安全地傳輸數據。它是基于 HTTP 協議的擴展&#xff0c;通過加密通信實現了數據的保護和安全性。 功能介紹 加密數據傳輸&#xff1a; 使用加密技術對數…

Prism框架快速注冊帶有特性標簽的類型

前言 最近用Prims框架,真的是懶得手動注冊各種類型,不利于團隊開發工作,各種dll強耦合,后期維護還麻煩,這次我們帶來了一個快速注冊的類來快速提高開發效率。重點用到的就是通過反射出dll里面的類型,然后根據特性或者類型過濾來完成快速注冊的功能。 代碼 using Prism…

Angular 進階之四:SSR 應用場景與局限

應用場景 內容豐富&#xff0c;復雜交互的動態網頁&#xff0c;對首屏加載有要求的項目&#xff0c;對 seo 有要求的項目&#xff08;因為服務端第一次渲染的時候&#xff0c;已經把關鍵字和標題渲染到響應的 html 中了&#xff0c;爬蟲能夠抓取到此靜態內容&#xff0c;因此更…