2012年5月16日 星期三

USB NetPower 8800 SDK 從 C++ 轉成 C# - Part 1

    今天要作的是用 c# 來操作 USB NET Power, 原想這是一個很小的專案,應該花2-3個小時就可以完成,結果耗了我快一整天的時間。

   先看一下這個產品


USB Net Power 8800
    原廠的配件:


   

    這是一個用電腦 USB來控制插座的通電與否, 打開包裝後,將USB線跟電腦連接起來,系統會要求裝驅動程式,結果發現這是一個用 PL2303 USB to Serial 所開發出來的產品,裝上隨附光碟片上的NetPower.exe,執行後會看到如下的畫面:

NetPower.exe
   左下方的按鈕是綠色時插座可以通電,紫色則沒有電通過。 原廠的軟體還提供排程及原端呼叫的功能。這部分我就沒有測了,我主要的工作是要把原廠附的SDK 從 C++ 改成 C#,感覺應該是一件簡單的工作,但是真正的痛苦開始了,隨附的 SDK 是用 Visual Studio 2008 的 專案檔,我電腦上只有 Visual Studio 2010 C#, 所以我無法用隨附的專案建置一個新的執行檔。我原本的想法很簡單,我只是想用"偵錯"來執行一次隨附的 SDK,這樣我就可以了解SDK,而且可以很快的改成 C#。 基於這樣的想法,我去下載了 Visual Studio 2008 C Express, 建置專案馬上出現 "afxwin.h not found" 的錯誤訊息。 有點傻眼,再到網上搜尋,我了解到要用 Visual Studio TeamSuit 去建置專案才行, 下載 Visual Studio TeamSuit 可是一件很費時間的大工程。 看來只好用人腦來執行 SDK了。