Cách đặt địa chỉ IP tĩnh của ESP32

Cach Dat Dia Chi Ip Tinh Cua Esp32



Địa chỉ IP là một dãy số duy nhất có thể xác định một thiết bị trong mạng. Nhiều thiết bị và máy tính sử dụng địa chỉ IP để giao tiếp với nhau. IP tĩnh địa chỉ giống như một địa chỉ cố định giống như địa chỉ đường phố. Nó chỉ ra rằng các địa chỉ IP tĩnh không thay đổi và nó giúp các thiết bị khác kiểm tra vị trí của một thiết bị hoặc máy tính cụ thể.

Trong bài viết này, chúng tôi sẽ thiết lập một địa chỉ IP tĩnh ESP32 mà các thiết bị khác có thể ghi nhớ.

Giới thiệu về Địa chỉ IP ESP32

Làm việc với ESP32 có thể cần một địa chỉ IP tĩnh riêng vì khi chúng tôi thiết kế máy chủ web cho ESP32, chúng tôi truy cập máy chủ web đó bằng địa chỉ IP của ESP32. Địa chỉ IP này được chỉ định bởi mạng WiFi mà ESP32 được kết nối.







Điều này có thể gây rắc rối khi xử lý ESP32 trong một dự án vì mỗi khi ESP32 tắt hoặc đặt lại một địa chỉ IP mới sẽ được mạng WiFi gán cho nó. Do đó, chúng tôi cần một địa chỉ IP mới cho máy chủ web. Vì vậy, một giải pháp nhanh chóng cho vấn đề này là đặt địa chỉ IP tĩnh cho ESP32, địa chỉ này sẽ không thay đổi ngay cả khi tắt hoặc đặt lại ESP32.



Thông thường DHCP Công cụ quản lý mạng (Dynamic Host Configuration Protocol) gán địa chỉ IP cho tất cả các thiết bị được kết nối bên trong mạng WiFi. DHCP rất hữu ích vì nó tránh cho quản trị viên mạng phải gán địa chỉ IP theo cách thủ công cho tất cả các thiết bị được kết nối bên trong mạng. Trong mạng gia đình, thông thường, bộ định tuyến WiFi hoạt động như một máy chủ DHCP.



Cùng với địa chỉ IP, DHCP còn gán một số tham số khác bao gồm:





  • Mặt nạ mạng con: Đó là một số 32 bit che dấu địa chỉ IP và chia chúng thành địa chỉ mạng và máy chủ.
  • Địa chỉ cổng mạng: Đó là địa chỉ IP của thiết bị liên kết các thiết bị mạng cục bộ với internet thông thường ở nhà, đó là bộ định tuyến WiFi.
  • DNS: Nó là địa chỉ IP của máy chủ tên miền.

Tất cả các tham số này đều quan trọng để truy cập máy chủ web ESP32. Khi chúng tôi sử dụng địa chỉ IP tĩnh cho ESP32, tất cả các tham số này phải được chuyển, nếu không, ESP32 sẽ không thiết lập được giao tiếp.

Khi ESP32 được gán với một địa chỉ IP tĩnh, nó sẽ không sử dụng DHCP máy chủ và sẽ không tìm nạp dữ liệu cần thiết. Vì vậy, để kết nối ESP32 trong mạng WiFi có địa chỉ IP tĩnh, trước tiên chúng ta phải biết các tham số được đề cập ở trên, chúng ta sẽ kết nối nó với mạng WiFi và kiểm tra tất cả các tham số mạng bao gồm mặt nạ mạng con, địa chỉ cổng địa chỉ IP DNS địa chỉ.



Sau khi biết các thông số, chúng ta có thể gán địa chỉ IP tĩnh.

Tìm các tham số mạng mặc định

Như đã thảo luận trong phần trước, chúng tôi sẽ kết nối ESP32 với mạng WiFi để lấy tất cả các thông số của mạng đó. Vì vậy, bằng cách xác định SSID mạng và mật khẩu và sử dụng thư viện WiFi.h, chúng ta có thể kết nối ESP32 với mạng.

