發表文章

目前顯示的是有「USB NET Power」標籤的文章

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

因為改 C++ 成 C#,最後再加把勁把程式改完整一點, 改完後的程式會在 Windows 登出或關機時自動將 USB NetPower的插座斷電,如果在把程式加入啟動中,Windows 開機時會自動將 USB NetPower 供電,關機或登出時,自動斷電。 完整 Source Code: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Configuration; using System.IO.Ports; namespace WindowsFormsApplication1 {     public partial class Form1 : Form     {         public const int FILE_ATTRIBUTE_NORMAL = 0x00000080;         public const uint GENERIC_READ = 0x80000000;         public const uint GENERIC_WRITE = 0x40000000;         public const int OPEN_EXISTING = 3;         // public const UInt32 INVALID_HANDLE_VALUE = 0xffffffff;         private const uint FILE_FLAG_OVERLAPPED = 0x400...

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

圖片
今天繼續 USB NetPower 8800 SDK 從 C++ 轉成 C# - Part 1 未完成的工作,先用 Google尋找一下有關PL2303的資料,結果找到了這一家 萬平科技網 ,這家公司主要是提供 USB to(轉) Serial(UART/TTL/RS232/RS485)的應用開發工具,這家的網路上有提供 PL2303 HXD原廠的4 * GPIO sample code及使用手冊 ,下載 sample code 並執行 PL2303 4 GPIO Test.exe,畫面如下: PL-2303 4 GPIO Test 很順利開啟連接埠,接著試用 GP0 及 GP1 等功能,發現 Net Power 只有用到 GP1,當 GP1 的值設成是 1 時插座供電,設成0時插座斷電: 測試 GP0 及 GP1 測到這我已經大概了解 C++ 對這 NetPower 所作的動作,現在就要來把 C++ 改成 C# ,這裡我是用 CreateFile 的 方式,由於 C# 已經不像 C++ 有提供 CreateFile 所以要用 Dllimport : [DllImport("kernel32.dll")]         private static extern IntPtr CreateFile(         string lpFileName,         uint dwDesiredAccess,         int dwShareMode,         IntPtr lpSecurityAttributes,         int dwCreationDisposition,         uint dwFlagsAndAttributes,         IntPtr hTemplateFile          ); ...

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了。