首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用coap进行远程资源发现

使用coap进行远程资源发现
EN

Stack Overflow用户
提问于 2016-05-15 22:58:56
回答 2查看 1.1K关注 0票数 1

我正试图在家庭自动化领域创建一个小的学术项目。我探索了IOT领域的各种协议和标准,发现COAP与我的需求非常接近。

目的很简单:在家里有一个外围设备(如灯泡、温度传感器等),充当COAP服务器并公开某些资源和服务。由于COAP使用类似于web的寻址方案,任何具有此服务器地址的客户端都应该能够与此COAP服务器(即外围设备)对话并控制其属性。

对于与服务器不在同一个LAN中的客户端如何能够发现此服务器及其所暴露的资源,我有一定的怀疑。我理解COAP使用CoRE链接格式促进资源发现,但它似乎主要使用只能在局域网内工作的多播。我不想把资源目录服务器放在家里,把各种COAP服务器注册到它,然后这个目录服务器与云中的服务器对话。我希望能够在家中安装一个外围设备,它可以通过wifi家庭网络与远程客户端(如铜)通信。但是,考虑到COAP服务器将位于私有IP地址上,如何从远程位置发现坐在家中的COAP服务器,然后与其交谈。这真的有可能只使用COAP吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-25 12:44:15

当您坐在NAT后面时,这既不允许直接发现,也不允许连接;CoAP不会试图神奇地刺穿它。

最受欢迎的出路是:

  • 使用IPv6 (忘记使用NAT)和(至少有选择地)禁用防火墙。您仍然只能在本地进行发现,但是一旦发现,您可以从任何地方连接到您的设备。
  • 使用VPN使您的移动设备就像在NAT中一样。
  • 在路由器上运行一个CoAP代理,并将端口打开,并告诉移动设备通过该代理进行连接。这也不能给你当地的发现。

对于代理和IPv6情况,仍然可以在本地网络中运行资源目录。这不需要连接到任何云服务,也不需要接受任何云服务的注册,但它可以帮助您完成您想要使用多播进行的发现,但由于移动设备太远而无法完成。资源目录和代理都应该配置为不与本地网络以外的设备对话,除非它们已经过身份验证。

票数 1
EN

Stack Overflow用户

发布于 2018-04-06 12:56:46

让路由器接受HTTP请求,并在您的系统中运行HTTP代理,通过您的IP思想HTTP代理访问您的CoAP设备。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37244579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档