【问题标题】:iOS - How to send message from hotspot (iPhone) to connected client (IoT device)iOS - 如何从热点 (iPhone) 向连接的客户端 (IoT 设备) 发送消息
【发布时间】:2019-06-11 21:59:31
【问题描述】:
我搜索了谷歌,只在 iOS 中找到了 MultipeerConnectivity 框架,但我不知道如何使它适用于我的具体情况。
我想做的流程是这样的:
- 在 iOS 中启用个人热点
- 从树莓派连接到热点
- 客户端连接后,从 iOS 应用发送消息字符串。
假设树莓派连接已经整理好(我们为热点使用静态 SSID 和密码)
提出的问题是:
- 我应该使用哪个框架(假设已经有一个)?
- 我是否需要从应用程序中明确宣传 iOS 设备?
- 如何在树莓派连接到手机时收到通知?
- 如何向连接的客户端发送消息?
【问题讨论】:
标签:
ios
raspberry-pi
iot
personal-hotspot
【解决方案1】:
虽然我从来没有为 Pi 开发过任何东西,但我开发了 iOS 设备的网络服务浏览,所以可以给出答案。
当您连接到 iPhone 热点时,它是一个普通的 WiFi 连接,因此您可以在这里使用 Bonjour 协议 (mDNS) 来发现彼此的设备。
在 Pi 上运行 Avahi mDNS 服务,然后在 iPhone 上发现它。
这里是how to run Avahi on Pi。
Here 是如何在 iPhone 上发现 mDNS 网络服务。
使用NSNetServiceBrowser 发现网络服务后,您的 iPhone 上将拥有您的 Pi 的 IP 地址和端口,因此您可以连接到它。
【解决方案2】:
如果您正在尝试设置物联网系统,那么研究各种云产品以促进设备之间的消息传递可能会很有用。我个人过去使用过AWS IoT core 服务,并且在设备之间设置消息传递相对容易。
我不确定此设置的确切用例是什么,但使用基于云的服务来设置设备之间的消息传递将消除通过热点在设备之间直接连接的要求(pi 仍然需要一些互联网连接),并且可以更容易地在系统中启用多个设备和应用程序客户端。