2015-12-04 71 views
0

我正在爲家庭自動化製作通用Windows應用程序,應用程序UI和硬件接口已準備就緒並正在運行 我正在使用樹莓派2作爲gpio ,我打算使用相同的應用程序在我的Windows手機觸發在同一本地網絡的ON/OFF請求使用本地主機處理gpio值

的GPIO硬件接口完成,並正在

我是停留在一個點「如何做我的手機應用程序和覆盆子之間的溝通我PI?」 他們連接到相同的無線網絡 我是一個C#/ .net人,並且任何通過互聯網可用的解決方案是用於Python/Java。

回答

0

針對您的問題有幾種解決方案,但沒有一種只涉及覆盆莓方面的C#。我所做的(是可用的解決方案之一,但可以選擇使用pyton)是使用Node.JS並在樹莓派上運行服務器並連接到該服務器(它可以是任何類型的服務器TCP服務器,遠程登錄,網絡等),並從C#連接到該服務器,然後與您的GPIO正常交互。 Node.JS中有庫(https://www.npmjs.com/package/pi-gpio)用於控制GPIO,因此您可以編寫代碼來處理來自C#應用程序的連接,並在連接時打開/關閉某個GPIO。

類似以下內容將在樹莓派上創建一個TCP服務器,並從您的C#程序中連接到該IP(樹莓IP)和端口(1337)並執行任何您想要的操作。

它值得花時間學習Node.JS(如果你已經知道C#,它不會很複雜,但是需要時間來習慣語法,但是在你知道它之後你可以做很多事情作品)。

var net = require('net'); 

var server = net.createServer(function(socket) { 
    socket.write('Echo server\r\n'); 
    socket.pipe(socket); 
}); 

server.listen(1337, '127.0.0.1'); 
0

NodeJs可能是一個很好的便攜式選擇。 但是,如果您想從C#,ASP.NET中的Windows執行此操作,請查看Nusbio設備。 您可以從網站控制gpios。查看使用Nancy Web服務器的Console演示。