Raspberry Pi 3 与 Android 设备之间的实时数据通信
Real time data communication between RaspberryPi 3 and an Android device
我想在 RaspberryPi 3 和 android 应用程序之间发送数据,最好是通过 Wi-Fi。
我之前在 RPi 1 模型 B 和 android 之间发送过数据,但通过 USB 网络共享。现在使用 RPI 3 model B,所以想到通过 Wi-Fi 发送。
谁能指导我如何操作?任何小帮助表示赞赏。
由于您已经在 Java 中为 Android 客户端编程,一种前进的方法可能是在 Pi 上安装 Java,然后使用最简单的基本功能插座。不过,这取决于您的用例。
以Oracle的All About Sockets为例,在Pi上用ServerSocket写一个服务器端程序到运行:
try (
ServerSocket serverSocket = new ServerSocket(portNumber);
Socket clientSocket = serverSocket.accept();
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
) {
while (dataProvider.isDataAvailable()) {
out.println(dataProvider.getData());
}
} catch (IOException e) {
// TODO
}
然后从 Android 应用程序连接到服务器:
try (
Socket socket = new Socket(hostName, portNumber);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
) {
while (true) {
parseData(in.readLine());
}
}
我想在 RaspberryPi 3 和 android 应用程序之间发送数据,最好是通过 Wi-Fi。
我之前在 RPi 1 模型 B 和 android 之间发送过数据,但通过 USB 网络共享。现在使用 RPI 3 model B,所以想到通过 Wi-Fi 发送。
谁能指导我如何操作?任何小帮助表示赞赏。
由于您已经在 Java 中为 Android 客户端编程,一种前进的方法可能是在 Pi 上安装 Java,然后使用最简单的基本功能插座。不过,这取决于您的用例。
以Oracle的All About Sockets为例,在Pi上用ServerSocket写一个服务器端程序到运行:
try (
ServerSocket serverSocket = new ServerSocket(portNumber);
Socket clientSocket = serverSocket.accept();
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
) {
while (dataProvider.isDataAvailable()) {
out.println(dataProvider.getData());
}
} catch (IOException e) {
// TODO
}
然后从 Android 应用程序连接到服务器:
try (
Socket socket = new Socket(hostName, portNumber);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
) {
while (true) {
parseData(in.readLine());
}
}