操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    自Java語言流行以來,其主打的面向?qū)ο缶幊桃渤蔀榱思矣鲬魰缘囊环N程序設(shè)計(jì)思想:

    “封裝、繼承、多態(tài)”、“易維護(hù)、易復(fù)用、易擴(kuò)展”,“解耦、隔離”

    而以過程為中心的“面向過程編程”,通常會優(yōu)先分析出解決問題所需的步驟,然后用函數(shù)依次實(shí)現(xiàn)這些步驟,最后串聯(lián)起來依次調(diào)用即可,是一種基于順序的思維方式。

    常見的支持面向過程的編程語言有 C語言、COBOL 語言等,被廣泛的應(yīng)用在系統(tǒng)內(nèi)核、IoT、物聯(lián)網(wǎng)等領(lǐng)域。其中一個比較典型的案例是串口通信協(xié)議的集成開發(fā)(驅(qū)動、SDK),雖然大多數(shù)的Web應(yīng)用都已經(jīng)跨入了“Json Free”的時代,但大量的嵌入式設(shè)備使用仍是串口協(xié)議,以獲得能耗、體積和效率等方面的優(yōu)勢。而現(xiàn)有的驅(qū)動大多由C,使用面向過程的方式編寫的。

    舉個栗子 ,當(dāng)我們的應(yīng)用需要提供線下的服務(wù):用戶在門戶店可以使用一體機(jī)訪問我們的服務(wù),可以選擇使用線下POS機(jī)進(jìn)行刷卡支付(類比肯德基)。我們不僅要在網(wǎng)頁后臺計(jì)算出訂單價格,還要通知POS機(jī)開始“接單”,完成刷卡操作并及時返回交易數(shù)據(jù)。

    然而,當(dāng)打開POS機(jī)“附贈”的接口文檔時,晃眼的二進(jìn)制案例、復(fù)雜的數(shù)據(jù)結(jié)構(gòu)卻讓我們手足無措 —— 所有的數(shù)據(jù)都需要通過那根RS232串口線,以“01010101”的數(shù)據(jù)與相連的一體機(jī)進(jìn)行交互。

    PS:一體機(jī)是一臺Windows物理機(jī),通過COM接口(RS232、9針線)連接POS機(jī)設(shè)備

    令人頭暈的二進(jìn)制

    不同于我們?nèi)粘K褂玫腍TTP協(xié)議:

    • 具有標(biāo)準(zhǔn)的報(bào)文結(jié)構(gòu)和數(shù)據(jù)編碼
    • 完備的SDK和生態(tài)鏈工具,可以很容易實(shí)現(xiàn)CS(Client-Server)架構(gòu)的數(shù)據(jù)傳輸
    • 無需關(guān)注應(yīng)用層(ISO Application Layer)以下的技術(shù)細(xì)節(jié)

    而串口更貼近于ISO的物理層:通過指定頻率(Baud 波特率)的高低電平(0/1)來傳輸數(shù)據(jù)。

    因此要想通過串口傳遞具有特定意義的數(shù)據(jù)時,通常需要對二進(jìn)制數(shù)據(jù)加以區(qū)分、組合、編碼,以賦予其表達(dá)復(fù)雜數(shù)據(jù)結(jié)構(gòu)的能力 —— 串口通信協(xié)議。例如一個典型(但又稍顯復(fù)雜)的串口協(xié)議報(bào)文:

    一個串口消息的數(shù)據(jù)結(jié)構(gòu)(使用16進(jìn)制表示字節(jié)流示例)

    串=“串行”,數(shù)據(jù)在傳輸過程中都是按順序?qū)懭?、讀出的,因此需要準(zhǔn)確的告訴服務(wù)方:

    • StartToken / EndToken,標(biāo)記當(dāng)前消息何時開始何時結(jié)束
    • Length,當(dāng)前欲讀取的數(shù)據(jù)長度

    為了提升協(xié)議的易用性,將不同目的的數(shù)據(jù)通過類型加以區(qū)分,具有不同的序列化規(guī)則

    • Hex(十六進(jìn)制)
    • BCD(二進(jìn)制化整數(shù))
    • ASC(ASIIC碼)

    數(shù)據(jù)部分則由消息頭和多組消息數(shù)據(jù)組成

    • 關(guān)鍵字段(如ID、Code、Version)都是固定類型、固定長度的數(shù)據(jù)
    • 而數(shù)據(jù)字段(Data)在不同的Field Code(不同場景下)是不同的是一個變長數(shù)據(jù),因此也需要Len在前,聲明數(shù)據(jù)長度發(fā)送、讀取時都要通過Field Code動態(tài)推斷

    按照面向過程的方式按順序依次構(gòu)建,創(chuàng)建一條消息并不是一件困難的事。然而不同的功能指令(Function Code)所包含的消息數(shù)據(jù)(Field Data)是完全不一樣的,但其發(fā)送流程、序列化方式又是一致的。如果我們面向過程,以一條功能指令為單位進(jìn)行開發(fā),不僅會出現(xiàn)大量重復(fù)冗余的序列化代碼,而且會丟失上層的Function、Field的業(yè)務(wù)含義, 代碼難以理解和維護(hù)。

    public void decodeMsgData(byte[] msgDataBlocks, int index) throws PaymentException {
        int start=0;
    
        for(int i=0; i < msgDataBlocks.length; ++i) {
            byte[] fieldCodeByte=new byte[]{msgDataBlocks[start], msgDataBlocks[start + 1]};
            String fieldCode=new String(fieldCodeByte);
            byte[] lenByte=new byte[]{msgDataBlocks[start + 2], msgDataBlocks[start + 3]};
            int len=CommonUtil.convertBCDToInt(lenByte);
            byte[] data=new byte[len];
            System.arraycopy(msgDataBlocks, start + 4, data, 0, len);
    
            if (!fieldCode.equals("M1") && !fieldCode.equals("HB")) {
                if (fieldCode.equals("J4")) {
                    handleJ4(data);
                }
            } else if (fieldCode.equals("X5")) {
                handleX5(data);
            } else if ... 
        }
    }
    

    解析某一種指令的序列化代碼,充斥著難以理解的變量和混亂的處理邏輯

    二進(jìn)制數(shù)據(jù)的轉(zhuǎn)換、枚舉值的配置、業(yè)務(wù)邏輯的處理耦合在同一個類,甚至同一個方法中,想要梳理出代碼的執(zhí)行流程都已經(jīng)很困難,更不要說進(jìn)一步的維護(hù)和更新了。

    輪子不行就造一個。

    “封裝,他使用了封裝!”

    那應(yīng)該如何設(shè)計(jì)既能夠適配串口數(shù)據(jù),又能保證較高的可擴(kuò)展性和可維護(hù)性呢?

    遇事不決,量子力學(xué)(No )

    遇事不決,面向?qū)ο螅╕es)

    面向?qū)ο蟮囊淮筇攸c(diǎn)就是封裝 —— 高內(nèi)聚低耦合。

    首先,我將三個基本類型進(jìn)行了封裝:BCD、ASC、Hex,將上層模型(Message)對二進(jìn)制的依賴逐漸轉(zhuǎn)移成對基本類型BCD/ASC/Hex的依賴。同理,Start/End Token、分隔符、Length等通用數(shù)據(jù)類型也被抽取成了單獨(dú)的數(shù)據(jù)類型。

    接著,祭出面向?qū)ο蟮诙▽?—— 多態(tài)(接口多態(tài)),定義Attribute接口來描述“如何由基本類型序列化/反序列化為二進(jìn)制數(shù)據(jù)”,并由各個基本類型加以實(shí)現(xiàn)。

    此時,上層的Message和“0101”已完全解耦,變成了含有多個"基本"字段類型的POJO類。就和我們平時所寫的Class一樣,直接使用String、Int、Double而無需擔(dān)心他們在內(nèi)存的具體地址。

    {
      "message": {
        "startToken": "Hex(08)",        // Control.STX
        "length": "BCD(128)",       // calculate(this)
        "header": {
          "id": "ASC(000000000001)",
          "function": "ASC(01)"
        },
        "data": [
          {
            "field": "ASC(M1)",
            "length": "BCD(27)",
            "value": "ASC(Hello, World)",
            "separator": "Hex(1C)"          // Control.SEP
          }
        ],
        "endToken": "Hex(09)",      // Control.ETX
        "checksum": "Hex(35)"       // calculate(this)
      }
    }

    以對象描述消息結(jié)構(gòu),以類型標(biāo)明字段信息

    消息對象與“基本類型”的關(guān)系

    一層一層又一層

    封裝之后的Message易于使用了,但開發(fā)時仍需要基于業(yè)務(wù)指令來拼裝數(shù)據(jù),只是從對二進(jìn)制的拼裝變成了對Attribute的拼裝,并不足夠表達(dá)業(yè)務(wù)含義:

    • 對于某一項(xiàng)指令功能(Function)的使用者來說他不關(guān)心下層數(shù)據(jù)如何被序列化、如何被發(fā)送他只關(guān)心業(yè)務(wù)數(shù)據(jù)是否正確的被設(shè)置和接收(set/get)
    • 對于某一條消息數(shù)據(jù)(Message)的傳輸者來說他不關(guān)心上層數(shù)據(jù)的業(yè)務(wù)含義他只關(guān)心二進(jìn)制數(shù)據(jù)的在串口正確的傳輸

    多重施法! —— 就像Attribute隔離基本類型與二進(jìn)制,我們再抽象一個Field接口來隔離業(yè)務(wù)字段和消息數(shù)據(jù)。

    對于指令使用者(應(yīng)用開發(fā)者)來說,對某一條指令的操作更貼近命令式編程,而下層的消息組裝、序列化以及數(shù)據(jù)傳輸都被封裝到了“基本字段 Field”和“基本類型 Attribute”中。因?yàn)槭褂昧死^承和多態(tài),其他組件通過統(tǒng)一的接口類型進(jìn)行協(xié)作,保證單向依賴和數(shù)據(jù)的單向流動,大大增加了可擴(kuò)展性和可維護(hù)性。

    @FieldDef(code="49", length=12)
    class TransactionAmount implements  Field { 
        Bigdecimal amount;
    }
    @FieldDef(code="51", length=25)
    class AcquirerName implements  Field { 
        String name;
    }
    … … … … … … 
    {
      "request": {
        "id": "000000000001",       // -> message.header.id
        "function": "CREDIT_CARD",          // -> message.header.function
        "transactionAmount": "20.00",       // message.data[]{ field:"49", value:"20.00", ... }
        "acquirerName": "VISA"          // message.data[]{ field:"51", value:"VISA", … }
      }
    }

    基于消息對象再抽象一層,構(gòu)建出更貼近業(yè)務(wù)的Request/Response

    對指定指令 (function) 的開發(fā)和使用與底層數(shù)據(jù)結(jié)構(gòu)是解耦的

    當(dāng)我們要支持新的指令時,我們只需要實(shí)現(xiàn)新的Field即可 —— function 層以上

    當(dāng)我們要更新序列化規(guī)則時,我們只需要修改協(xié)議層Attribute —— protocol 層以下

    全景

    SDK架構(gòu) + 數(shù)據(jù)序列化流向 + 串口異步監(jiān)聽

    測試

    Of course,為了避免破壞已經(jīng)構(gòu)建好的功能,測試也是開發(fā)過程中需要慎重對待的環(huán)節(jié)(畢竟對于二進(jìn)制數(shù)據(jù)來說,前面錯漏一個bit,解碼出來的消息可能完全不一樣...)

    對于協(xié)議層(protocol),TDD是最佳的測試和開發(fā)方式?!癆->B”,輸入輸出明確,用起來是非常舒服且高效的。但一旦涉及到串口通信部分就需要費(fèi)一些心思了:

    • 串口的讀寫口是不一樣的寫口發(fā)送數(shù)據(jù)后,需要等待并監(jiān)聽讀口接收數(shù)據(jù)但Listener模式大多是多線程的,需要引入額外的同步組件來控制
    • 串口連接是長鏈接,且沒有容錯機(jī)制,可能出現(xiàn)丟包、斷線等情況一般會額外設(shè)計(jì)ACK/NACK的握手機(jī)制(類似TCP)來保證通信,以觸發(fā)重試

    Option 1:構(gòu)造多線程測試環(huán)境

    • 創(chuàng)建Stub Server

    使用了PipedInputStream、PipedOutputStream,將對串口的讀寫流包裝并導(dǎo)向創(chuàng)建的管道流中,再通過另一個線程來模擬終端POS機(jī)消費(fèi)里面的數(shù)據(jù),以實(shí)現(xiàn)接收請求、返回?cái)?shù)據(jù),驗(yàn)證數(shù)據(jù)傳輸和序列化的正確性。

    val serverInputStream=PipedInputStream()
    val serverOutputStream=PipedOutputStream()
    val clientInputStream=PipedInputStream(serverOutputStream) 
    val clientOutputStream=PipedOutputStream(serverInputStream) 
    val serialConnection=StreamSerialChannel(clientInputStream, clientOutputStream)
    
    val mockServer=Thread {
       // 1.  wait for client
       Thread.sleep(50)
       // 2. read request in server side
       serverInputStream.read(ByteArray(requestBytes.size))
       // 3. send ack to client
       serverOutputStream.write(Acknowledgement.ACK.getBytes())
       // 4. notify client - simulate comm listener
       serialConnection.onDataAvailable()
       // 5. send response to client
       serverOutputStream.write(responseBytes)
       // 6. notify client - simulate comm listener
       serialConnection.onDataAvailable()
       // 7.  wait for client
       Thread.sleep(50)
       // 8. read ack in server side
       serverInputStream.read(ByteArray(1))
    }

    左右互搏,模擬上下游的字節(jié)流進(jìn)行數(shù)據(jù)傳輸

    Option 2:使用Fake的外部程序

    • 虛擬串口:Windows和Linux上有比較成熟的串口調(diào)試工具

    我使用的是Windows Virtual Serial Port Driver,因?yàn)橥ㄟ^虛擬串口直接寫入(二進(jìn)制)數(shù)據(jù)并不是很方便,所以我創(chuàng)建了兩個虛擬串口A - B分別模擬Client(發(fā)送方-一體機(jī))和Server(接收方-POS)的串口,并連接到一起以便相互通信。與Option 1類似,啟動兩個線程分別扮演發(fā)送方、接收方并連接對應(yīng)的串口,一個發(fā)一個收來模擬E2E的交互場景。

    • USB轉(zhuǎn)串口芯片(稍微硬核)

    剛好家里有一臺樹莓派,本身是自帶串口接口的,可以用來扮演POS系統(tǒng)。然后我從某寶購入了一塊USB轉(zhuǎn)TTL的串口芯片(因?yàn)槲业碾娔X已經(jīng)沒有九針接口了),插入到Windows主機(jī)上,使其可以通過USB向外發(fā)送串口數(shù)據(jù)。將樹莓派和TTL的Read/Write引腳反接,類似Option 2的測試方式,只是兩個線程變成了兩臺獨(dú)立主機(jī)。

    CH340芯片

    Option 3:使用測試機(jī)

    • IoT設(shè)備相對復(fù)雜,一般供應(yīng)商都會提供相應(yīng)的測試機(jī)器和測試環(huán)境

    但由于溝通原因,我們的測試機(jī)器很晚才拿到;因?yàn)橐咔椋_發(fā)人員并不能接觸到POS測試機(jī),只能通過Zoom遠(yuǎn)程指導(dǎo)式調(diào)試。因此我們需要盡早、盡快的在相對準(zhǔn)確的環(huán)境下,驗(yàn)證SDK的功能是完備的。

    也因?yàn)槲覀兲崆皽?zhǔn)備的多層測試,在拿到測試機(jī)后僅花費(fèi)了1小時就完成了實(shí)機(jī)集成測試。

    后記(腦補(bǔ))

    本文主要以“面向?qū)ο蟆钡木幊趟枷耄瑥男聦徱暳舜趨f(xié)議的設(shè)計(jì)和實(shí)現(xiàn)。利用“封裝、繼承、多態(tài)”的特性,構(gòu)建出更健壯、強(qiáng)擴(kuò)展、易維護(hù)的SDK。但“面向?qū)ο蟆币膊⒉皇俏ㄒ唤狻?/span>

    “抽象 —— 編程的本質(zhì),是對問題域和解決方案域的一種提煉”

    筆者認(rèn)為,“抽象”可能是一種更通用的編程思想。選擇合適的角度和層級分析問題,找尋共性并獲得答案,將解決問題的過程抽象為模型、方法論、原則,并推行到更多的場景和領(lǐng)域才是編程的核心。代碼實(shí)現(xiàn)僅是一個“翻譯”工作而已。

    隨著抽象層級的不同,軟件從代碼、模塊的復(fù)用,上升到系統(tǒng)、產(chǎn)品的復(fù)用。就像文中的串口協(xié)議一樣,只基于下層服務(wù)給出承諾和約定,上層應(yīng)用專注在當(dāng)前待解決的問題領(lǐng)域。因此,上文雖然是闡述對串口協(xié)議的開發(fā)設(shè)計(jì),但抽象的思維模式依然可以在不同的領(lǐng)域產(chǎn)生共鳴:

    • 高級語言 是對 匯編指令 的抽象和封裝
    • Deployment 是對 Kubernetes多個資源 的抽象和封裝
    • 云服務(wù) 是對 軟/硬件服務(wù) 的抽象和封裝

    “以不變 —— 編譯原理、工程化理論、敏捷實(shí)踐...
    應(yīng)萬變 —— 不同的編程語言、不同的軟件架構(gòu)、不同的項(xiàng)目更迭...”


    文/Thoughtworks廖桉冬

    原文鏈接:https://insights.thoughtworks.cn/oo-design-serial-protocol/

    更多精彩洞見,請關(guān)注微信公眾號Thoughtworks洞見。

    接觸電腦的朋友面對著計(jì)算機(jī)后背那密密麻麻的各種接口和一大把連接線往往會不知所措;接觸電腦久的朋友有的時候想搞一些小點(diǎn)子,但常常會找不到各種接口的針腳定義;如果你有以上的經(jīng)歷,那么這一系列文章想必會給您帶來一點(diǎn)幫助,那就是電腦接口大集合。今天給大家介紹的是電腦接口的——串口COM口接口。

    主板一般都集成兩個串口,可Windows卻最多可提供8個串口資源供硬件設(shè)置使用注:編號COM1到COM8),雖然其I/O地址不相同,但是總共只占據(jù)兩個IRQ(1、3、5、7共享IRQ4,2、4、6、8共享IRQ3),平常我們常用的是COM1~COM4這四個端口。我們經(jīng)常在使用中遇到這個問題——如果在COM1上安裝了串口鼠標(biāo)或其他外設(shè),就不能在COM3上安裝如Modem之類的其它硬件,這就是因?yàn)镮RQ設(shè)置沖突而無法工作。這時玩家們可以將另外的外設(shè)安裝在COM2或4。

    標(biāo)準(zhǔn)的串口能夠達(dá)到最高115Kbps的數(shù)據(jù)傳輸速度,而一些增強(qiáng)型串口如ESP(Enhanced Serial Port,增強(qiáng)型串 口) 、Super 注:Super Enhanced Serial Port,超級增強(qiáng)型串口)等則能達(dá)到460Kbps的數(shù)據(jù)傳輸速率。

    串口是計(jì)算機(jī)主要的外部接口之一,通過九針串口連接的設(shè)備有很多,像串口鼠標(biāo)、MODEM、手寫板等等,九針串口的示意圖如上,其各腳的定義如下:

    1 DCD 載波檢測

    2 RXD 接收數(shù)據(jù)

    3 TXD 發(fā)送數(shù)據(jù)

    4 DTR 數(shù)據(jù)終端準(zhǔn)備好

    5 SG 信號地線

    6 DSR 數(shù)據(jù)準(zhǔn)備好

    7 RTS 請求發(fā)送

    8 CTS 清除發(fā)送

    9 RI 振鈴指示

    工業(yè)物聯(lián)網(wǎng)@帝特

    些日子Wifi6的路由器越來越便宜了,例如我就買了TP-link最新的TL-XDR6030易展版路由器。

    為路由器搭配Wifi6的無線網(wǎng)卡的時候,發(fā)現(xiàn)沒多少選擇,只有Intel AX200和AX201兩款,k馬甲卡一堆。AX201需要CNVi 接口,一般電腦主機(jī)用不了。而AX200無線網(wǎng)卡會發(fā)現(xiàn)有不少馬甲卡,卡之間還會有參數(shù)差異。所以匯總了一下,供大家參考。

    AX200

    ax200的基本參數(shù)是支持802.11 a/b/d/e/g/h/i/k/n/r/u/v/w/ac/ax協(xié)議,支持藍(lán)牙5.1,兼容FIPS, FISMA。2R2T M,支持MU-MIMO。1024QAM+160Hz下2.4g最高574Mbps(71.75MB/s),5g最高2400Mbps(300MB/s)。WIFI走PCIe通道,藍(lán)牙走USB2.0通道。

    Intel AX200NGW

    某寶上最多的就是著這種NGFF M.2 Key E接口,M.2 2230規(guī)格的ax200無線網(wǎng)卡,是Intel為筆記本電腦等設(shè)備推出的無線網(wǎng)卡。 使用兩條天線,帶I-PEX MHF 4天線接口。2019年的時候,我就購買過這種卡給筆記本升級使用。當(dāng)年這卡沒有所適配的路由器,價格要便宜點(diǎn),現(xiàn)在已經(jīng)漲價到70元左右。

    京東自營上有intel官方渠道,199元三年保修。第三方渠道有COMFAST,產(chǎn)品完全就是Intel AX200NGW,附送了螺絲刀和螺絲。比官方質(zhì)保期要短,只有京東一年的售后服務(wù)。

    Killer Wi-Fi 6 AX1650

    除了貼紙不一樣,外觀上完全找不到和Intel AX200NGW有差別的地方。某寶上售價是200多元,和原版區(qū)別是killer獨(dú)有驅(qū)動,以及殺手控制中心。網(wǎng)上不少Intel AX200NGW改Killer Wi-Fi 6 AX1650驅(qū)動的教程,傳說改后延遲會有所降低。


    Fenvi Fv-AX200

    Fenvi出品的mini PCI-e接口的AX無線網(wǎng)卡,由M.2 1216規(guī)格的Intel AX200D2WL加轉(zhuǎn)接板改造而來。天線接口做了轉(zhuǎn)接,由ipex 4轉(zhuǎn)換成ipex 1接口,更方便老機(jī)器使用。外殼帶有屏蔽罩,做工不錯。

    TOULINEUA AX200HMW

    和Fenvi Fv-AX200原理一樣,由M.2 1216規(guī)格的Intel AX200D2WL加轉(zhuǎn)接板改造而來。有A和B兩款,A款不帶藍(lán)牙功能。TOULINEUA,中文名是哈爾濱的董琳科技公司,在阿里速賣通上有產(chǎn)品。某寶上也其店鋪,但是沒找到這款網(wǎng)卡。查了下這公司是專門提供解決方案的,某寶很多網(wǎng)卡轉(zhuǎn)接板都是這家公司的方案,阿里速賣通的產(chǎn)品只是作為樣品出貨。我買了一個,但是bug比較多,不好用。

    Alfa AWPCIE-AX200

    阿爾法出品的Mini PCI-e版AX200,一樣是由M.2 1216規(guī)格的Intel AX200D2WL加轉(zhuǎn)接板改造而來。有兩個版本,U版帶有屏蔽罩,天線也做了轉(zhuǎn)換,非U版則沒有。老筆記本電腦使用非U版的話,可能需要上ipex4轉(zhuǎn)ipex1的轉(zhuǎn)接線。


    散裝PCI-E版

    通過搭配PCI-E x1轉(zhuǎn)M.2 Key E轉(zhuǎn)接板,就能將本用于筆記本電腦的Intel AX200 NGW無線網(wǎng)卡,安裝到臺式電腦主機(jī)上使用。有全高和半高擋板可選,部分講究點(diǎn)的會穩(wěn)壓電容以及鋁散熱片。某寶上組裝好的產(chǎn)品,也可以自己購買轉(zhuǎn)接板組裝。這種產(chǎn)品會帶有一個9針usb插口,供無線網(wǎng)卡的藍(lán)牙通訊使用。

    組裝好的產(chǎn)品價格在100元左右,轉(zhuǎn)接版單獨(dú)購買一般需要20元左右。組裝版附送的天線一般比較差,無線性能會弱一點(diǎn)。


    華碩PCE-AX58BT

    華碩專門針對TUF GAMING AX3000(RT-AX58U)路由器推出的AX協(xié)議無線網(wǎng)卡,PCI-E 3.0 x1接口,帶有厚厚的黑色散熱片。相對一般PCI-E接口的Intel AX200NGW網(wǎng)卡,差距在天線和驅(qū)動。售價999元,海淘會便宜一點(diǎn),值不值還真得看信仰了。


    TP-Link Archer TX3000E

    TP-Link推出的,神似華碩PCE-AX58BT的AX無線網(wǎng)卡。本質(zhì)上還是Intel AX200NGW加轉(zhuǎn)接板,PCI-E x1接口。sma天線接口,外置兩根5dBi天線底座,帶有紅色散熱片。和華碩一樣,帶有優(yōu)化的自家驅(qū)動。

    目前國內(nèi)電商自營還沒開賣,海淘價格是400左右。考慮之前的華碩PCE-AC88和TP-Link TL-WDN8280外觀極其相似的,價格上TP-Link只是華碩的一半,嚴(yán)重懷疑華碩的無線網(wǎng)卡由TP-Link代工的。


    TP-LINK TL-XDN8180

    Archer TX3000E的低配版,天線不能更換,沒有藍(lán)牙功能,縮水比較嚴(yán)重。優(yōu)點(diǎn)是帶有自家驅(qū)動,有優(yōu)化算法。日常價189元,帶1年質(zhì)保。價格相對Archer TX3000E便宜很多,但是相對某寶的散裝PCI-E版AX200優(yōu)勢不大。


    微星 HERALD-AX

    微星針對自家主板推出的AX無線網(wǎng)卡,連個散熱片也沒有,直接明示使用的是Intel AX200NGW。其實(shí)就是上代產(chǎn)品MSI HERALD-AC(Intel AC8265)的網(wǎng)卡,換成了Intel AX200NGW。配備了鯊魚鰭天線,外觀挺酷的。沒有自家驅(qū)動,用的是intel通用驅(qū)動。某寶價格199元,溢價不算厲害。考慮其酷炫外觀的鯊魚鰭天線一般都要70-80元,還是值得的。


    技嘉GC-WBAX200

    華碩、微星都有自家的AX無線網(wǎng)卡,技嘉又不怎么會甘心落后。和微星套路一樣,用的是上代GC-WB867D-I(INTEL AC7260)的板子,換了個新天線。秉承堆料風(fēng)格,電路上,技嘉的PCI-E轉(zhuǎn)接板是用料最足的。帶有穩(wěn)壓的電容,還有除了九針的usb 2.0接口外,還有一個USB-A接口。


    SSU-AX200 Pro

    其他廠商的PCI-E轉(zhuǎn)接板,藍(lán)牙都需要另接USB數(shù)據(jù)線,但是SSU的產(chǎn)品不用。價格是169元,帶有半高和全高擋板。主板接口不寬?;蛘呦霗C(jī)箱線少一些的話,選SSU-AX200 Pro不錯。


    Fenvi FV-AX3000

    本質(zhì)上也是Intel AX200NGW加轉(zhuǎn)接板,但是轉(zhuǎn)接板的電路用料比較足,例如有穩(wěn)壓的電容。有多款不同增益的天線可選,自定義程度比較高。不過沒有自家驅(qū)動。


    COMFAST CF-AX200 Plus

    優(yōu)點(diǎn)類似TP-Link Archer TX3000E,特別是天線底座很像。COMFAST沒有表明天線增益參數(shù),所以沒有確定是否是和TP-Link一樣。沒有自家驅(qū)動,京東電商自營,帶有1年質(zhì)保。

    另外還有一個天線不一樣的Pro版,外觀看pci-e轉(zhuǎn)接板是一樣的,差別是天線和散熱片。Pro版性價比還行,所以是京東上銷量最好的。


    翼聯(lián)EP-9636

    銷量上僅次于COMFAST CF-AX200 Pro的產(chǎn)品,6dbi天線。板子用料就比較丐了,尤其是sma接口底座。經(jīng)常有129元的低價,歷史低價是109元。相對某寶的雜牌價格差不多,但是這款是京東自營產(chǎn)品,有1年質(zhì)保,更劃算一些。


    磊科NW-AX3000 Pro

    用料比翼聯(lián)EP-9636和COMFAST CF-AX200 Pro要好,價格倒是持平COMFAST CF-AX200 Pro。5dbi天線,帶有散熱片。預(yù)算有限又追求用料的話,可以選這款。


    總結(jié)

    圍觀市面上那么多ax200網(wǎng)卡,差異都基本集中在轉(zhuǎn)接板用料和天線增益上。PCI-E用戶的話追求質(zhì)保的建議去買京東上的COMFAST、磊科、翼聯(lián)的產(chǎn)品,不追求買某寶上的組裝貨其實(shí)差不多。想線少一點(diǎn)就買SSU-AX200 Pro,天線好看點(diǎn)就微星 HERALD-AX,接口多一點(diǎn)就技嘉GC-WBAX200。華碩、tp-link等品牌產(chǎn)品是不怎么待見了,溢價比較嚴(yán)重?;揪褪且陨线@些,希望能幫助到大家升級ax200網(wǎng)卡。

    PS:目前macos也是可以實(shí)用wifi6網(wǎng)卡的,不過是仿冒驅(qū)動,一些airdrop等功能無法實(shí)現(xiàn)而已。

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有