我目前正在开发一个利用 3 Raspberry Pi和Android应用程序的项目。
1的RPI 用作接入点(2个RPI和Android将连接到此AP)-设备之间的通信通过WiFi完成。 / p>
其他 2个RPI中都装有传感器,可向Android应用程序提供数据。
到目前为止,我已经能够使用Web套接字将数据从Android应用程序发送到RPI,其中我的RPI将使用python脚本侦听套接字,以接收来自Android应用程序的传入数据。
但是,这正好与我打算做的相反,因为我试图使Android应用程序成为将从安装有传感器的2 RPI传入的数据的侦听器。
对于这个解决方案,我是否可以进一步研究Web套接字(因为我显然是这个领域的初学者),或者知道带有传感器的RPI数量会增加,是否有更好的方法让我实现?适当的时间?
谢谢!
答案 0 :(得分:0)
我已经使用MQTT协议完成了此操作。 MQTT协议是基于发布用户的消息传递协议,它建立在TCP / IP协议之上。 在需要小代码占用空间且数据传输大小应该较小的用例中,建议这样做。您可以详细了解here。
在基于mqtt的数据通信方案中,您需要一个mqtt代理-它可以是作为接入点的raspberry pi,所有其他raspberry pis和您的android设备都可以使用此代理连接发送和接收数据。
在MQTT中,您可以定义主题。一些设备可以订阅到一个主题,而其他一些设备发布有关该主题的数据时,订阅者会收到数据。 了解有关发布订阅者方法here的更多信息。
有用于Android和python的库,可以使用MQTT消息传递协议。看看这些例如:
paho-mqtt for python
paho.mqtt.android for android
我在上面提供的链接中提供了示例代码。