You are on page 1of 8

Arduino-HTTP Request

https://www.tutorialspoint.com/python_network_programming/python_http_request
s.htm
https://viblo.asia/p/huong-dan-tao-mot-http-server-bang-python-gGJ59orDZX2
https://www.tutorialspoint.com/python_network_programming/python_http_request
s.htm
Giới thiệu chung
• Arduino có thể đóng vai trò là web client để tạo HTTP tới web server
• Web server có thể là 1 website, Web API hoặc REST API, Web service
• Nội dung
• Khái niệm web client và web server
• Cách tạo HTTP request (GET và POST)
• Gửi dữ liệu đến 1 web server
• Arduino code

https://arduinogetstarted.com/tutorials/arduino-http-request
Web Client và Web Server
• Khi truy cập website từ máy tính hoặc điện thoại → gõ địa chỉ web
(URL) trên trình duyệt web → webpage sẽ xuất hiện trên
PC/smartphone
• Quá trình thực hiện
• PC/smartphone (web client) tạo 1 HTTP request đến web server
• Web server đáp trả 1 HTTP response tới PC/smartphone
• PC/smartphone nhận HTTP response và hiển thị HTTP response lên màn hình
• Ví dụ về hệ thống IoT dùng Arduino (web client) gửi/nhận dữ liệu
tương tự như PC/Smartphone
Địa chỉ web (URL)
• Địa chỉ web gồm 2 thành phần: hostname và pathname của web
server. Hostname có thể thay thế bằng địa chỉ IP của web server, ví
dụ: example.com/test.
• Trong HTTP GET request, URL có thể gồm query string, ví dụ
example.com/test?temperature=20&humidity=70
• query string: là 1 tập các cặp name=value trong HTTP request để gửi
dữ liệu từ web client lên web server, các cặp name=value sẽ cách
nhau bằng dấu “&”
ví dụ
HTTP Request
• HTTP request gồm • Các thông tin cần thiết để thực
• HTTTP request header hiện HTTP request
• HTTP request body (optional) • Địa chỉ web (URL)
• Request method: GET và POST là • Request method (POST or GET)
2 phương pháp phổ biến • HTTP port mà server dung (
thường là 80 cho HTTP)
• GET: nhận dữ liệu từ server
• (tùy chọn) Data được gửi lên web
• POST: gửi dữ liệu lên server server (query string)
(tuy nhiên GET cũng có thể được
dùng để gửi data lên web server)
Cách tạo HTTTP request
1. Khai báo request method, HTTP port, 4. Gửi HTTP request (nếu kết nối thành công đến web server)
hostname, pathname, quering string

5. Đọc dữ liệu phản hồi từ web server


2. Khai báo đối tượng web client

3. Kết nối tới web server


Cách gửi dữ liệu lên Web Server
• Có thể kèm dữ liệu vài HTTP request, định dạng dữ liệu tùy thuộc vào
HTTP request method
• HTTP GET request
• Chỉ có thể gửi dữ liệu theo định dạng query string
• Data được gắn vào pathname
• HTTP POST request
• Có thể dữ lệu theo bất kỳ định dạng nào (query string, Json, XML, image…)
• Data trong phần HTTP request body
Cách gửi dữ liệu lên Web Server
• Tạo query string

• HTTP GET: thêm query string vào pathname

• HTTP POST: gửi query string vào HTTP request body

You might also like