2016-11-22 29 views
0

我創建了一個用於控制Raspberry Pi的GPIO引腳的kivy gui。在kivy應用程序中,我導入我的python文件,其中我定義了用於設置輸出和計算的函數。現在我想用一個Web界面控制這些功能,並且在觸摸屏上與我的本地GUI平行。我的問題是我如何獲得我運行的框架(如Flask)和現有的已經本地使用的函數之間的連接,有沒有推薦的方法?帶網絡接口的Python控制kivy應用程序

回答

0

我站在類似的問題面前,所以這裏有我的想法:

從理論上來說應該是可能的燒瓶和kivy在單獨的線程一個應用程序相結合,但我不會事件儘量做到因爲它們是相當大的框架,調試將會是壓倒性的(或者使它與nginx一起工作)。

選項1個

使用兩個單獨的應用程序 - kivy和燒瓶。 Kivy作爲主人,負責所有邏輯,控制GPIO等。每次加載(GET)頁面或POST更改時,燒瓶正在通過grpc調用kivy以獲取當前狀態,計算或設置GPIO。

選項2

使用三個應用程序。 其中之一是控制GPIO,進行計算並具有所有邏輯。另外兩個應用程序是flask和kivy,它們通過grpc與第一個應用程序進行通信。

選項3

任何以前用的數據庫。

在我的情況下,我將使用數據庫的第二個選項,但主要是因爲我需要重置之間的數據(過去的事件,配置)的持久性,以便我將使用某些數據庫(mongo)作爲通信媒介。也許我還會介紹一些grpc - 主應用程序將具有updateConfig函數,以便它不必檢查所有時間DB的更改