2017-05-25 94 views
1

我期待建立一個小型Web應用程序在瀏覽器中的事情,我連接到樹莓派的GPIO控制,我不知道去,所以我想一些辦法如果可能,建議。遙控器Web應用程序的樹莓派

只是爲了得到一個概念去,我期待只對應用程序的幾個按鈕,「上」,「關閉」,左或右。

我可以用PHP和HTML編程,做一些javascript,jquery和python。

我看着用Python語言編寫的蟒蛇服務器端有一些不錯的庫來控制的GPIO,這是不是太困難。

我有點失落是在前端。

想到什麼第一種是使用Django和將允許也使用Python。

而且,不知道這甚至有可能,但我認爲我可以做一些事情使用JavaScript和AJAX等。

基本上,使用事件監聽器,所以當我按下一個按鈕時,如果我按住它,它會寫入和xml或某些文件的gpoi上的值,服務器中的python腳本將不斷地從中讀取,當這個gpoi up值被python腳本拾取時,它激活GPIO,如果我釋放按鈕,它將轉到一個默認值,該值將被gpio降低以禁用GPIO。

不知道這甚至有可能,所以我會如果有可能欣賞一些建議,也許例子代碼。

乾杯。

回答

0

我假設你正在Raspberry Pi上運行Django服務器。

寫入文件不應該是必要的。您可以設置一些視圖,在後面切換輸出,如下所示。

def turn_on(request, channel): 
    if request.method == "POST": 
     GPIO.output(channel, GPIO.HIGH) 
     return HttpResponse("Turned on!") 

獲取輸入狀態可能需要一點Javascript。您可以創建一個視圖來獲取特定輸入的狀態,然後返回結果。使用ajax每5秒左右輪詢一次該視圖並更新頁面的相關部分。就像這樣:

def get_status(request, channel): 
    status = GPIO.input(channel) 
    return HttpResponse("Channel {0} status: {1}".format(channel, status)) 

如果你想保持連接打開即時更新有點麻煩。如果你需要這個,看看Django頻道。

這顯然是一個最小的例子,但它應該讓你開始。