發佈日期:

智慧無線技術,打造遠距戶外監控系統

Views: 0

【成功案例】專案背景與挑戰

本次接案係因應消防單位臨時安防需求,需在距離主控中心 70公尺外 的臨時停車場,緊急建置高精細度的周界監控系統。

該場地面臨四大執行難點:

  • 無法實體佈線: 現地柏油路面無法開挖,傳統光纖與網路線無法鋪設。
  • 供電與傳輸界面複雜: 臨時停車場現地缺乏傳統電源插座,必須在有限的電源節點下,同時解決無線基地台與 4 台網路鏡頭的電力供應與數據傳輸問題。
  • 無 DHCP 動態網路環境: 現場為封閉式專用網路,無 DHCP 伺服器自動配置 IP。所有無線設備與鏡頭皆必須以靜態 IP(Static IP)手動規劃,極考驗網路工程師的邏輯與除錯能力。
  • 高畫素大頻寬與嚴酷戶外環境: 現場需同步回傳 4台 500萬畫素高清網路鏡頭(型號:IP7366E),對無線鏈路的吞吐量是極大考驗;且戶外開闊地形極易遭受雷擊突波與極端氣候干擾。

專業無線合理解決方案

忠碁科技技術團隊經實地勘查,並特別向居易科技(DrayTek)台灣主要代理「裕笠科技」諮詢最佳化設備方案,決定採用 DrayTek VigorAP 918R 商用級戶外無線基地台,並搭配 Edimax 商用級無網管型 PoE 交換器(Unmanaged PoE Switch),以全手動靜態 IP 佈建高穩定度無線網路橋接(Mesh)系統。

1. 硬體架構與精準網段配置

  • 機房端(Root): 部署第一台 VigorAP 918R 作為實體根節點,連接核心交換器與 DI1278 監視器主機(XVR)。技術團隊手動配置固定 IP,確保與後端主機維持絕對穩定的連線。
  • 停車場端(Node): 部署第二台 VigorAP 918R 作為無線延伸節點。現地端部署一台 Edimax 無網管型 PoE 交換器,透過標準乙太網路線(Power over Ethernet)同時供電給 VigorAP 918R 以及 4台 IP7366E 500萬畫素鏡頭,實現單一線路同時傳輸電力與數據的簡潔高效架構。在無 DHCP 環境下,團隊為此區所有端點精準規劃固定 IP,建立純粹且高資安的專屬傳輸通道。

2. 關鍵技術優勢

  • 高效能無網管型 PoE 供電架構: 採用 Edimax 無網管型 PoE 交換器,具備即插即用(Plug and Play)的高穩定特性,免除複雜的交換器軟體設定,專注於高效能電力輸出與硬體級封包轉發。集中供電模式免除了現場架設大量變壓器與插座的困擾,大幅精簡現地佈線,並降低因戶外潮濕導致的斷電風險。
  • 進階運作模式設定(Operation Mode Configuration): 針對無 DHCP 且高資安要求的封閉式監控網路,工程師深入調校設備的 Operation Mode Configuration,手動將基地台切換並鎖定為專屬的 Mesh 模式。排除動態尋址的干擾,徹底發揮點對點橋接的最大傳輸效益。
  • 精準指向性天線場型調校: 針對 70 公尺跨距進行天線場型對焦,透過最佳化訊號發射角度,大幅提升訊噪比(SNR),在無鋪設實體線路的情況下,達成等同有線網路的傳輸品質。
  • DrayTek Mesh 自動維護與零死角備援: 利用 VigorAP 內建的 Mesh 鏈路自我優化技術。系統能自動偵測戶外環境的訊號干擾並智慧調校傳輸參數,具備自動維護與自癒能力,維持最穩固的橋接骨幹。
  • 工規級突波防護與落雷防禦: 考量戶外臨時停車場無遮蔽物的環境特性,現地導入工規級突波防護(Surge Protection)與嚴謹的落雷接地工程。大幅提升設備在梅雨季與雷雨季節的電壓耐受度,確保全天候維持高可用性(High Availability)。
  • 工規級戶外防護: 設備本體具備 IP67 防塵防水 認證,無懼烈日、強風及暴雨,雙重保障監控不中斷。

交付成果

忠碁科技憑藉深厚的網路工程實力,並透過與裕笠科技的緊密技術合作,成功克服無 DHCP、複雜供電與戶外雷擊风险等嚴苛環境。透過 Edimax 無網管型 PoE 交換器與居易科技設備的高效整合,在 70 公尺的跨距空間建構出大頻寬、高穩定的無線影像傳輸通道。臨時停車場的 4路 IP7366E 500萬畫素 即時畫面已完美、流暢地整合至 DI1278 監視器主機(XVR),達成零死角的安全防護目標,深獲業主與協辦單位高度肯定。

忠碁科技,您最值得信賴的工規級無線網路與智慧監控專家。

發佈日期:

LibreOffice Calc 智慧列高調整巨集

Views: 0

🚀 SmartHeight Pro:讓 Excel/Calc 表格排版瞬間整齊

一鍵批次微調,告別高矮不一的混亂報表!

還在手動拉動每一列的高度嗎?當表格內容過多,導致自動換行後的列高顯得雜亂無章時,此範例程式是您的最佳救星。這款專為 LibreOffice/OpenOffice 打造的智慧腳本,能精準鎖定範圍,自動將列高優化至最完美的視覺比例。


✨ 核心亮點

  • ⚡ 智慧自動進位:程式會自動偵測現有高度並執行「百位數進位」邏輯,確保每一列都能獲得充足的顯示空間,視覺效果更趨統一。
  • 🛡️ 專業保底高度:內建 0.8cm (800 twips) 最低高度限制,防止列高縮過頭,確保報表文字在列印或閱讀時永不被遮蓋。
  • 📍 視覺化精準定位:獨家「跳轉追蹤」功能!在輸入起始與結束列號時,畫面會自動滾動至目標位置,讓你邊看邊設,絕不出錯。
  • 🔄 記憶常用參數:具備智慧記憶功能,自動帶入上次設定的列號範圍,重複作業僅需連按 Enter 即可完成。
  • ✅ 視覺回饋提示:執行成功後按鈕將閃爍綠燈,給予最直覺的操作確認,不再疑惑程式是否有在跑。

