การทดสอบโมดูล NodeMCU ในการเชื่อมต่อ WiFi
โมดูล NodeMCU จะใช้โมดูล ESP8266-12E เป็นหัวใจหลักในการใช้งาน ซึ่งตัว ESP8266-12E ใช้ชิพ esp8266 เป็นตัวประมวลผลอยู่ภายใน ซึ่งเมื่อนำมาประกอบเป็นตัวโมดูลเพื่อใช้งานอาจเกิจข้อบกพร่องจากการประกอบได้ เช่นไม่สามารถเชื่อมต่อกับ WiFi ได้ซึ่งอาจเกิดจากการประกอบอุปกรณ์ต่าง ๆในตัวโมดูล หน้าตาชิพ eps8266 เป็นดังรูป
เมื่อประกอบเข้าเป็นโมดูล ESP8266 12E จะมีลักษณะดังรูป
มีผู้ผลิตโมดูล ESP8266 12E หลายราย ซึ่งบางรายอาจผลิตออกมาไม่ได้คุณภาพทำให้เชื่อมต่อกับ WiFi ไม่ได้
ดังนั้นการทดลองครั้งนี้เป็นการทดสอบโมดูลว่าสามารถเชื่อมต่อกับ WiFi ได้หรือไม่
โปรแกรมที่ใช้ในการทดสอบ
ตัวอย่าง ต้องการเชื่อมต่อกับ WiFi ที่คอมพิวเตอร์กำลังเชื่อมต่อดังรูป
เมื่อแก้ค่า ssid (ชื่อ WiFi ที่ต้องการเชื่อมต่อ) และ password (พาสเวิร์ดของ WiFi) สำหรับตัวอย่างนี้ WiFi ไม่มีพาสเวิร์ด เมื่อแก้ค่าเสร็จแล้วทำการอัพโหลดลงโมดูล สามารถดูผลการทำงานได้จากหน้าต่าง Serial monitor ดังรูป
ซึ่งจะเห็นว่าสามารถเชื่อมต่อกับ WiFi ได้แล้วและได้รับการแจก ip ให้กับโมดูล NodeMCU เป็นค่า 192.168.9.241 (ในขณะที่ยังเชื่อมต่อไม่ได้ LED บน NodeMCU จะกระพริบและเมื่อเชื่อมต่อได้แล้วจะติดค้าง)
โมดูล NodeMCU จะใช้โมดูล ESP8266-12E เป็นหัวใจหลักในการใช้งาน ซึ่งตัว ESP8266-12E ใช้ชิพ esp8266 เป็นตัวประมวลผลอยู่ภายใน ซึ่งเมื่อนำมาประกอบเป็นตัวโมดูลเพื่อใช้งานอาจเกิจข้อบกพร่องจากการประกอบได้ เช่นไม่สามารถเชื่อมต่อกับ WiFi ได้ซึ่งอาจเกิดจากการประกอบอุปกรณ์ต่าง ๆในตัวโมดูล หน้าตาชิพ eps8266 เป็นดังรูป
เมื่อประกอบเข้าเป็นโมดูล ESP8266 12E จะมีลักษณะดังรูป
มีผู้ผลิตโมดูล ESP8266 12E หลายราย ซึ่งบางรายอาจผลิตออกมาไม่ได้คุณภาพทำให้เชื่อมต่อกับ WiFi ไม่ได้
ดังนั้นการทดลองครั้งนี้เป็นการทดสอบโมดูลว่าสามารถเชื่อมต่อกับ WiFi ได้หรือไม่
โปรแกรมที่ใช้ในการทดสอบ
โค๊ด: [Select]
#include <ESP8266WiFi.h> // Include ESP8266 library
const char* ssid = "Your SSID"; // SSID is set
const char* password = "Your password"; // Password is set
#define LEDpin D0
void setup()
{
Serial.begin(115200); // Enable UART
Serial.println();
Serial.print("Connecting to "); // Print title message to the serial monitor
Serial.println(ssid); // Print SSID name
pinMode(LEDpin, OUTPUT);
digitalWrite(LEDpin,HIGH); // WiFi detected indicator - active low
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password); // Send password
while (WiFi.status() != WL_CONNECTED) // Check WiFi status
{
delay(200);
digitalWrite(LEDpin, LOW);
Serial.print("."); // Print dot for showing the progress status
delay(200);
digitalWrite(LEDpin, HIGH);
}
Serial.println("");
WiFi.printDiag(Serial);
Serial.println("");
Serial.println("WiFi connected"); // Print the connected message
Serial.println("IP address: "); // Print IP address
Serial.println(WiFi.localIP());
}
void loop()
{
digitalWrite(LEDpin, LOW); // WiFi connected indicator - active low
while (WiFi.status() != WL_CONNECTED) // Check WiFi status
{
digitalWrite(LEDpin, 0); // LED at D0 blink when disconnect WiFi
delay(900);
Serial.println("connection WiFi failed"); // Print error message to Serial Monitor
digitalWrite(LEDpin, 1);
delay(100);
}
}
ตัวอย่าง ต้องการเชื่อมต่อกับ WiFi ที่คอมพิวเตอร์กำลังเชื่อมต่อดังรูป
เมื่อแก้ค่า ssid (ชื่อ WiFi ที่ต้องการเชื่อมต่อ) และ password (พาสเวิร์ดของ WiFi) สำหรับตัวอย่างนี้ WiFi ไม่มีพาสเวิร์ด เมื่อแก้ค่าเสร็จแล้วทำการอัพโหลดลงโมดูล สามารถดูผลการทำงานได้จากหน้าต่าง Serial monitor ดังรูป
ซึ่งจะเห็นว่าสามารถเชื่อมต่อกับ WiFi ได้แล้วและได้รับการแจก ip ให้กับโมดูล NodeMCU เป็นค่า 192.168.9.241 (ในขณะที่ยังเชื่อมต่อไม่ได้ LED บน NodeMCU จะกระพริบและเมื่อเชื่อมต่อได้แล้วจะติดค้าง)
ความคิดเห็น
แสดงความคิดเห็น