So schreiben / posten Sie Dateien über ESP 8266 auf den Website-Server

7

Ich möchte wissen, ob es eine Möglichkeit gibt, Dateien mit sm ESP 8266 oder einem anderen IoT-Gerät an eine Website zu senden. Ich beabsichtige, dass das IoT-Gerät der Client sein wird. Eine PHP- oder Skriptdatei auf der Website fungiert als Server. Es sieht so aus, als würde das IoT-Gerät die Dateien auf die Website hochladen.

Jojo
quelle

Antworten:

8

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.binan 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.

Aurora0001
quelle
Ich bin eigentlich ein Neuling in PHP, können Sie mit einem einfachen PHP-Code helfen, der die Datei von esp8266 akzeptiert. Oder wenn Sie ein Beispiel haben, das angepasst werden kann.
Jojo
@Jojo Die PHP-Dokumentation enthält eine gute Referenz und eine Reihe von Beispielen . Von dort sollten Sie lernen können, was Sie brauchen. Wenn Sie Probleme haben, werden Sie am besten bei Stack Overflow gefragt , da PHP an sich kein IoT-Thema ist.
Aurora0001
0

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

Tarique
quelle