🛠️ 強大功能

  • 批次處理:支援自定義任意範圍,無論是 10 列還是 1000 列,瞬間處理完畢。
  • 跳轉輔助:在設定過程中自動導航,解決長表格翻找列號的痛苦。
  • 零侵入性:只針對有高度的顯示列進行優化,自動避開已隱藏的列位。
  • 簡易整合:輕鬆掛載於現有工具列或按鈕,隨開隨用。

💻 程式源碼 (Basic)

請將以下代碼複製並貼上至您的 LibreOffice/OpenOffice 巨集編輯器中:

Global g_sLastStart As String
Global g_sLastEnd As String

Sub AdjustHeightByInput
    Dim oDoc As Object
    Dim oSheet As Object
    Dim oForm As Object
    Dim oButton As Object
    Dim sStart As String, sEnd As String
    Dim nStart As Long, nEnd As Long
    Dim i As Long
    Dim currH As Long, newH As Long
    
    oDoc = ThisComponent
    oSheet = oDoc.CurrentController.ActiveSheet
    
    oForm = oSheet.DrawPage.Forms.getByIndex(0)
    oButton = oForm.getByName("CommandButton 1") 

    If g_sLastStart = "" Then g_sLastStart = "11"
    JumpToRow(oDoc, oSheet, CLng(g_sLastStart))
    
    sStart = InputBox("起始列號:", "設定範圍 (1/2)", g_sLastStart)
    If sStart = "" Then Exit Sub
    g_sLastStart = sStart

    If g_sLastEnd = "" Then g_sLastEnd = "19"
    JumpToRow(oDoc, oSheet, CLng(g_sLastEnd))
    
    sEnd = InputBox("結束列號:", "設定範圍 (2/2)", g_sLastEnd)
    If sEnd = "" Then Exit Sub
    g_sLastEnd = sEnd
    
    nStart = CLng(sStart) - 1
    nEnd = CLng(sEnd) - 1
    
    For i = nStart To nEnd
        currH = oSheet.Rows.getByIndex(i).Height
        If currH > 0 Then
            If (currH Mod 100 <> 0) Then
                newH = (Int(currH / 100) + 1) * 100
            Else
                newH = currH
            End If
            If newH < 800 Then newH = 800
            oSheet.Rows.getByIndex(i).Height = newH
        End If
    Next i
    
    oButton.BackgroundColor = RGB(144, 238, 144)
    Wait 800 
    oButton.BackgroundColor = RGB(240, 240, 240)
End Sub

Sub JumpToRow(oDoc, oSheet, nRow)
    Dim oCell As Object
    On Error Resume Next
    oCell = oSheet.getCellByPosition(0, nRow - 1)
    oDoc.CurrentController.select(oCell)
End Sub

💡 適用場景

  • 財務報表:確保所有數據列高度一致,視覺更專業。
  • 產品清單:自動調整因說明文字長度不一造成的排版混亂。
  • 列印前校對:統一高度標準,避免列印出來高低落差過大。

🎯 想提升您的工作效率嗎?立即將此巨集導入您的 Calc 環境!

發佈日期:

專業 AP-MESH 部署:兼顧舊型智慧家電與資安隔離

Views: 2

【實戰案例】廠房無線升級:忠碁科技以 Vigor 2135 + AP-MESH 打造工業級網絡架構

在現代化的廠房管理中,穩定且無死角的無線網路是生產力的基石。

近日,忠碁科技協助一家在地企業完成廠區網路重建。該廠房過去深受無線訊號不穩之苦,無論是使用 ISP 電信商提供的數據機,還是自行採購的高階路由器,始終無法解決大坪數下的訊號死角與設備斷線問題。

忠碁科技進場勘查後,針對廠房特殊環境,量身打造了「核心網關控制+無線矩陣覆蓋」的專屬方案。


🛠️ 強強聯手:核心控管與無線覆蓋的分工

廠房環境複雜且金屬設備多,容易產生干擾。我們捨棄單打獨鬥的設備,改採系統化部署:

  • 核心網關:DrayTek Vigor 2135
    負責全網流量控管、負載平衡與物件式防火牆資安防護。作為整個網路的「大腦」,Vigor 2135 透過其精準的防火牆架構,實現高效能的網路管理,確保了數據交換的高效率與穩定性,更是連線質量的保證。
  • 無線陣列:AP905 四機 MESH 部署
    採用 1 台 Root 主節點 與 3 台 Node 子節點。透過 MESH 技術彈性串聯,徹底消除廠區末端的收訊死角,確保自動化設備在廠內移動時,訊號能自動漫遊且不斷線。

🔒 精密 SSID 規劃:生產設備與行政系統的深度整合

為了兼顧作業效率與資安防護,我們在 Vigor 2135 的管控下,規劃了三組核心 SSID,並實施「條件式連線限制」,可安全連線內網事務機與 NAS:

  • DEMO (2.4G & 5G 混合):供行政與現場管理人員穿梭廠區時使用,設備依據距離自動切換最適頻段。
  • DEMO_5G:專屬高頻寬通道,提供廠務筆電、對 NAS 資料備援與事務機高效存取。
  • DEMO_2.4G (物聯網專用)
    • 專業排除相容性問題: 許多廠區使用的舊款智慧家電、智慧插座或早期掃地機器人,無法識別「混合模式」封包。我們獨立設置純 2.4GHz 頻段,確保這類老舊設備能百分之百穩定連線。

🌐 訪客隔離網路:安全與流暢的平衡

針對外來廠商或客戶拜訪,為了兼顧訪客便利與企業資安,我們透過 Vigor 的強大 VLAN 核心技術功能,規劃了第四組核心 SSID: DEMO-Guest

  • 網段隔離:配置 Class C 獨立子網 192.168.2.x 網段,實現 Layer 2 物理層級隔離,確保訪客無法偵測或滲透入存取公司內部的 NAS、伺服器或私有生產數據,確保核心資產萬無一失,達成數據層級的徹底絕緣。
  • 流量精準控管:實施智慧流量控管,在不影響廠務運作的前提下,確保設定限速與連線數限制。即便多位訪客同時接入,也能確保整體頻寬不被耗盡,達成「保證不卡速」的服務承諾,確保廠務主網路始終穩定流暢,亦提升公司專業商務形象,展現企業數位治理的專業深度。

忠碁科技:為企業架設最穩定的通訊脈絡

