我想知道是否可以使用sm ESP 8266或任何其他IoT设备将文件发送到网站。我打算将IoT设备作为客户端。网站上的PHP或脚本文件将充当服务器。看起来IoT设备正在将文件上传到网站。

#1 楼

通常,文件是使用HTTP POST从Web表单上载的(我认为这就是您说文件上载时的想法)。如RFC 1867所定义,请求的确切格式通常看起来像这样。

ESP8266有一个Arduino库,其中包含一个名为ESP8266HTTPClient的模块。如果您感兴趣的话,这里有一个基本示例,可以帮助您熟悉该库。

ESP8266论坛的用户'gbafamily1'创建了一个示例,其中发布了一个256字节文件data.binposttestserver.com。适应您的需求应该相对容易一些,并且我希望在服务器端HTML上使用类似的方法:

 <form action="posttestserver.com" method="post" enctype="multipart/form-data">
    <label for="file">Upload File:</label>
    <input type="file" name="testfile" />
    <input type="submit" />
</form>
 


然后,您可以在PHP中实现服务器端以接受要上传的文件。 PHP文档中有一个参考,POST发送的文件存储在$_FILES中。在这个示例中,上面的代码将允许浏览器上传,而ESP8266论坛提供的代码将允许您从IoT设备上传。

评论


我实际上是php的新手,您能用一个简单的php代码来帮助您吗,它将接受esp8266的文件。或者,如果您有可以修改的示例。

– Jojo
17年6月6日在17:41

@Jojo PHP文档包含一个很好的参考资料和示例集。您应该能够从那里学到什么。如果您有任何问题,最好在Stack Overflow上询问,因为PHP本身并不是一个真正的IoT主题。

–Aurora0001♦
17年6月6日在17:43

#2 楼

尝试使用此Web服务器进行IoT和实时GPS跟踪,https://iot.electronixforu.com
它支持ESP8266的直通模式,这意味着您可以尽可能快地发送数据(通常为1秒间隔),详细信息可在https://electronixforu.com/iot.html
获得