ผู้เขียน หัวข้อ: งานครั้งที่ 22 [On Line] การทดสอบโมดูล NodeMCU ในการเชื่อมต่อ WiFi  (อ่าน 5544 ครั้ง)

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 706
    • ดูรายละเอียด
    • อีเมล์
การทดสอบโมดูล NodeMCU ในการเชื่อมต่อ WiFi
โมดูล 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 จะกระพริบและเมื่อเชื่อมต่อได้แล้วจะติดค้าง)

<a href="https://www.youtube.com/v/DGj-AXmqbb0" target="_blank" class="new_win">https://www.youtube.com/v/DGj-AXmqbb0</a>
« แก้ไขครั้งสุดท้าย: มกราคม 26, 2021, 08:20:05 AM โดย admin »