網路的穩定度,決定了廠房的營運效率。從 Vigor 核心網關的精準調度,到 AP905 對老舊設備的相容性設定,忠碁科技始終以專業視角出發,為企業主解決「買了設備卻連不上」的痛點。

您的廠區網路還在頻繁斷線嗎?交給忠碁科技,讓我們為您的生產線提供最強後援。

發佈日期:

電腦越用越慢?分享 PowerShell 腳本,一鍵偵測記憶體與句柄洩漏

Views: 12

🔍 記憶體去哪了?忠碁科技專用診斷工具,教你揪出消失的實體記憶體!

📖 故事的開頭…

最近電腦開機一段時間後,發現記憶體使用了近 90%,但打開工作管理員把所有進程(Processes)的記憶體加總,卻怎麼也湊不到那個數字。

忠碁為了提供相關資訊給其它智慧工具分析,並找出到底是哪個神祕黑洞吃掉了資源,忠碁參考了 網路技術文章 的分析邏輯,編寫了這支「Windows 記憶體耗盡診斷腳本」。它不只看表面數據,更能深入內核層級(Kernel)去偵測那些連工作管理員都抓不到的記憶體佔用。


💡 為什麼你需要這支腳本?(亮點分析)

一般的系統工具只能看到應用程式的佔用,但當你遇到核心層級的問題時,往往無能為力。忠碁科技 在處理企業級系統維護時,常遇到以下「記憶體黑洞」:

  • 驅動程式洩漏 (Driver Leak):非分頁池(Non-Paged Pool)異常飆高,通常是網卡或顯卡驅動作怪。
  • 網路驅動 NDU 衝突:Windows 內置監控導致的記憶體洩漏。
  • 句柄洩漏 (Handle Leak):程式碼沒寫好,瘋狂索取控制權而不歸還。
  • IO 瓶頸:大量修改中頁面(Modified Page)堆積。

✨ 本程式 5 大核心亮點:

  • 🚀 自動權限提升:內建管理員權限請求邏輯,確保獲取內核敏感數據。
  • 🧩 隱形佔用精確計算 ($gap):自動對比系統總量與進程總量,直接算出被核心、快取吃掉的差距(Gap)。
  • 🚨 智慧診斷與預警:
    • 非分頁池預警:自動判別是否超過 1GB/2GB 臨界點,並篩選出可能的第三方驅動。
    • 句柄監控:當單一進程 Handle 超過 10,000 個(例如特定印表機驅動異常),立即觸發警告。
  • 📊 專業級數據報告:執行完畢自動生成 Memory_Report.txt 與 Memory_Summary.txt,格式美觀,方便傳給 忠碁 的技術人員進行深度分析。
  • 🛠️ 實戰派建議:不僅發現問題,更會依據結果引導你使用 poolmon.exe 或 RAMMap 等進階工具。

📝 腳本源碼分享(PowerShell)

請將以下代碼複製並另存為 Memory_Diagnosis.ps1 後執行:

# --- 1. 自動提升權限 ---
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
if (-not $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Write-Host ">>> 權限不足,正在請求管理員權限..."
    $argList = "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`""
    try { Start-Process powershell.exe -ArgumentList $argList -Verb RunAs; exit } catch { exit }
}

# --- 2. 路徑設定 ---
$reportPath = "$PSScriptRoot\Memory_Report.txt"
$summaryPath = "$PSScriptRoot\Memory_Summary.txt"
$report = New-Object System.Collections.Generic.List[string]

Write-Host ""
Write-Host "===== 記憶體耗盡診斷 (使用率分析) ====="
Write-Host ""

