Trước khi tìm hiểu về mDNS là gì, ta hãy đi qua định nghĩa của DNS.
Khai báo các thư viện cần thiết:
#include <ESP8266WiFi.h> // Thư viện dùng để kết nối WiFi của ESP8266 #include <ESP8266WiFiMulti.h> // Thư viện dùng để kết nối WiFi hỗ trợ đa cấu hình của ESP8266 #include <ESP8266mDNS.h> // Thư viện dùng để thiết lập mDNS
Việc thiết lập tên miền đơn giản rất đơn giản bằng lệnh sau. Tên miền bạn đặt không kèm đuôi .local
MDNS.begin("your_domain");
Bạn dùng Arduino IDE để nạp chương trình sau:
Chú ý: Đối với Blocky Node WiFi bạn nhớ chọn board là NodeMCU 1.0 (ESP-12E Module) trên menu Arduino IDE > Tools > Board
#include <ESP8266WiFi.h> // Thư viện dùng để kết nối WiFi của ESP8266 #include <ESP8266WiFiMulti.h> // Thư viện dùng để kết nối WiFi hỗ trợ đa cấu hình của ESP8266 #include <ESP8266mDNS.h> // Thư viện dùng để thiết lập mDNS ESP8266WiFiMulti wifiMulti; // Khởi tạo đối tượng wifiMulti từ ESP8266WiFiMulti void setup() { Serial.begin(115200); // Thiết lập kết nối Serial để truyền dữ liệu đến máy tính wifiMulti.addAP("Blocky AP Home", "password_ap1"); // Kết nối vào mạng WiFi ở nhà wifiMulti.addAP("Blocky AP Company", "password_ap2"); // Kết nối vào mạng WiFi ở công ty Serial.println("Connecting ..."); // Chờ kết nối WiFi được thiết lập. Quét tìm mạng WiFi và kết nối với mạng mạnh nhất. while (wifiMulti.run() != WL_CONNECTED) { delay(1000); Serial.print("."); } Serial.println("\n"); Serial.print("Connected to "); Serial.println(WiFi.SSID()); // Cho biết tên mạng WiFi đã kết nối thành công Serial.print("IP address: "); Serial.println(WiFi.localIP()); // Gởi địa chỉ IP đến máy tinh if (!MDNS.begin("blockynode")) { // Khởi tạo mDNS cho blockynode.local Serial.println("Error setting up MDNS responder!"); } Serial.println("mDNS responder started"); } void loop() {}
Sau khi nạp code thành công bạn thử ping đến blockynode.local:
C:\Users\user>ping blockynode.local Pinging blockynode.local [172.16.0.137] with 32 bytes of data: Reply from 172.16.0.137: bytes=32 time=30ms TTL=53 Reply from 172.16.0.137: bytes=32 time=31ms TTL=53