2016-11-22 31 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的更改