try {
    # ========== 1. 基礎記憶體數據 ==========
    $os = Get-CimInstance Win32_OperatingSystem
    if ($null -eq $os) { throw "無法取得 Win32_OperatingSystem 資訊" }

    $totalKB = $os.TotalVisibleMemorySize
    $freeKB = $os.FreePhysicalMemory
    $usedKB = $totalKB - $freeKB
    $totalGB = [math]::round($totalKB / 1MB, 2)
    $freeGB = [math]::round($freeKB / 1MB, 2)
    $usedGB = [math]::round($usedKB / 1MB, 2)
    $usagePercent = [math]::round(($usedKB / $totalKB) * 100, 2)
    $bootTime = $os.LastBootUpTime
    $uptime = (Get-Date) - $bootTime

    $report.Add("[1] 系統基本資訊")
    $report.Add("    開機時間  : $bootTime")
    $report.Add("    運行時間  : $($uptime.Days)天 $($uptime.Hours)時 $($uptime.Minutes)分")
    $report.Add("    總記憶體  : $totalGB GB")
    $report.Add("    已用記憶體: $usedGB GB")
    $report.Add("    可用記憶體: $freeGB GB")
    $report.Add("    總體佔用率: $usagePercent %")
    $report.Add("")

    # ========== 2. 核心層級記憶體分類 ==========
    $memPerf = Get-CimInstance Win32_PerfFormattedData_PerfOS_Memory -ErrorAction SilentlyContinue
    if ($null -eq $memPerf) {
        $report.Add("[2] 核心層級記憶體分類 - 警告: 無法讀取效能計數器")
        $nonPagedMB = 0
        $pagedMB = 0
        $cacheMB = 0
        $standbyMB = 0
        $modifiedMB = 0
    } else {
        $nonPagedMB = [math]::round($memPerf.PoolNonpagedBytes / 1MB, 2)
        $pagedMB = [math]::round($memPerf.PoolPagedBytes / 1MB, 2)
        $cacheMB = [math]::round($memPerf.CacheBytes / 1MB, 2)
        $standbyMB = [math]::round($memPerf.StandbyCacheCoreBytes / 1MB, 2)
        $modifiedMB = [math]::round($memPerf.ModifiedPageListBytes / 1MB, 2)

        $report.Add("[2] 核心層級記憶體分類 (找出隱形耗用)")
        $report.Add("    非分頁池 (NonPaged) : $nonPagedMB MB (超過 1000MB 需注意)")
        $report.Add("    分頁池 (Paged)      : $pagedMB MB")
        $report.Add("    系統快取 (Cache)    : $cacheMB MB")
        $report.Add("    待命記憶體 (Standby): $standbyMB MB")
        $report.Add("    修改中頁面 (Modified): $modifiedMB MB")
    }
    $report.Add("")

    # ========== 3. 非分頁池異常診斷 (記憶體洩漏) ==========
    if ($nonPagedMB -gt 2000) {
        $report.Add("[3a] 嚴重警告:非分頁池高達 $nonPagedMB MB (正常值 < 1GB)")
        $report.Add("    這表示驅動程式或核心模組有嚴重記憶體洩漏!")
        $report.Add("")
        
        $drivers = Get-CimInstance Win32_SystemDriver | Where-Object { $_.State -eq "Running" -and $_.PathName -notlike "*\\system32\\drivers\\*" }
        $report.Add("    正在執行的第三方驅動程式 (前20個,可能是元兇):")
        $drivers | Select-Object -First 20 | ForEach-Object {
            $report.Add("        - $($_.Name) : $($_.PathName)")
        }
        if ($drivers.Count -gt 20) {
            $report.Add("        ... 共 $($drivers.Count) 個,已省略 $($drivers.Count - 20) 個")
        }
        $report.Add("")
    }

    # ========== 4. 虛擬記憶體與分頁檔 ==========
    $pageFile = Get-CimInstance Win32_PageFileUsage
    $pageTotalGB = if ($pageFile) { [math]::round($pageFile.AllocatedBaseSize / 1024, 2) } else { 0 }
    $pageUsedGB = if ($pageFile) { [math]::round($pageFile.CurrentUsage / 1024, 2) } else { 0 }
    
    $report.Add("[4] 虛擬記憶體與分頁檔")
    $report.Add("    分頁檔總大小 : $pageTotalGB GB")
    $report.Add("    分頁檔已用   : $pageUsedGB GB")
    $report.Add("    提交總量 (Commit) : $([math]::round($os.TotalAllocatedBaseSize / 1KB / 1024, 2)) GB")
    $report.Add("    提交限制 (Limit)  : $([math]::round($os.TotalVirtualMemorySize / 1MB, 2)) GB")
    $report.Add("")

    # ========== 5. NDU 網路驅動檢查 ==========
    $report.Add("[5] 網路驅動程式與 NDU 狀態")
    
    $ndu = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Ndu" -ErrorAction SilentlyContinue
    $nduStart = if ($ndu) { $ndu.Start } else { "未找到" }
    $report.Add("    NDU 服務啟動類型 : $nduStart (4為禁用,建議設為4)")
    
    $netDrivers = Get-CimInstance Win32_PnPSignedDriver | Where-Object { 
        $_.DeviceName -match "Killer|Realtek|Intel.*Ethernet|Broadcom|VMware|VirtualBox|Hyper-V" -and $_.IsRunning 
    }
    foreach ($net in $netDrivers) {
        $report.Add("    網卡驅動 : $($net.DeviceName) | 版本 : $($net.DriverVersion)")
    }
    $report.Add("")

    # ========== 6. 進程記憶體排行 ==========
    $report.Add("[6] 進程記憶體排行 (WorkingSet - 前 20 名)")
    $report.Add("    名稱                      | 數量 | WorkingSet | 私用記憶體 | 句柄數")
    $report.Add("    ----------------------------------------------------------------")
    
    $processes = Get-Process | Group-Object Name | ForEach-Object {
        $wsSum = ($_.Group | Measure-Object WorkingSet -Sum).Sum
        $pmSum = ($_.Group | Measure-Object PrivateMemorySize -Sum).Sum
        $hdSum = ($_.Group | Measure-Object HandleCount -Sum).Sum
        [PSCustomObject]@{
            Name = $_.Name
            Count = $_.Count
            WorkingSet_MB = [math]::Round($wsSum / 1MB, 2)
            Private_MB = [math]::Round($pmSum / 1MB, 2)
            Handles = $hdSum
        }
    } | Sort-Object WorkingSet_MB -Descending
    
    $processes | Select-Object -First 20 | ForEach-Object {
        $report.Add("    $($_.Name.PadRight(25)) | $($_.Count.ToString().PadLeft(4)) | $($_.WorkingSet_MB.ToString().PadLeft(8)) MB | $($_.Private_MB.ToString().PadLeft(8)) MB | $($_.Handles)")
    }
    
    $totalProcessWS = [math]::Round(($processes | Measure-Object WorkingSet_MB -Sum).Sum, 2)
    $gap = [math]::Round($usedGB * 1024 - $totalProcessWS, 2)
    
    $report.Add("")
    $report.Add("    所有進程 WorkingSet 總和 : $totalProcessWS MB")
    $report.Add("    與系統回報已使用量差距 : $gap MB (這個差距就是核心/驅動/快取吃掉的部分)")
    $report.Add("")

    # ========== 7. Handle 句柄排行 ==========
    $report.Add("[7] 進程句柄排行 (Handles - 前 10 名)")
    $report.Add("    (句柄數異常增加通常代表程式即將耗盡資源)")
    $processes | Sort-Object Handles -Descending | Select-Object -First 10 | ForEach-Object {
        $report.Add("    $($_.Name.PadRight(25)) | 句柄數 (Handles): $($_.Handles)")
    }
    $report.Add("")

    # ========== 8. 句柄洩漏診斷 ==========
    $topHandle = $processes | Sort-Object Handles -Descending | Select-Object -First 1
    $highHandleProcesses = $processes | Where-Object { $_.Handles -gt 10000 } | Sort-Object Handles -Descending
    
    if ($highHandleProcesses.Count -gt 0) {
        $report.Add("[3b] 嚴重警告:發現進程句柄洩漏!")
        foreach ($proc in $highHandleProcesses) {
            $report.Add("    🚨 $($proc.Name) 句柄數高達 $($proc.Handles) (正常值 < 5000)")
        }
        $report.Add("    這可能導致系統資源耗盡,建議採取以下措施:")
        $report.Add("    1. 立即重開機釋放被佔用的句柄")
        $report.Add("    2. 更新或移除對應的驅動程式/軟體")
        $report.Add("    3. 如果是印表機驅動(jcprinter),請更新或解除安裝")
        $report.Add("")
    } elseif ($topHandle.Handles -gt 5000) {
        $report.Add("[3c] 注意:發現句柄數偏高")
        $report.Add("    $($topHandle.Name) 句柄數為 $($topHandle.Handles) (正常值 < 5000)")
        $report.Add("    建議重開機或檢查是否有程式記憶體洩漏")
        $report.Add("")
    }

    # ========== 9. 修改中頁面異常診斷 ==========
    if ($modifiedMB -gt 10000) {
        $report.Add("[3d] 警告:修改中頁面過高 ($modifiedMB MB)")
        $report.Add("    這表示有大量記憶體正在等待寫入分頁檔")
        $report.Add("    建議增加分頁檔大小或檢查磁碟IO效能")
        $report.Add("")
    }

    # ========== 10. 記憶體趨勢警告 ==========
    if ($uptime.TotalHours -gt 48 -and $nonPagedMB -gt 1500) {
        $report.Add("[8] 系統已運行超過 2 天且非分頁池過高 -> 強烈懷疑驅動程式洩漏!")
        $report.Add("")
    }

    # ========== 寫入檔案 ==========
    $report | Out-File -FilePath $reportPath -Encoding utf8
    $processes | Sort-Object WorkingSet_MB -Descending | ForEach-Object {
        "$($_.Name.PadRight(25)) | $($_.Count.ToString().PadLeft(4)) | $($_.WorkingSet_MB.ToString().PadLeft(8)) MB | $($_.Private_MB.ToString().PadLeft(8)) MB | $($_.Handles)"
    } | Out-File -FilePath $summaryPath -Encoding utf8

    Write-Host "分析完成。"
} catch {
    Write-Host "錯誤: $($_.Exception.Message)"
}

