無線通信模塊簡介

QuecPython 是運行在無線通信模塊上的開發框架。對于首次接觸物聯網開發的用戶而言,無線通信模塊可能是一個相對陌生的概念。本文主要針對無線通信和蜂窩網絡本身,以及模塊的概念、特性和開發方式進行簡要的介紹。

無線通信和蜂窩網絡

物聯網對無線通信的需求

在?上一節?中,我們介紹了物聯網的四層結構。其中的網絡層承擔著設備接入和數據傳輸的重要功能。由于物聯網設備數量較多,分布的空間范圍極大,采用有線以太網方式接入網絡顯然無法滿足需要。因此,大部分物聯網設備都具備了無線通信的功能,即通過無線電波作為載體進行信號傳輸。當前,我們身邊常見的無線通信方式包括 Wi-Fi、藍牙等十余種,不同方式的通信速率和通信距離存在顯著差異。

不同的物聯網應用場景,對于無線通信的需求存在很大差別。下表展示了當前常見的物聯網無線通信技術的特性和使用場景差異。

通信技術速率傳輸距離功耗成本應用場景
Wi-Fi
  • 室內無線上網
  • 智能家居
藍牙
  • 資產追蹤
  • 定位標簽
  • 醫療傳感器
  • 智能手表
Zigbee
  • 無線傳感器
  • 智能家居
UWB
  • 高精度定位
4G
  • 可移動通信
  • 車輛追蹤
  • 智慧城市
NB-IoT
  • 遠程抄表
  • 井蓋檢測
LoRa
  • 園區覆蓋
  • 近海漁船檢測

蜂窩網絡的概念

蜂窩網絡(Cellular Network,又稱移動網絡 Mobile Network)是一種無線通信技術,它能夠讓移動設備(如手機、平板電腦等)在不同的地理區域內進行語音、數據和多媒體等業務的傳輸。蜂窩網絡是現代移動電話和個人通信系統的基礎架構之一,也是推動社會信息化進程的重要力量。

5G 毫米波蜂窩網絡結構示意圖

如上圖所示,蜂窩網絡的核心思想是將一個大的服務區域劃分為許多個小區(Cell),每個小區內部安裝一個基站(Base Station),負責與小區內的移動設備進行無線通信。這些基站之間通過有線或無線的方式連接起來,形成一個覆蓋整個服務區域的網絡。在傳統理論中,這些小區被設計為六邊形、圓形或正方形,以六邊形最為常見。小區之間彼此連接,實現區域的完整覆蓋,形如蜂巢,這也是該項技術被譯為蜂窩網絡的原因。如今,在實際場景中,很多基站的覆蓋區域已經不再是蜂窩形狀,但這個稱謂依舊流傳了下來。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 從 1G 到 5G 的演進

蜂窩網絡作為一種無線通信技術,從誕生至今已經經歷了五代的發展,每一代都對應著不同的技術和標準,為用戶提供了更高的數據傳輸速度,更好的語音通話質量,以及一系列新特性和新功能。從 1G 的模擬語音通信,到 5G 的全場景互聯,蜂窩網絡已經成為現代社會運轉的必不可少的信息基礎設施之一。

物聯網和蜂窩網絡

與其他無線通信方式相比,蜂窩通信方式依托電信運營商的已有網絡,無需手動在應用現場進行網絡部署,顯著降低了聯網的難度和工作量。在農業、環保等物聯網應用領域,蜂窩網絡已成為首選的無線通信方式之一。

上文提到,蜂窩網絡制式多樣、標準繁多。物聯網需要什么樣的蜂窩網絡呢?這就要看具體的應用場景和需求了。一般來說,大部分物聯網應用場景都包含以下的一些特點:

  • 物聯網設備很多,連接數量很大。例如,一個智能城市可能需要連接數以萬計的傳感器和設備。
  • 物聯網設備很小,功耗很低。例如,一個智能水表可能只有幾厘米大小,需要長時間工作而不用經常更換電池。
  • 物聯網設備很分散,覆蓋范圍很廣。例如,一個智能農業系統可能需要覆蓋數百平方公里的農田和牧場。
  • 物聯網設備很簡單,數據量很小。例如,一個智能停車場系統可能只需要上報車位的占用情況,每次只有幾個字節。