Mã số

Tải mã được cung cấp bên dưới lên bảng ESP32 và nhớ thay đổi SSID và mật khẩu bằng thông tin đăng nhập mạng của riêng bạn.

#include


hăng sô than * ssid = 'tên mạng của bạn' ;
hăng sô than * mật khẩu mở khóa = 'mạng của bạn' ;

khoảng trống thành lập ( ) {
Nối tiếp. bắt đầu ( 115200 ) ;

Wifi. bắt đầu ( ssid , mật khẩu mở khóa ) ;

trong khi ( Wifi. trạng thái ( ) != WL_CONNECTED ) {
sự chậm trễ ( 500 ) ;
Nối tiếp. in ( 'Đang kết nối... \N \N ' ) ;
}

Nối tiếp. in ( 'IP cục bộ:' ) ;
Nối tiếp. bản in ( Wifi. cục bộIP ( ) ) ;
Nối tiếp. in ( 'Mặt nạ mạng con:' ) ;
Nối tiếp. bản in ( Wifi. mạng conMặt nạ ( ) ) ;
Nối tiếp. in ( 'IP cổng:' ) ;
Nối tiếp. bản in ( Wifi. cổng IP ( ) ) ;
Nối tiếp. in ( 'DNS 1:' ) ;
Nối tiếp. bản in ( Wifi. dnsIP ( 0 ) ) ;
Nối tiếp. in ( 'DNS 2:' ) ;
Nối tiếp. bản in ( Wifi. dnsIP ( 1 ) ) ;
}

khoảng trống vòng ( ) { }

Mã bắt đầu bằng cách bao gồm thư viện WiFi.h. Tiếp theo, chúng tôi đã xác định SSID và mật khẩu. Tại đây, ESP32 được kết nối với mạng WiFi và tất cả các thông số cần thiết sẽ được thiết lập bởi máy chủ DHCP.

Trong phần thứ hai của mã, chúng tôi đã in địa chỉ IP được chỉ định bởi máy chủ DHCP cùng với các tham số bổ sung: mặt nạ mạng con, IP cổng và cả hai IP máy chủ DNS.

đầu ra

Ở đầu ra, chúng ta có thể thấy tất cả các thông số mạng được in trên màn hình nối tiếp.

Bây giờ chúng ta sẽ đặt IP tĩnh thành ESP32. Ngoại trừ địa chỉ IP cục bộ, tất cả các tham số còn lại sẽ được sử dụng trong phần tiếp theo.

Đặt địa chỉ IP tĩnh cho ESP32

Vì chúng ta đã biết các tham số của mạng nơi ESP32 được kết nối, bây giờ chúng ta sẽ sử dụng địa chỉ IP tùy chỉnh để kết nối ESP32 trong cùng một mạng trong khi sử dụng các tham số khác không thay đổi như chúng ta đã nhận được ở đầu ra trước đó.

Nhưng trước đó chúng ta phải cài đặt ESP32Ping.h thư viện trong Arduino IDE. Sử dụng thư viện này, chúng tôi có thể xác minh thời tiết địa chỉ IP tĩnh của chúng tôi có hoạt động hay không. Bấm chuột để tải xuống ESP32Ping.h thư viện.

Sau khi tệp zip được tải xuống, hãy truy cập: Phác thảo>Bao gồm thư viện>Thêm thư viện .Zip

  Giao diện người dùng đồ họa, văn bản, ứng dụng Mô tả được tạo tự động

Mã số

Bây giờ hãy tải lên mã được cung cấp bên dưới trong ESP32. Mã này sẽ đặt địa chỉ IP tĩnh cho ESP32. Nhớ thay SSID và Password cho mạng.

#include

#include

hăng sô than * ssid = 'tên mạng của bạn' ;
hăng sô than * mật khẩu mở khóa = 'mạng của bạn' ;

