我正在做一个家庭自动化项目,在这个项目上,我使用Python通过LAN连接从我的手机(Android)控制连接到覆盆子pi的灯光和继电器。在我的第一个版本中,我已经成功地使用了flask Webserver(Pi)和手机上的请求和kivy。
然而,对于我的第二个版本,我想要一个更双向的通信协议,因为目前从pi到手机的唯一方法是通过对请求的响应。第二个版本的目标之一是允许更多的自动化和其他设备切换,因此我希望我的手机在状态变化时得到通知。一种简单的方法是定期检查更改,但我想知道是否可以编写pi来通知我状态更改。这更类似于主机-主机网络,而不是主机-客户端网络。目前我能想到的唯一办法就是在我的手机和pi上安装一个网络服务器。
谢谢你的帮助。
发布于 2020-08-25 20:36:26
另一种可能性是使用MQTT。它是一种轻量级发布-订阅协议,在设计时考虑到了小型设备。
它也在TCP/IP层上运行,但当用于有功率限制或带宽限制的设备时,它往往是比传统when服务更好的选择。
您可以根据需要添加任意数量的订阅者,以实现双向通信功能。
这是一个基本的例子:https://medium.com/@gaikwadchetan93/android-real-time-communication-using-mqtt-9ea42551475d
https://stackoverflow.com/questions/63578248
复制相似问题