Cách ghi / đăng các tập tin lên máy chủ trang web thông qua ESP 8266


7

Tôi muốn biết liệu có cách nào để gửi tệp đến một trang web với sm ESP 8266 hoặc bất kỳ thiết bị IoT nào khác không. Tôi dự định rằng thiết bị IoT sẽ là khách hàng. Một tệp PHP hoặc tập lệnh trên trang web sẽ hoạt động như máy chủ. Nó sẽ trông giống như thiết bị IoT đang tải các tệp lên trang web.

Câu trả lời:


8

Thông thường, các tệp được tải lên bằng HTTP POST từ một biểu mẫu web (Tôi cho rằng đó là những gì bạn nghĩ đến khi bạn nói tải lên tệp). Định dạng chính xác của yêu cầu có xu hướng trông hơi giống như thế này , như được định nghĩa trong RFC 1867 .

ESP8266 có một thư viện Arduino , chứa một mô-đun gọi là ESP8266HTTPClient. Có một ví dụ cơ bản có sẵn ở đây , để giúp làm quen với thư viện, nếu bạn quan tâm.

Người dùng 'gbafamily1' từ ESP8266 diễn đàn đã tạo ra một ví dụ mà POSTS một tập tin 256 byte, data.binđể posttestserver.com. Việc điều chỉnh điều này theo nhu cầu của bạn tương đối dễ dàng và tôi hy vọng sẽ sử dụng một cái gì đó như thế này trên HTML phía máy chủ:

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

Sau đó, bạn có thể triển khai phía máy chủ trong PHP để chấp nhận tệp đang được tải lên. Có một tài liệu tham khảo có sẵn trong tài liệu PHP và các tệp được gửi bởi POST được lưu trữ trong $_FILES.

Với ví dụ này, mã ở trên sẽ cho phép các trình duyệt tải lên và mã được cung cấp bởi các diễn đàn ESP8266 sẽ cho phép bạn tải lên từ thiết bị IoT.


Tôi thực sự là một người mới sử dụng php, bạn có thể giúp với một mã php đơn giản sẽ chấp nhận tệp từ Esp8266. Hoặc nếu bạn có một ví dụ có thể được điều chỉnh.
Jojo

@Jojo Tài liệu PHP chứa một tài liệu tham khảo tốt và tập hợp các ví dụ . Bạn sẽ có thể học những gì bạn cần từ đó. Nếu bạn có bất kỳ vấn đề nào, họ sẽ được hỏi tốt nhất tại Stack Overflow , vì bản thân PHP không thực sự là một chủ đề IoT.
Aurora0001

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.