Web 我的网络服务器如何向我的物联网设备发送网络请求?

Web 我的网络服务器如何向我的物联网设备发送网络请求?,web,iot,Web,Iot,注意:这是一个关于概念的新手 我会尽量简短地解释我想做什么: 假设我已经将我的开发板(可以是任何你想要的;,。唯一的要求是在上面有一个WiFi模块)连接到我的电热水器 我下班回来,我想把洗澡水准备好 我唯一要做的就是访问(通过我的智能手机)mywaterhewer.herokuapp.com/manage/,然后按下按钮启动 砰!开发板已收到来自用户代理的Web请求,它将激活继电器,我的热水器现在已打开 这能做到吗 我怀疑我必须将我的开发板转到路由器,以便侦听Web请求(GET、POST、P

注意:这是一个关于概念的新手

我会尽量简短地解释我想做什么:

  • 假设我已经将我的开发板(可以是任何你想要的;,。唯一的要求是在上面有一个WiFi模块)连接到我的电热水器
  • 我下班回来,我想把洗澡水准备好
  • 我唯一要做的就是访问(通过我的智能手机)
    mywaterhewer.herokuapp.com/manage/
    ,然后按下
    按钮
    启动
    
    
  • 砰!开发板已收到来自用户代理的Web请求,它将激活继电器,我的热水器现在已打开
这能做到吗

我怀疑我必须将我的开发板转到路由器,以便侦听Web请求(GET、POST、PUT)。政府正在试图解决这类问题吗


假定已解决任何身份验证/授权和安全问题。

是的,许多物联网设备都有web服务器框架。您可以从web请求触发IO。但您需要从internet访问设备(端口转发、静态ip或dynds)。还有通用的智能手机应用程序。

为了监听HTTP请求,应该在主板上启动HTTP服务器。根据电路板类型,可能有不同的选项,例如:

  • ESP8266固件内置HTTP服务器
  • 使用Arduino和以太网 盾牌
  • 为了树莓皮
在板上启用服务器后,它将侦听指定IP和端口上的传入请求。假设您的线路板将放置在本地网络中,您必须设置端口转发到路由器上的IP:端口。您还需要来自服务提供商的外部IP才能从Heroku应用程序访问您的主板

下一步是将HTTP客户端添加到Heroku应用程序中,该应用程序将向主板发送请求。还有很多不同的选择。例如,如果您的应用程序是用Python编写的,那么就可以使用库来实现这一点


因此,当您按下Heroku提供服务的网页上的按钮时,应用程序中的HTTP客户端将向路由器的IP地址发送请求。然后,由于路由器上的端口转发,它应该到达您板上的HTTP服务器。

您的问题太广泛了,您可能会更幸运,谢谢您的回答!您还需要来自服务提供商的外部IP,以便能够从Heroku应用程序访问您的主板。。对不起,那是什么意思?静态IP?IP地址应该是公共的,而不是私有的()。某些服务提供商可能使用NAT和专用地址,这将不允许您发出传入请求。公共IP可以是静态的,也可以是动态的。对于后者,您还需要使用动态DNS服务。