根據這些特點,我們可以看出,物聯網對蜂窩網絡的要求主要有以下幾個方面:

  • 大連接:能夠支持每個小區同時連接數千甚至數萬個設備。
  • 低功耗:能夠讓設備在低電量下長時間工作,延長電池壽命。
  • 廣覆蓋:能夠提供更強的信號穿透力和覆蓋范圍,覆蓋城市和鄉村的各種環境。
  • 低成本:能夠降低設備和運營的成本,提高物聯網的普及率和可持續性。

而對于速度和帶寬,物聯網并不需要太高的要求。因為物聯網設備傳輸的數據量相對較小,不需要類似手機和其他智能設備的高速率和高帶寬。而且速度和帶寬與功耗和成本是相互制約的,提高速度和帶寬往往會帶來功耗和成本的增加。由此可見,傳統的手機 4G 和 5G 網絡在很多場合是無法滿足物聯網應用的需要的。

目前,在國內,物聯網領域應用最多的蜂窩通信標準包括 LTE Cat.4,LTE Cat.1 和 NB-IoT。以下的表格對比了它們的特點。

特點LTE Cat.4LTE Cat.1bisNB-IoT
下行速率150 Mbps10.3 Mbps250 kbps
上行速率50 Mbps5.2 Mbps250 kbps
網絡覆蓋全球 LTE 網絡全球 LTE 網絡需要部署新的基站或升級現有基站
移動性支持高速移動支持 100 km/h 移動不支持移動
延遲毫秒級毫秒級秒級
成本較高較低較低
功耗較高較低較低
應用場景路由器、銷售終端等需要高速數據傳輸的場景共享支付、工業控制、車載支付、公網對講、POS 等需要中速數據傳輸的場景水表、電表、氣表等需要低速數據傳輸且固定不動的場景
語音支持支持 VoLTE(語音通話)支持 VoLTE(語音通話)不支持語音通話
天線配置2x2 MIMO(多輸入多輸出)1x1 SISO(單輸入單輸出)1x1 SISO(單輸入單輸出)
帶寬20 MHz1.4 MHz180 kHz

初識模塊

無線通信模塊,簡稱模塊(Module,亦稱模組或單元),是實現數據上云和遠程通信的必不可少的組件,在各類物聯網場景中已經得到了極為廣泛的應用。從功能上看,它是在本地設備和網絡之間構建連接的橋梁。像電腦插上 USB 網卡就可以開始上網一樣,在嵌入式系統中加入了模塊,系統就具有了連接無線網絡的可能性。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

搭載移遠 EC20 模塊的某物聯網產品主板

很多初次接觸模塊的用戶會對模塊這樣一個被金屬殼籠罩著的奇怪器件感到陌生,它與傳統的芯片和分立器件存在很大的不同。實際上,模塊的本質就是一種小型的 PCBA(Printed Circuit Board Assembly,組裝電路板)。當我們去掉模塊表面的金屬屏蔽罩,其內部依舊是熟悉(但更為密集)的 PCB 電路結構。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

某 4G 模塊的內部圖像

有過嵌入式系統開發經驗的用戶對于“核心板”或者 SoM(System on Module)應該不會陌生。模塊同樣可理解為一種將無線通信所需的各類器件集成在一起,用于完成本地電路與云端服務的通信功能的高密度、小體積、帶屏蔽罩的“核心板”。在本文開頭的關于通信的介紹中,我們講到了編碼(解碼)和調制(解調)的概念。在無線通信,尤其是蜂窩通信中,這些步驟往往會演變和拓展得極為復雜。模塊的作用即是幫助我們完成這些復雜的步驟,實現簡單高效的通信。

模塊的內部結構較為復雜。如下圖所示,可以看到包含主芯片(高通 MDM9607)、存儲器、電源管理芯片、功率放大器、射頻前端等多種集成器件,以及大量密集分布的小尺寸封裝的電阻、電容等元件。顯然,模塊的復雜度和精密度是遠超傳統電路板的。

EC20 Mini PCIe 模塊的元件組成

主芯片(Main Chip),部分廠家稱之為基帶(Baseband)芯片或調制解調器(Modem)芯片,是整個模塊的核心。它的角色、功能和特性與手機中的 SoC(System on Chip,片上系統)十分相似。隨著技術的發展和芯片制造工藝的提升,在現代模塊中,主芯片通常已經集成了應用處理器(Application Processor,AP)、基帶和射頻的相關功能,運行著完備的操作系統(RTOS 或 Linux),對外提供包括 GPIO、USB 等在內的各種接口,并能夠根據需求完成各類通信操作。從這個意義上看,模塊既像一臺沒有屏幕和電池的手機,又像一種功能較為復雜的單片機。