🚀 如何使用?

  1. 將上述代碼另存為 Memory_Diagnosis.ps1
  2. 在該檔案上點擊右鍵,選擇「使用 PowerShell 執行」。
  3. 腳本會自動請求權限,並在幾秒內掃描全機狀態。
  4. 執行完成後,請查閱同資料夾下的報告檔案。

💬 結語

在技術服務的領域,數據就是真相。忠碁科技有限公司 始終致力於透過自動化與精準診斷,協助客戶排除最棘手的系統瓶頸。

這支腳本就像是電腦的 X 光機,能幫你把記憶體黑洞照得一清二楚。如果你也深受「記憶體莫名失蹤」所苦,這份邏輯精鍊而成的工具,絕對是你最好的幫手!

💡 小提醒:若診斷報告顯示 [3b] 嚴重警告:發現進程句柄洩漏,且來源是印表機相關驅動,請務必按照報告中的建議更新或重新安裝驅動程式。

發佈日期:

【故障排除】方向鍵控滑鼠?原來是它在背後搗鬼!

Views: 15

【疑難雜症】我的方向鍵被「奪舍」了?當鍵盤游標開始「橫著走」的離奇真相

在辦公室的日常中,你是否遇過這種像鬼故事般的瞬間?

小王正專心地編輯忠碁科技的報表時,準備按下「向左鍵」修正一個數字。結果,文字游標動,反且螢幕上的滑鼠指標也緩緩地向左平移。他揉了揉眼睛,以為是滑鼠壞了,拔掉線頭後再按一次——滑鼠指標依然隨著鍵盤按鍵「自動導航」。

這不是電腦壞了,更不是鍵盤罷工。今天我們要來解開這個藏在 Windows 系統裡的冷門小衝突:「消失的游標之謎:小畫家與方向鍵的愛恨情仇」。


🔍 案發現場:為什麼我的鍵盤在控制滑鼠?

通常,當鍵盤能移動滑鼠時,大家第一直覺會想到 Windows 內建的「滑鼠鍵」功能。但小王檢查了設定,發現功能根本沒開。

經過層層排查,最後發現兇手竟然是——「小畫家 (Paint)」

這是 Windows 系統中一個極其罕見的軟體衝突。在特定版本下,當小畫家程式在背景執行時,它會意外地攔截系統的輸入指令,將原本屬於「捲動」或「移動文字」的方向鍵訊號,誤判為「移動滑鼠游標」。


🛠️ 故障排除:三招讓鍵盤回歸正軌

如果你也遇到方向鍵「越權」管轄滑鼠的情況,請按照以下步驟操作:

第一步:終結「小畫家」的背景干擾

最直接的解藥就是關閉它。

  • 檢查工作列,看看是否有開啟中的小畫家視窗。
  • 將其關閉(若有未存檔的作品請先存檔)。
  • 測試: 再次按下方向鍵,看看滑鼠是否恢復正常。

第二步:重啟 Windows 檔案總管

如果關閉小畫家後依然沒恢復,這代表系統的輸入層可能還卡在錯誤狀態。

  • 同時按下 Ctrl + Shift + Esc 開啟工作管理員。
  • 在清單中找到 「Windows 檔案總管 (Windows Explorer)」
  • 點擊右下角的 「重新啟動」

第三步:正規檢查「滑鼠鍵」設定

為了保險起見,也請確認系統設定沒有被誤觸:

  • 按下 Win + I 進入「設定」。
  • 選擇「輔助使用」 > 「滑鼠」。
  • 確認「滑鼠鍵」選項處於「關閉」狀態。

💡 專家建議

電腦軟體之間的衝突千奇百怪,有時最簡單的應用程式(如小畫家)也可能影響最基本的輸入功能。

📍 溫馨提醒: 若您是長期需要精密繪圖或編輯的使用者,建議定期更新 Windows 系統。微軟會針對這類已知的「軟體衝突」發布修復修補程式。

下次看到滑鼠指標不聽使喚地亂跑,先別急著換鍵盤,看看你的「小畫家」是不是正在後台偷偷調皮喔!

發佈日期:

商用工程級(VIGI) vs 家用消費級(Tapo)

Views: 15

【深度評測】VIGI 商用工程級 vs. Tapo 家用消費級:差在哪裡?

最近常有客人打電話來,語氣充滿無奈:「老闆,我之前自己上網買了幾支旋轉 Wi-Fi 機,裝的時候很快,但現在出事要調畫面,才發現關鍵片段竟然不見了!現在想換成你說的那種拉線的主機,還來得及嗎?」

這就是我常掛在嘴邊的:「監視器裝好後,最貴的成本不是器材費,而是當你需要它,它卻沒錄到時的代價。」

很多人覺得家用型 Tapo 跟商用級 VIGI 看起來差不多,甚至覺得家用型還能轉來轉去比較先進。但事實上,家用型是設計來「看小孩、看寵物」的電子消耗品;而商用工程級則是為了「保全、證據、二十四小時防護」而存在的專業系統。兩者的差距,在裝機的那一刻就決定了穩定性的天秤。

