我想使用httprequest从我的网站向我的arduino发送一个值。
如图片说明,我想从设备进入我的网站(让我们说移动电话)并从我的网站(网络服务器)向我的arduino发送请求
所以我遇到了这个问题:
1-如何在没有dns的情况下解决arduino,我的arduino应该有一个固定的ip地址,还有其他方法吗?
2-我需要让网站发送请求的PHP代码是什么?
我知道我可以使用httpclient将arduino连接到web,但我想要反向过程,即将网站连接到arduino(作为客户端的网站和作为服务器的arduino)
无论如何要做到这一点?
谢谢你,抱歉我的英文不好答案 0 :(得分:1)
我最近与Raspberry Pi进行了类似的项目。但这并没有什么不同。
首先要小心我的解决方案。如果他们有您的IP和端口,任何人都可以加入您的设备。它可能不是最好的解决方案,但它的效果非常好。
所以我做的是,我已经将DynDNS设置到我的路由器,这样我就不必每次都更改脚本中的IP。您可以从提供商处获得DynDNS,也可以使用免费服务No-IP。接下来,我通过路由器上的设置为我的arduino / pi设置静态本地IP地址。然后我还将port-forwarding设置为arduino / pi。
然后你应该可以通过互联网访问你的arduino / pi。如果你有这个,你也可以通过你想要的任何网站控制它。
要在PHP中完成HTTP请求,将会有很多可能的解决方案。但我更喜欢这个:
$response = file_get_contents(YOUR_DYNDNSIP_AND_PORT)
https://www.w3schools.com/php/func_filesystem_file_get_contents.asp
您还可以通过此功能获得回复。
要保护您自己的网络,您可以使用HTTP基本身份验证,您必须为请求添加用户名和密码。这使得访问你的arduino变得困难。
我希望这对你有所帮助。