高通最新的 QCX216 4G Modem 芯片功能框圖

模塊的應用模式

對于同一臺 Android 手機,不同人有不同的用法。一些用戶會安分地使用出廠自帶的系統和功能,另一些則熱衷于解鎖、刷機、root 等操作,更進一步地去開發和挖掘設備的潛力。和手機類似,模塊也有這樣的兩類應用模式:標準模式和二次開發模式。

標準模式

和普通手機一樣,模塊在出廠時通常都會內置操作系統和應用程序。對于許多用戶來說,直接使用模塊出廠預置功能就可以滿足大部分的網絡通信需求。這種無需對模塊進行開發和調整,直接作為成品功能單元進行使用的方式稱為標準模式或傳統模式,是當前應用最普遍的模塊使用方式。

標準模式示意圖

如上圖所示,在標準模式中,模塊與主控(MCU,如 STM32)之間通過 UART 或 USB 接口相連接,基于 AT 指令進行雙向交互。不難看出,MCU 是整套系統的核心,通信模塊是作為 MCU 的一個獨立的功能外設的角色而存在的。系統的主要業務邏輯(用戶應用,App)在 MCU 中運行,其他外設(圖中的 External Devices)通過 UART、I2C 等接口與 MCU 相連,受 MCU 控制。

關于 AT 指令

對于開發者而言,在基于標準模式使用模塊時,主要的開發工作量在于主控中運行的用戶 App。其業務代碼中需要包含較為復雜的 AT 指令發送和返回值解析功能,例如對 URC(Unsolicited Result Code,非請求結果碼)的處理等,因而對于初學者難度較大。

除了 AT 指令功能,模塊在標準模式下還可以作為無線網卡,為主控或其他上位機提供包括 PPP 撥號上網在內的一系列網絡服務,此處不做贅述。

二次開發模式

在前文中我們曾提到,模塊就像是功能較為復雜的單片機。事實上,模塊所搭載的主芯片為了滿足無線通信的需要,通常具有較高的性能和較多的資源,同時也配備了包括 GPIO、ADC、I2C 等在內的豐富的外設接口,只不過在標準模式下,這些資源對于用戶通常不是直接可用的。如果能夠“解鎖”這一限制,模塊的應用潛力將極大提升,這就需要對模塊進行二次開發。

二次開發的本意是在軟件本身提供的一些基本功能和接口的基礎上,進行組合和擴展,開發出新的功能來滿足用戶的特殊需求。具體到模塊開發上,二次開發模式允許開發者在底層操作系統的基礎上調用 API 編寫并運行自己的應用,充分調用模塊的各種資源,實現更多的可能性。

二次開發模式示意圖

二次開發最重要的意義在于使模塊在一定程度上具備了取代標準模式中的主控的能力,因而這種模式又被稱為 OpenCPU 或 OpenMCU(不同廠家可能有不同的專門稱呼,如移遠稱之為 QuecOpen)。如上圖所示,與標準模式相比,OpenCPU 模式由于將模塊本身作為主控使用,用戶應用(App)直接置于模塊內部運行,外設(圖中的 External Devices)與模塊直接相連,整個系統中無需外部處理器(MCU)或只需簡單的外部芯片(圖中的 Simple Microchip),因而可以有效地達到精簡硬件設計、降低器件成本、縮小產品尺寸的目的。在單片機價格居高不下的當下,OpenCPU 方案受到了眾多公司的青睞。

但是,OpenCPU 方案也具有較為明顯的局限性。由于這一模式通常需要用戶直接在模塊底層運行的操作系統的基礎上進行開發,技術門檻較高,傳統的、不具備系統級開發經驗的單片機開發者很難適應。其次,由于 OpenCPU 技術支持難度大,模塊廠家通常只向大客戶提供相關的工具和資料,入門較為不便。最后,不同廠家、不同型號的模塊,其 OpenCPU 開發環境和開發工具存在較大差別,用戶編寫的程序在不同模塊間的移植存在一定的難度。

使用腳本語言開發模塊