如果您正在評估 商辦辦公室、店面工廠,或是 高價值的住家別墅 保全系統,真的不能只看「解析度」或「價格」。以下是專業工程師最重視的 10 個核心差異,揭開商用與家用系統的真實差距。


1. 儲存核心:穩定度與救援率

  • Tapo (家用):主要依賴 MicroSD 卡。SD 卡採快閃記憶體設計,在高頻率循環覆寫下極易損毀。一旦卡片故障,不僅沒錄到,資料救回機率趨近於零。
  • VIGI (商用) 🚩:原生支援 NVR (硬碟錄影機)。採用監控專用機械硬碟,具備 24/7 持續讀寫壽命,且支援 RAID 備份架構。即使一顆硬碟損壞,證據依然安全。

2. 影像壓縮技術:傳輸效率的秘密

  • Tapo (家用):一般 H.264/H.265。在同樣畫質下,檔案較大,容易造成網路塞車。
  • VIGI (商用) 💡:搭載 Smart Coding (H.265+)。專為監控環境優化,能精準過濾背景雜訊,相同畫質下可節省 75% 的頻寬與空間。對於別墅或辦公室動輒 8-16 支鏡頭的需求,H.265+ 能確保您手機遠端回放依舊流暢,不卡頓。

3. 電源供應方式 (Power Supply)

  • Tapo (家用):僅能連接變壓器。施工時牆面必須留有插座,且變壓器多不防水,容易成為系統故障的「短板」。
  • VIGI (商用) 🛠️:支援 PoE (802.3af/at)。僅需一條網路線即可同時傳輸訊號與電力。優點是施工美觀、穩定,且可透過不斷電系統 (UPS) 達成電力備援,停電也能錄。

4. 偵測精準度:AI 演算法層級

  • Tapo (家用):基礎人形/移動偵測。容易因光影變化、雨滴、小昆蟲造成誤報,導致手機通知頻繁騷擾。
  • VIGI (商用) 🛡️:專業 VCA (影片內容分析)。支援「越線偵測」、「區域入侵」、「物品遺失偵測」。AI 邏輯更嚴謹,能有效分辨真正的威脅。例如:別墅圍牆可設定越線告警;辦公室財務室可設定區域入侵,確保高度安全。

5. 辦公室級權限控管:細分層級,守護隱私

  • Tapo (家用):APP 導向。帳號權限分享採取「全有或全無」模式,無法限制特定人員的觀看權限。
  • VIGI (商用) 🏢:支援多層級用戶權限管理。在辦公室環境中,屋主或高階主管可擁有管理全權(含回放、刪除、設定);而基層員工或一般保全可設定為「僅限觀看特定區域(如大門、倉庫)」,且無法調整系統設定。這不僅落實企業資安規範,更能防止內部影像資料外洩。

6. 專業電腦端監看系統 (Security Manager):效率控管

  • Tapo (家用):以手機 APP 為主,難以在電腦端大規模、長時間同步監看多個畫面。
  • VIGI (商用) 🖥️:專為商用環境開發的 VIGI Security Manager 電腦端管理軟體。支持大螢幕多畫面分割、電子地圖模式與電視牆輸出。辦公室前台、中控室或警衛室可同時監看會議室、辦公區、倉庫與出入口。相較於手機的小螢幕,電腦端能提供更詳盡的事件檢索與即時監控,大幅提升行政與管理效率。

7. 網路協定與開放性

  • Tapo (家用):相對封閉。雖然部分支援 ONVIF,但在第三方錄影機上常出現相容性問題(如無法控制旋轉、斷訊)。
  • VIGI (商用) 🔗:全開放架構。完美支援 ONVIF 與 RTSP 協定。這代表 VIGI 攝影機能輕鬆整合進其它專業 DVR/XVR/NVR 主機或其他專業 NAS 儲存系統中,甚至與企業既有的門禁系統對接。

8. 隱私與最高安全性

  • Tapo (家用):高度依賴雲端伺服器進行驗證與轉傳。
  • VIGI (商用) 🔐:支援封閉式局域網運作。即便攝影機完全不連外網,主機依然能正常錄影與儲存。這對於隱私至上的別墅客戶或涉及商業機密的辦公室尤為重要,徹底杜絕畫面被駭客遠端截取的風險。

9. 售後與維護維度

  • Tapo (家用):屬於電子消費品,損壞通常以「換新」為主,過保後維修價值低。
  • VIGI (商用) 👨‍🔧:設計考量了「可維護性」。擁有更詳盡的系統日誌 (Log),當連線不穩時,工程師能快速判斷是網路排隊、硬體故障還是 IP 衝突,維護效率高出許多。

10. 別墅與辦公場景的長期價值

  • Tapo (家用):每年若壞一支,換新需重新設定、重新配對 Wi-Fi,幾年後系統雜亂無章。
  • VIGI (商用) 🏘️:一次佈線,十年受用。外殼採用防鏽抗 UV 材料,專為長期抗曬抗雨設計。對於追求建築美觀與長期穩定的別墅屋主,或是需要穩定資產管理的辦公室來說,總體攤提成本更低。

📊 一張圖表看完差異

比較項目 Tapo 家用系列 VIGI 商用/工程系列
建議安裝數 1~3 支 (避免頻寬崩潰) 4~256 支 (專業架構)
適用場景 套房、看寵物、臨時用途 別墅、住家、辦公室、店面、工廠
施工靈活度 需插座,電源線受限 PoE 供電,單線最遠 250 米
儲存可靠性 記憶卡 (易損壞/易被偷) NVR 硬碟 (高壽命/異地存放)
畫質壓縮 一般 H.265 專利 H.265+ (存更久更順)
權限控管 單一管理權限 多層級權限自定義 (主管/員工)
管理平台 僅手機 APP 電腦軟體 / 電視牆 / 手機 APP
警報通知 容易誤報 精準越線/區域入侵 AI 過濾
系統隱私 強制聯網 可離網運行 (最高隱私)

專業建議:
如果您是為了「好玩、方便、預算有限」而裝,家用消費級 是首選;
如果您是為了「資產安全、法律求償證據、長期穩定、別墅防護與專業辦公管理」而裝,商用工程級 才是唯一的解決方案

