将 Python 与 android 通信?

Communicating Python with android?

提问人:Akrit Khanna 提问时间:7/31/2017 更新时间:7/31/2017 访问量:2077

问:

我正在处理我的项目,但这里出现了一个问题,我已经准备好了我的 python 脚本,它控制树莓派 3 个 GPIO 引脚,但我不知道如何将我的 python 脚本与 Android 交互。有人告诉我,可以使用json作为这两种语言之间的桥梁来完成,但我不知道该怎么做?

安卓 python-2.7 树莓派

评论

0赞 fghj 7/31/2017
您打算使用什么硬件(USB、Wi-Fi、将 rasberry pi 和 android 设备连接到互联网)?
0赞 Akrit Khanna 7/31/2017
我希望它通过 wifi 连接。

答:

2赞 fghj 7/31/2017 #1

最常用的 android 程序通信方式是 rest api。 要在 python 端实现它,您可以使用 flasksomething

只需从主页中举例并放入:test.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    #PUT YOUR GPIO CODE HERE
    return "Hello World!"

然后安装 flask() 并运行应用程序:pip install FlaskFLASK_APP=test.py flask run -h 'IP_ADDRESS_OF_RASPERY_PI_IN_WIFI_NETWORK'

之后,将Android设备连接到WiFi,打开浏览器并插入URL 就像 Flask 建议的那样,类似的东西,你会看到 脚本处理此请求。http://IP_ADDRESS_OF_RASPERY_PI_IN_WIFI_NETWORK:5000/

之后,您可以改造 java 库并用它来编写 Android 应用程序来控制您的 Rasberry Pi。

评论

0赞 Akrit Khanna 8/10/2017
编辑:我使用 Flask 创建了 RESTapi,但现在如何使用 retrofit 库来开发应用程序?
0赞 fghj 8/10/2017
你可以在这里阅读:code.tutsplus.com/tutorials/...,但它适用于足够复杂的 rest api。可能在你的情况下,只需用简单的javacript和几个按钮回馈给用户html页面,然后使用android默认浏览器来控制你的硬件?
0赞 Akrit Khanna 9/15/2017
终于,经过几次尝试,它成功了!谢谢伙计