傳統的 OpenCPU 開發通常使用 C 語言,因此也被稱作 CSDK 開發。用戶需要直接修改和控制底層的操作系統,具有較高的難度和一定的風險性。在?前文?中,我們介紹了低代碼開發方式和它在物聯網領域的應用。目前,已經有部分模塊廠商通過在 CSDK 的基礎上移植解釋器 / 虛擬機的方式,使得用戶可以使用 Lua、Python 等腳本語言對模塊進行二次開發。

與 C 語言相比,腳本語言在語法和使用方式上普遍較為簡單,開發者無需花費太多時間和精力即可掌握,并可相對輕松地實現業務邏輯,便于項目的快速開發和功能迭代。同時,對于低代碼開發方式而言,開發者通常無需考慮內存回收、基礎任務調度等底層細節,顯著降低了模塊二次開發的技術門檻。最后,對于不同型號的模塊,只要它們運行的是同一種腳本語言解釋器,用戶編寫的程序通常只需少量修改(甚至無需修改)即可完成移植。

如下的示例分別是在 EC100Y-CN 模塊上使用 C 語言和 Python 語言實現 LED 閃燈的代碼。可以看出,腳本語言更加簡單直觀,易于編寫、便于理解。

LED 閃燈代碼

使用 QuecOpen(CSDK)使用 QuecPython

#include "ql_application.h"
#include "ql_gpio.h"
#include <stdio.h>static quec_gpio_cfg_t led_gpio_cfg[] =
{{GPIO_PIN_NO_75, PIN_DIRECTION_OUT, PIN_NO_EDGE, PIN_PULL_DISABLE, PIN_LEVEL_LOW}
};static void led_test(void *argv)
{ql_gpio_init(led_gpio_cfg[0].gpio_pin_num, led_gpio_cfg[0].pin_dir, led_gpio_cfg[0].pin_pull, led_gpio_cfg[0].pin_level);while (1){ql_gpio_set_level(led_gpio_cfg[0].gpio_pin_num, PIN_LEVEL_LOW);ql_rtos_task_sleep_s(1);ql_gpio_set_level(led_gpio_cfg[0].gpio_pin_num, PIN_LEVEL_HIGH);ql_rtos_task_sleep_s(1);}
}application_init(led_test, "led_test", 2, 2);

當然,由于使用腳本語言開發時屏蔽了很多底層細節,因而在靈活性和可控性上不如傳統的 C 語言開發。此外,腳本語言與 C 語言相比,本身性能相對較差、執行速度較慢,因而在部分對于性能和實時性要求較高的場景下不適合使用。

選擇合適的開發方式

下表比較了標準模式,CSDK 二次開發和腳本二次開發在多個維度的差異。用戶可根據實際需求選擇最適合自己的開發方式。

特性標準模式二次開發(CSDK)二次開發(腳本語言)備注
物料成本????
  • 二次開發時,可將模塊作為系統主控使用,節省單片機部分的成本。
上手門檻?????
  • 模塊廠商通常只面向大客戶提供 CSDK 開發技術支持和其他相關服務。
開發難度?????
  • CSDK 開發需要開發者擁有 RTOS 或 Linux 開發經驗,普通單片機開發者很難快速掌握。
  • 標準模式僅需用戶掌握單片機串口通信和字符串處理方法,無特殊要求。
  • 腳本語言開發方式僅需用戶掌握基礎語法,無特殊要求。
開發周期?????
  • CSDK 開發的復雜度決定了其較長的開發周期和較高的開發成本。
維護成本??????
  • 腳本語言的模塊化開發的特性有助于保證其長期運行的穩定性,同時普遍內置了 OTA 功能,便于執行遠程升級。
靈活性??????
  • 標準模式下,開發者通常只能調用串口、ADC 等有限的功能。
  • 使用腳本語言開發時,開發者可以通過內置的功能庫調用大部分的模塊資源。
  • 使用 CSDK 開發時,開發者可以根據自身需求和想法直接控制所有可用資源。
性能-?????
  • 腳本語言的性能遠低于 C 語言,因此在對于運行速度、時間精度(時序)、資源數量等要求較高的少部分場合,不建議采用腳本語言開發。
功耗?????
  • 一般的 4G 模塊在自主休眠時的功耗水平在 mA 級別。
  • 在標準模式下,可以通過使用系統主控切斷模塊供電的方式實現最大限度的省電,最低功耗可達前者的 1/10。