📍 給讀者的貼心提醒
監視系統是為了「萬一」而準備的,若在關鍵時刻因為網路掉線、管理不當或記憶卡壞軌而沒拍到,那裝再多支也沒用。我們提供專業的 VIGI 系統規劃,歡迎預約到府現勘。

發佈日期:

不需要驗證碼!教你用「蜜罐技術」阻擋 99% 機器人攻擊

Views: 7

為什麼您的 WordPress 需要「隱形防禦」?

每分鐘都有數以萬計的自動化腳本在嘗試入侵 WordPress 網站。傳統的圖形驗證碼雖然有效,卻嚴重損害了使用者的登入體驗。
忠碁科技 設計了一套非侵入式的網站 WP-LOGIN 防護機制,透過「行為特徵」來辨識人類與機器,讓您的登入頁面保持潔淨卻固若金湯。


核心防禦邏輯:三重防線

  1. 時間差驗證:利用人類輸入資料的基本生理限制,阻擋瞬間提交的自動腳本。
  2. 蜜罐陷阱 (Honeypot):在表單中埋入「人類看不見、機器人必填」的虛擬欄位。
  3. 環境偵測:透過 JavaScript 動態注入驗證碼,確認操作者具備真實瀏覽器的運行環境。

實作範例:將代碼加入您的 functions.php

請注意:為了確保防禦效果,建議您將代碼中標註為 “your_custom_name” 的部分,自行修改為隨機的英文字串。


// 1. 時間差驗證:記錄使用者開啟頁面的時間
add_action('login_form', 'tj_add_timestamp');
function tj_add_timestamp() {
    echo '<input type="hidden" name="login_start_ts" value="' . esc_attr(time()) . '" />';
}

// 2. 蜜罐陷阱:建立一個只有機器人才會填寫的欄位
add_action('login_form', 'tj_add_honeypot_field');
function tj_add_honeypot_field() {
    // 透過 CSS 讓人類使用者完全看不到此欄位
    echo '<div style="position:absolute; left:-9999px; top:-9999px;" aria-hidden="true">';
    echo '<label>請勿填寫此欄位</label>';
    echo '<input type="text" name="fax_number_custom" tabindex="-1" value="" autocomplete="off" />';
    echo '</div>';
}

// 3. 後端驗證邏輯
add_filter('authenticate', 'tj_check_login_security', 20, 3);
function tj_check_login_security($user, $username, $password) {
    if (!isset($_POST['wp-submit'])) return $user;

    // 檢查提交速度是否過快(小於 3 秒判定為機器人)
    if (isset($_POST['login_start_ts']) && (time() - intval($_POST['login_start_ts']) < 3)) {
         return new WP_Error('too_fast', '登入程序異常,請稍候再試。');
    }

    // 檢查蜜罐欄位是否有被填充
    if (!empty($_POST['fax_number_custom'])) {
         error_log("機器人攻擊攔截自: " . $_SERVER['REMOTE_ADDR']);
         return new WP_Error('bot_detected', '驗證錯誤,請重新整理頁面。');
    }

    return $user;
}

忠碁科技的專業堅持

在上述實作中,我們特別加入了 tabindex="-1"aria-hidden="true"
這是為了確保在保護安全的同時,不影響使用螢幕閱讀器的視障使用者。
真正的技術力,不僅在於防禦的深度,更在於對每一位使用者的尊重。

如果您希望針對網站進行更高階的安全佈署,歡迎聯繫忠碁科技,讓我們為您的數位資產保駕護航,這種深度客製化的防禦機制,展現了與僅依賴『現成外掛』完全不同的技術底蘊與專業層次。這不僅是防護,更是技術的藝術。

發佈日期:

打雷後監視器、家電視會因「突波」故障

Views: 23

【雷雨季必看】打雷後監視器、電視、變頻家電故障?忠碁科技教您識別「隱形殺手」:突波全解析

每逢雷雨季,許多業主常面臨監視器斷訊、路由器無法連線,或是昂貴的變頻冷氣突然顯示錯誤代碼。身為專業安防專家的 忠碁科技 提醒您:高達 90% 的設備損壞並非來自直接雷擊,而是透過電線、網路線竄入室內的「突波(Surge)」

一、 為什麼這些家電會壞?深究損壞原理

現代家電為了追求節能與智慧化,內部充滿了精密晶片敏感電路忠碁科技 在多年的維修案例中發現,這些元件僅能承受微小的電壓波動,一旦突波衝入,後果往往是災難性的。

  • 突波成因與感應雷:當閃電在附近發生,強大電磁場會在電力線、電信線(網路線/同軸線)上感應出數千伏特的瞬時高壓。
  • 擊穿電路板:這股能量會像洪水般湧入設備,擊穿控制電路板上的電容與處理器。特別是變頻冷氣、變頻冰箱及洗脫烘洗衣機的控制核心,一旦受損,維修費用動輒上萬元。
  • 復電瞬壓(復電衝擊):除了打雷,強風導致的短暫停電在「恢復供電」的瞬間,也會產生極大的突發電壓,造成尚未拔除插頭的電器因承受不住而燒毀。

⚠️ 受災戶名單:忠碁科技提醒您留意以下設備

  • 安防與網路:監視器主機(DVR/NVR)、路由器(Router)、數據機。
  • 電腦與影音:電腦主機(電源供應器首當其衝)、智慧電視、高階音響。
  • 變頻家電:冰箱、冷氣、洗衣機的「變頻控制模組」。

忠碁科技專業叮嚀:別以為關機就安全!只要插頭沒拔、線路沒接避雷器,突波依然能透過連通的線路擊毀您的貴重家電。


二、 遇到故障怎麼辦?簡易故障排除步驟

若雷雨後設備異常,忠碁科技 建議您依序執行以下檢測:

  1. 完整斷電重啟:拔掉插頭,靜置 3-5 分鐘讓電路板上的殘餘電荷釋放,再重新插回測試。
  2. 檢查前端電源變壓器:監視器、路由器與電腦主機常因變壓器(Adapter)燒毀而無法開機,更換同規格變壓器往往能救回設備。
  3. 觀察狀態燈號與音效:若監視器主機持續嗶嗶叫,可能是突波導致硬碟(HDD)受損。
  4. 排除外部連線:若電腦或監視器無法連網,可能是網路孔被突波燒壞。

