Cách truyền dữ liệu từ máy tính xuống Arduino Ethernet thông qua chuẩn TCP/IP

Ngày viết: 20/06/2023 Viết bởi: Phạm Duy Phước

Đây là một bài viết hướng dẫn cách truyền dữ liệu giữa máy tính và Arduino thông qua giao thức TCP/IP. Bạn có thể áp dụng các bước sau đây để thực hiện kết nối này.

Bước 1: Chuẩn bị phần cứng và môi trường phát triển
- Kết nối Arduino của bạn với máy tính thông qua cổng USB.
- Cài đặt Arduino IDE trên máy tính của bạn và kết nối Arduino thành công.

Bước 2: Tạo kết nối TCP/IP với Arduino
- Trong Arduino IDE, mở một ví dụ đơn giản như "Ethernet > WebServer" để tạo một máy chủ web cơ bản trên Arduino.
- Cung cấp địa chỉ IP tĩnh cho Arduino bằng cách chỉnh sửa địa chỉ IP trong ví dụ. Ví dụ: `IPAddress ip(192, 168, 1, 100);`.
- Tải chương trình lên Arduino và đảm bảo rằng máy chủ web được khởi chạy thành công trên Arduino.

Bước 3: Viết chương trình truyền dữ liệu từ máy tính
- Mở trình soạn thảo mã trên máy tính (ví dụ: Notepad, Sublime Text) và tạo một tệp văn bản mới.
- Bắt đầu chương trình bằng cách thêm các thư viện sau vào đầu tệp:
 #include <Ethernet.h>
#include <SPI.h>

- Khai báo các biến global:

```cpp
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Địa chỉ MAC của Arduino
IPAddress serverIP(192, 168, 1, 100); // Địa chỉ IP của Arduino
EthernetClient client; // Đối tượng client Ethernet
```

- Trong hàm `setup()`, khởi tạo kết nối Ethernet:

```cpp
Ethernet.begin(mac);
delay(1000);
```

- Trong hàm `loop()`, viết mã để truyền dữ liệu từ máy tính đến Arduino:

```cpp
void loop() {
  if (client.connect(serverIP, 80)) { // Kết nối đến địa chỉ IP của Arduino và cổng 80
    client.println("GET /?data=HelloWorld HTTP/1.1"); // Gửi dữ liệu tới Arduino
    client.println("Host: 192.168.1.100"); // Địa chỉ IP của Arduino
    client.println("Connection: close");
    client.println();
    delay(500);
    client.stop(); // Đóng kết nối
  }
  delay(5000); // Chờ 5 giây trước khi gửi dữ liệu tiếp theo
}
```

Bước 4: Chạy chương trình truyền dữ liệu
- Lưu tệp với phần mở rộng `.ino`



Bình luận

Bài viết liên quan