生態系統???????
  • 標準 AT 指令開發和腳本開發在網絡上都具有較多的公開資料和教程。
  • CSDK 開發通常不具備開放生態。

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

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

相關文章

Unity 中實現首尾無限循環的 ListView

之前已經實現過&#xff1a; Unity 中實現可復用的 ListView-CSDN博客文章瀏覽閱讀5.6k次&#xff0c;點贊2次&#xff0c;收藏27次。源碼已放入我的 github&#xff0c;地址&#xff1a;Unity-ListView前言實現一個列表組件&#xff0c;表現方面最核心的部分就是重寫布局&…

【C++】 類和對象(上)

1.類的定義 1.1類的定義格式 ? class為定義類的關鍵字&#xff0c;后跟一個類的名字&#xff0c;{}中為類的主體&#xff0c;注意類定義結束時后?分號不能省 略。類體中內容稱為類的成員&#xff1a;類中的變量稱為類的屬性或成員變量;類中的函數稱為類的?法或 者成員函數。…

Transformer架構詳解:從Attention到ChatGPT

Transformer架構詳解&#xff1a;從Attention到ChatGPT 系統化學習人工智能網站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目錄 Transformer架構詳解&#xff1a;從Attention到ChatGPT摘要引言一、Attention機制&#xff1a;Transformer的…

Rock9.x(Linux)安裝Redis7

&#x1f49a;提醒&#xff1a;1&#xff09;注意權限問題 &#x1f49a; 查是否已經安裝了gcc gcc 是C語言編譯器&#xff0c;Redis是用C語言開發的&#xff0c;我們需要編譯它。 gcc --version如果沒有安裝gcc&#xff0c;那么我們手動安裝 安裝GCC sudo dnf -y install…

EasyExcel使用導出模版后設置 CellStyle失效問題解決

EasyExcel使用導出模版后在CellWriteHandler的afterCellDispose方法設置 CellStyle失效問題解決方法 問題描述&#xff1a;excel 模版塞入數據后&#xff0c;需要設置單元格的個性化設置時失效&#xff0c;本文以設置數據格式為例&#xff08;設置列的數據展示時需要加上千分位…

【Day41】

DAY 41 簡單CNN 知識回顧 數據增強卷積神經網絡定義的寫法batch歸一化&#xff1a;調整一個批次的分布&#xff0c;常用與圖像數據特征圖&#xff1a;只有卷積操作輸出的才叫特征圖調度器&#xff1a;直接修改基礎學習率 卷積操作常見流程如下&#xff1a; 1. 輸入 → 卷積層 →…

Express教程【002】:Express監聽GET和POST請求

文章目錄 2、監聽post和get請求2.1 監聽GET請求2.2 監聽POST請求 2、監聽post和get請求 創建02-app.js文件。 2.1 監聽GET請求 1??通過app.get()方法&#xff0c;可以監聽客戶端的GET請求&#xff0c;具體的語法格式如下&#xff1a; // 1、導入express const express req…

C# 文件 I/O 操作詳解:從基礎到高級應用

在軟件開發中&#xff0c;文件操作&#xff08;I/O&#xff09;是一項基本且重要的功能。無論是讀取配置文件、存儲用戶數據&#xff0c;還是處理日志文件&#xff0c;C# 都提供了豐富的 API 來高效地進行文件讀寫操作。本文將全面介紹 C# 中的文件 I/O 操作&#xff0c;涵蓋基…

Vue-Router簡版手寫實現

1. 路由庫工程設計 首先&#xff0c;我們需要創建幾個核心文件來組織我們的路由庫&#xff1a; src/router/index.tsRouterView.tsRouterLink.tsuseRouter.tsinjectionsymbols.tshistory.ts 2. injectionSymbols.ts 定義一些注入符號來在應用中共享狀態&#xff1a; import…

Electron-vite【實戰】MD 編輯器 -- 文件列表(含右鍵快捷菜單,重命名文件,刪除本地文件,打開本地目錄等)

最終效果 頁面 src/renderer/src/App.vue <div class"dirPanel"><div class"panelTitle">文件列表</div><div class"searchFileBox"><Icon class"searchFileInputIcon" icon"material-symbols-light:…