三、 專業預防建議:守護您的智慧家庭

與其在損壞後支付昂貴的維修費,不如事前做好防護。忠碁科技有限公司 提供全方位的防雷解決方案:

  • 安裝專用突波保護器(SPD):在電源端與訊號端安裝避雷裝置,將過電壓有效導向地線。
  • 選用在線式(On-Line)UPS:針對伺服器與監視器主機,UPS 不僅供電更能「穩壓」,是保護精密設備的首選。
  • 雷雨季良好習慣:預知強烈雷雨前,手動拔除不需運作的精密家電插頭。
  • 確實接地工程:檢查房屋接地線是否運作正常,這是所有防雷設備發揮功效的根本。

忠碁科技 致力於為您守護每一份安全感。若您的監控系統或設備在雷雨後出現無法排解的故障,歡迎聯繫我們的專業團隊進行到府檢測與維護。

發佈日期:

【實績案例】憲兵隊監視器主機汰換關鍵細節

Views: 5

【專業實績】國防級安防標準:憲兵隊監控汰換,選用 KCA DI3576 雙碟旗艦機型

「安防的價值,在於關鍵時刻畫面還在,且清晰可辨。」

近日忠碁科技有限公司接洽了一項高規格的安防工程:憲兵隊監視器主機更換案。在這種需要 24/7 不間斷運作、容錯率趨近於零的維安場域,設備的「骨架」與「心臟」決定了一切。

⚠️ 您沒注意到的細節,可能就是一個疏失了

市面上多數 16 路主機僅支援單顆硬碟,當同時接滿 16 支鏡頭時,硬碟讀寫壓力極大,且錄影天數往往不足。本次我們精選 KCA 鎧鋒 DI3576,其核心優勢正是為專業場域設計:

  • 【雙碟 大TB 存儲量】打破空間焦慮
    支援 2 顆 3.5″ SATA 硬碟(單顆最高 12TB)。與市售常見單碟機型不同,雙硬碟設計不僅天數翻倍,更能分擔讀寫負載,確保硬碟壽命與資料安全。
  • 【16 路全方位兼容】新舊系統無縫接軌
    具備強大的 XVR 混合模式,支援 Analog 960H、AHD/TVI/CVI 到最新的 8MP (4K) IP Cam。這意味著我們能為客戶保留既有線路,同時在重要出入口升級 4K 畫質,實現「漸進式高畫質升級」。
  • 【4K 超高畫質輸出】細節無所遁形
    支援 HDMI 3840*2160 (4K) 輸出。在 16 分割畫面監控下,即便放大單一頻道,畫面依然扎實不破碎,這在身分識別與事件查證時至關重要。
  • 【五工多工運作】性能不打折
    即便在遠端監看、檔案備份、錄影回放同時進行時,主機依然能維持穩定的錄影碼流,絕不掉幀、不累格,確保監控紀錄完整性。

👨‍🔧 我們的工程堅持:細節,藏在規格表之外

在這次憲兵隊的案場中,我們不只是「換機」,更針對 16 路同軸輸入 進行優化,確保影像存證。從主機的散熱空間配置到硬碟存取效率的事宜,我們用對待軍警單位的嚴謹,對待每一位客戶的託付。

「別讓錯誤的設備挑選,縮短了您的應變時間。」
不論是工廠、社區或是高維安場域,若您也在尋找穩定、大容量且支援 4K 的監控方案,歡迎聯繫我們進行專業評估。


📊 KCA DI3576 專業規格速覽

影像輸入 16路混合輸入 (AHD/TVI/CVI/Analog/IP 8MP)
硬碟槽位 2 顆 3.5″ SATA (單顆最高 12TB,總計 24TB)
影像輸出 HDMI (4K) / VGA / BNC
備份協定 USB / 網路 (支援 P2P, FTP, RTSP)

監控升級必看:16路 4K 混合型主機 KCA DI3576,解決錄影天數不足的關鍵細節。

發佈日期:

出租屋入口監視器免佈線安裝

Views: 6

【案例分享】房東的煩惱:不想拉線也能建構頂級入口防護?

「我不想要門口拉得到處都是線,但為了房客安全,門口進出一定要看清楚。」

這是近日我們接到一位房東太太的訴求。她管理的租屋處進出人口較多,為了防範陌生人隨意留置或出入,增加租客安全感,她希望能快速加裝監視器。

🔍 需求評估:精準解決痛點

許多房東或個人住宅在安裝監視器時,最怕的就是「破壞裝潢」和「施工繁瑣」。

  • 痛點: 入口處已裝修完成,重新拉訊號線(網路線)工程浩大且不美觀。
  • 解決: 利用安裝點現有的 AC 電源,直接建構 Wi-Fi 無線監控系統

🛠️ 專業代購與規劃:我們只選穩定的組合

雖然「忠碁科技」深耕專業大型監控系統,平時不販售家用型設備,但基於服務客戶的熱忱,我們特別安排前往 順發3C 賣場 代客採購最合適的現成設備,並提供專業安裝調教:

  1. 設備精選:TP-Link Tapo C320WS 戶外防護攝影機 $1,499
    優勢:具備 2K 高畫質與全彩夜視功能,即便在深夜也能清楚辨識陌生人面貌。支援 Wi-Fi 連線(支援安全儲存最高512GB),完全省去拉網線的困擾。
  2. 存儲強化:Kingston 金士頓 microSD 512GB (150MB/s) $$2,080
    專業考量:監視器穩定度的關鍵在於記憶卡。我們捨棄廉價卡,選用讀取速度達 150MB/s 的金士頓 512GB 大容量卡,確保錄影不掉幀、長時間循環錄影不卡頓。

✨ 完工成果:安全與美觀兼具

透過「代購+專業安裝」一站式服務,房東只需支付透明的設備原價,加上些許代購與工資,就換來了:

  • 零線路外露:保持門口整潔。
  • 手機即時看:房東在家就能隨時掌握租屋處動態。

「早知道這麼簡單,我早就裝了!」 看到手機畫面出現清晰影像的那一刻,房東太太終於放下了心。


💡 忠碁科技小提醒:
市面上設備琳瑯滿目,好的設備也需要正確的安裝與網路配置。如果您有類似的需求,無論是專業大型案場,或是像房東太太這樣的居家小升級,我們都能為您量身規劃最省心的方案。