我正在尝试在家庭自动化领域创建一个小型学术项目。我探索了物联网领域的各种协议和标准,发现 COAP 符合我的要求。
目的很简单:在家里有一个外围设备(如灯泡、温度传感器等)充当 COAP 服务器并公开某些资源和服务。由于 COAP 使用类似于 web 的寻址方案,因此任何具有此服务器地址的客户端都应能够与此 COAP 服务器(即外围设备)通信并控制其属性。
我对不存在于与服务器相同的 LAN 中的客户端如何发现该服务器及其暴露的资源有一定的疑问。我知道 COAP 使用 CoRE 链接格式促进资源发现,但似乎它主要使用只能在 LAN 内工作的多播。我不想把资源目录服务器放在家里,各种 COAP 服务器向它注册,然后这个目录服务器与云中的服务器通信。我希望能够在家中安装一个外围设备,该外围设备可以使用 wifi 家庭网络与远程客户端(如 COPPER)通信。但是如何从远程位置发现位于家中的 COAP 服务器,然后考虑到 COAP 服务器将位于私有 IP 地址上,然后与它交谈。仅使用 COAP 真的有可能吗?