Remote Sensing投稿記錄(投稿郵箱寫錯、申請大修延期...)風雨波折投稿路

歷時近一個半月&#xff0c;我中啦&#xff01; RS是中科院二區&#xff0c;2023-2024影響因子4.2&#xff0c;五年影響因子4.9。 投稿前特意查了下預警&#xff0c;發現近五年都不在預警名單中&#xff0c;甚至最新中科院SCI分區&#xff08;2025年3月&#xff09;在各小類上…

吉林第三屆全國龍舟邀請賽(大安站)激情開賽

龍舟競渡處,瑞氣滿湖光。5月31日&#xff0c;金蛇獻瑞龍舞九州2025年全國龍舟大聯動-中國吉林第三屆全國龍舟邀請賽(大安站)“嫩江灣杯”白城市全民健身龍舟賽在吉林大安嫩江灣國家5A級旅游區玉龍湖拉開帷幕。 上午9時&#xff0c;伴隨著激昂的音樂&#xff0c;活力四射的青春舞…

華為OD機試真題——通過軟盤拷貝文件(2025A卷:200分)Java/python/JavaScript/C++/C語言/GO六種最佳實現

2025 A卷 200分 題型 本文涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、測試用例以及綜合分析; 并提供Java、python、JavaScript、C++、C語言、GO六種語言的最佳實現方式! 本文收錄于專欄:《2025華為OD真題目錄+全流程解析/備考攻略/經驗分享》 華為OD機試真題《通過…

一起學數據結構和算法(二)| 數組(線性結構)

數組&#xff08;Array&#xff09; 數組是最基礎的數據結構&#xff0c;在內存中連續存儲&#xff0c;支持隨機訪問。適用于需要頻繁按索引訪問元素的場景。 簡介 數組是一種線性結構&#xff0c;將相同類型的元素存儲在連續的內存空間中。每個元素通過其索引值&#xff08;數…

ZYNQ sdk lwip配置UDP組播收發數據

?? 一、顛覆認知:組播 vs 單播 vs 廣播 通信方式目標設備網絡負載典型應用場景單播1對1O(n)SSH遠程登錄廣播1對全網O(1)ARP地址解析組播1對N組O(1)視頻會議/物聯網群控創新價值:在智能工廠中,ZYNQ通過組播同時控制100臺AGV小車,比傳統單播方案降低92%網絡流量! ?? 二、…

機器學習:欠擬合、過擬合、正則化

本文目錄&#xff1a; 一、欠擬合二、過擬合三、擬合問題原因及解決辦法四、正則化&#xff1a;盡量減少高次冪特征的影響&#xff08;一&#xff09;L1正則化&#xff08;二&#xff09;L2正則化&#xff08;三&#xff09;L1正則化與L2正則化的對比 五、正好擬合代碼&#xf…

Linux命令之ausearch命令

一、命令簡介 ausearch 是 Linux 審計系統 (auditd) 中的一個實用工具,用于搜索審計日志中的事件。它是審計框架的重要組成部分,可以幫助系統管理員分析系統活動和安全事件。 二、使用示例 1、安裝ausearch命令 Ubuntu系統安裝ausearch命令,安裝后啟動服務。 root@testser…

mac電腦安裝nvm

方案一、常規安裝 下載安裝腳本&#xff1a;在終端中執行以下命令來下載并運行 NVM 的安裝腳本3&#xff1a; bash curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.39.5/install.sh | bash配置環境變量&#xff1a;安裝完成后&#xff0c;需要配置環境變量。如…

Excel 操作 轉圖片,轉pdf等

方式一 spire.xls.free&#xff08;沒找設置分辨率的方法&#xff09; macOs開發Java GUI程序提示缺少字體問題解決 Spire.XLS&#xff1a;一款Excel處理神器_spire.xls免費版和收費版的區別-CSDN博客 官方文檔 Spire.XLS for Java 中文教程 <dependency><groupI…

oracle goldengate實現遠程抽取postgresql 到 postgresql的實時同步【絕對無坑版,親測流程驗證】

oracle goldengate實現postgresql 到 postgresql的實時同步 源端&#xff1a;postgresql1 -> postgresql2 流復制主備同步 目標端&#xff1a;postgresql 數據庫版本&#xff1a;postgresql 12.14 ogg版本&#xff1a;21.3 架構圖&#xff1a; 數據庫安裝以及流復制主備…