首页 > 解决方案 > 树莓派和android之间通过wifi的两种方式通信

问题描述

我正在做一个家庭自动化项目,我在这个项目上使用 Python 通过 LAN 连接控制从我的手机(Android)连接到树莓派的灯和继电器。我在我的第一个版本中使用烧瓶 Webserver(Pi) 并在我的手机上请求和 kivy 取得了成功。

然而,对于我的第二个版本,我想要一个更多的双向通信协议,因为目前从 pi 获取数据到手机的唯一方法是通过对请求的响应。第二个版本的目标之一是允许更多的自动化和其他设备切换,因此我希望我的手机在状态变化时得到通知。一种方法是定期检查更改,但我想知道是否可以改为对 pi 进行编程以通知我状态更改。这将更类似于主机-主机网络而不是主机-客户端。目前我能想到的唯一方法是在我的手机和 pi 上安装一个网络服务器。

谢谢您的帮助。

标签: androidnetworkingraspberry-pihome-automation

解决方案


另一种可能性是使用MQTT。这是一个轻量级的发布-订阅协议,设计时考虑到了小型设备。

它也运行在 TCP/IP 层上,但是当用于具有功率限制或带宽限制的设备时,它往往是比传统 Web 服务更好的选择。

您可以根据需要添加任意数量的订阅者,以实现双向通信功能。

这是它的一个基本示例:https ://medium.com/@gaikwadchetan93/android-real-time-communication-using-mqtt-9ea42551475d


推荐阅读