如何通过互联网将数据从 python 脚本发送到 android 应用程序,反之亦然。
How to send data from python script through Internet to android app and vice versa.
我正在 python 中编写 raspberry pi。我想通过互联网控制我的 pi,因为我需要将数据从我的 android 应用程序发送到我的 Pi 上的 运行 python 脚本。例如,如果我在 android 应用程序上单击按钮 B,raspberry pi 的 python 脚本应该通过 Internet 获取字符串或整数形式的数据“12345”。我将比较接收到的数据并在 python 中采取必要的行动。同样,反之亦然。如果我单击由 tkinter 创建的 python 中的一个按钮,python 应该通过 Internet 向我的 android 应用程序发送一些数据,比如“67890”作为字符串或整数。我会将收到的数据与我的 android 应用程序进行比较,并采取必要的措施。在 java 中创建的 android 应用程序和 Pi 上的 python 脚本之间发送和接收数据的持续过程应该继续。我已经创建了没有这个通信部分的 python 程序和 android 应用程序。怎么才能发数据呢??
您不应该从通过 Internet 进行通信开始。一开始可以使用您的本地 WiFi(代码保持不变,但您不能将您的 RPi 设置为带有 DynDNS 之类的服务器。如果您不知道您使用的是什么,这也很危险正在做)。
然后从 python 部分开始。您的 Pi 充当您的应用程序的服务器。因此,请查看带有 Python 的 ServerSockets:like this example。您可以在此处定义服务运行所在的端口。
您的 python-代码现在将在该端口上等待传入连接。
现在,在您的 Android 设备上,您需要连接到该插槽。
Socket sock = new Socket("IP-ADDRESS_OF_YOUR_RPi", PORT);
现在您的 Android 已通过您的本地 WiFi 连接到您的树莓派(假设两者在同一网络中)
然后您可以通过输入和输出流在您的 Android-应用程序和您的 Python-服务器之间进行通信。
但是您绝对应该研究一下服务器-客户端和 TCP 套接字通信。将此应用程序连接到互联网是您应该做的最后一步(因为互联网服务器上的开放端口是对犯罪分子的邀请)。
我正在 python 中编写 raspberry pi。我想通过互联网控制我的 pi,因为我需要将数据从我的 android 应用程序发送到我的 Pi 上的 运行 python 脚本。例如,如果我在 android 应用程序上单击按钮 B,raspberry pi 的 python 脚本应该通过 Internet 获取字符串或整数形式的数据“12345”。我将比较接收到的数据并在 python 中采取必要的行动。同样,反之亦然。如果我单击由 tkinter 创建的 python 中的一个按钮,python 应该通过 Internet 向我的 android 应用程序发送一些数据,比如“67890”作为字符串或整数。我会将收到的数据与我的 android 应用程序进行比较,并采取必要的措施。在 java 中创建的 android 应用程序和 Pi 上的 python 脚本之间发送和接收数据的持续过程应该继续。我已经创建了没有这个通信部分的 python 程序和 android 应用程序。怎么才能发数据呢??
您不应该从通过 Internet 进行通信开始。一开始可以使用您的本地 WiFi(代码保持不变,但您不能将您的 RPi 设置为带有 DynDNS 之类的服务器。如果您不知道您使用的是什么,这也很危险正在做)。
然后从 python 部分开始。您的 Pi 充当您的应用程序的服务器。因此,请查看带有 Python 的 ServerSockets:like this example。您可以在此处定义服务运行所在的端口。 您的 python-代码现在将在该端口上等待传入连接。
现在,在您的 Android 设备上,您需要连接到该插槽。
Socket sock = new Socket("IP-ADDRESS_OF_YOUR_RPi", PORT);
现在您的 Android 已通过您的本地 WiFi 连接到您的树莓派(假设两者在同一网络中)
然后您可以通过输入和输出流在您的 Android-应用程序和您的 Python-服务器之间进行通信。
但是您绝对应该研究一下服务器-客户端和 TCP 套接字通信。将此应用程序连接到互联网是您应该做的最后一步(因为互联网服务器上的开放端口是对犯罪分子的邀请)。