Normalerweise werden Dateien mithilfe eines HTTP-POST aus einem Webformular hochgeladen (ich gehe davon aus, dass Sie daran denken, wenn Sie das Hochladen von Dateien sagen). Das genaue Format der Anforderung sieht in der Regel ungefähr so aus , wie in RFC 1867 definiert .
Der ESP8266 verfügt über eine Arduino-Bibliothek , die ein Modul namens enthält ESP8266HTTPClient
. Hier finden Sie ein grundlegendes Beispiel , um sich bei Interesse mit der Bibliothek vertraut zu machen.
Der Benutzer 'gbafamily1' aus den ESP8266-Foren hat ein Beispiel erstellt , in dem eine 256-Byte-Datei data.bin
an POST gesendet wird posttestserver.com
. Es sollte relativ einfach sein, dies an Ihre Bedürfnisse anzupassen, und ich würde erwarten, dass so etwas im serverseitigen HTML verwendet wird:
<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>
Anschließend können Sie die Serverseite in PHP implementieren, um die hochgeladene Datei zu akzeptieren. In der PHP-Dokumentation ist eine Referenz verfügbar , und per POST gesendete Dateien werden in gespeichert $_FILES
.
In diesem Beispiel können Browser mit dem obigen Code hochgeladen werden, und mit dem in den ESP8266-Foren bereitgestellten Code können Sie vom IoT-Gerät hochladen.
Probieren Sie diesen Webserver für IoT- und Echtzeit-GPS-Tracking aus, https://iot.electronixforu.com. Er unterstützt den Passthrough-Modus von ESP8266. Dies bedeutet, dass Sie Daten so schnell wie möglich senden können (normalerweise 1 Sekunde Intervall). Details finden Sie unter https : //electronixforu.com/iot.html
quelle