IPĐịa chỉ IP tĩnh ( 192 , 168 , 18 , 53 ) ;
Cổng địa chỉ IP ( 192 , 168 , 18 , 1 ) ;
IPAddress mạng con ( 255 , 255 , 255 , 0 ) ;
Địa chỉ IP dns ( 101 , năm mươi , 101 , năm mươi ) ;

khoảng trống thành lập ( ) {
Nối tiếp. bắt đầu ( 115200 ) ;

nếu ( Wifi. cấu hình ( IP tĩnh , cổng vào , mạng con , dns , dns ) == sai ) {
Nối tiếp. bản in ( 'Cấu hình không thành công.' ) ;
}

Wifi. bắt đầu ( ssid , mật khẩu mở khóa ) ;

trong khi ( Wifi. trạng thái ( ) != WL_CONNECTED ) {
sự chậm trễ ( 500 ) ;
Nối tiếp. in ( 'Đang kết nối... \N \N ' ) ;
}

Nối tiếp. in ( 'IP cục bộ:' ) ;
Nối tiếp. bản in ( Wifi. cục bộIP ( ) ) ;
Nối tiếp. in ( 'Mặt nạ mạng con:' ) ;
Nối tiếp. bản in ( Wifi. mạng conMặt nạ ( ) ) ;
Nối tiếp. in ( 'IP cổng:' ) ;
Nối tiếp. bản in ( Wifi. cổng IP ( ) ) ;
Nối tiếp. in ( 'DNS 1:' ) ;
Nối tiếp. bản in ( Wifi. dnsIP ( 0 ) ) ;
Nối tiếp. in ( 'DNS 2:' ) ;
Nối tiếp. bản in ( Wifi. dnsIP ( 1 ) ) ;

thành công rực rỡ = bình. ping ( 'www.google.com' , 3 ) ;

nếu ( ! thành công ) {
Nối tiếp. bản in ( ' \N Ping không thành công' ) ;
trở về ;
}

Nối tiếp. bản in ( ' \N Ping thành công.' ) ;
}

khoảng trống vòng ( ) { }

Mã bắt đầu bằng cách bao gồm thư viện WiFi và Ping. Tiếp theo, chúng tôi đã xác định SSID và mật khẩu cho mạng WiFi.

Sau đó, chúng tôi đã xác định tất cả các tham số bao gồm địa chỉ IP tĩnh cùng với DNS, cổng IP và mạng con. Lưu ý rằng chúng tôi đã chỉ định một địa chỉ IP (192, 168, 18, 53) nằm trong cùng một mạng con của địa chỉ IP mà chúng tôi đã nhận được trước đó trong mã trước đó. Đảm bảo rằng địa chỉ IP này không được sử dụng bởi bất kỳ thiết bị nào khác trong mạng.

Khi WiFi được kết nối, chúng tôi đã in tất cả các tham số mạng và kiểm tra Ping bằng Google. Nếu tất cả các tham số được xác định chính xác Ping thành công thông báo sẽ xuất hiện.

đầu ra

Bây giờ khi chúng tôi kết nối lại bo mạch ESP32 với PC sau khi bị ngắt kết nối, địa chỉ IP tĩnh của nó một lần nữa được định cấu hình, cho biết rằng nó sẽ không thay đổi ngay cả khi mất điện.

Chúng tôi đã cung cấp thành công một địa chỉ IP tĩnh cho ESP32.

Sự kết luận

Khi làm việc với ESP32 trong việc thiết kế các dự án, địa chỉ IP tĩnh là cần thiết. Khi nhiều thiết bị cần kết nối với địa chỉ IP tĩnh của ESP32, giúp toàn bộ quá trình diễn ra suôn sẻ. Sử dụng các tham số mạng, chúng ta có thể xác định bất kỳ địa chỉ IP tĩnh nào. Ở đây trong bài viết này, chúng tôi đã đề cập đến các bước cần thiết để xác định địa chỉ IP tĩnh.