Modernine TV
ชื่อผู้แจ้ง : ชื้อผู้แจ้งข่าว admin     สถานีฯ admin      เวลาที่แจ้งข่าว แจ้งวันที่ : 31 มีนาคม 2561 เวลา 21:48:17      ถูกเปิดอ่านแล้ว 30 ครั้ง  30 / 0 ครั้ง   ลดขนาดตัวอักษร ลดขนาดตัวอักษร 
ประเภท : [ บทความ ]      Mini PC Control      NodeMCU      NodeMCU
ชื่อเรื่อง : การเชื่อมต่อ NodeMCU ESP8266 เข้ากับเครือข่าย WiFi


ทำบทความบันทึกไว้ทบทวนตัวเอง เริ่มทำไว้ตั้งแต่พื้นฐาน ก็เราไม่ได้จบสาขาคอมพิวเตอร์ เราจบไฟฟ้า เราก็พยายามศึกษาเริ่มแต่พื้นฐานไปเรื่อยๆเน๊าะ

NodeMCU ESP8266 เป็นอุปกรณ์ควบคุมผ่านไวไฟ เชื่อมต่อกับมือถือสมาร์ทโฟน เราก็ต้องรู้จักพื้นฐานการเขียนโปรแกรม เชื่อมต่อ Network Wi-Fi ในบ้านหรือ Wi-Fi ในสำนักงาน ก่อน

เริ่มใช้งาน MCU ESP8266 และติดตั้ง Arduino IDE





Code การเชื่อมต่อ Wi-Fi
======================================

#include <ESP8266WiFi.h> //เป็นการเรียกใช้ Library โมดูล ESP8266

const char* ssid = "adinan_wifi"; //สร้างตัวแปรไว้เก็บชื่อ ssid ของ AP ของเรา
const char* pass = "password"; //สร้างตัวแปรไว้เก็บชื่อ password ของ AP ของเรา

void setup () {
  Serial.begin(115200); //ตั้งค่าใช้งาน serial ที่ baudrate 115200
  WiFi.begin(ssid, pass); //ทำการเชื่อมต่อไปยัง AP

  while (WiFi.status() != WL_CONNECTED) { //รอจนกว่าจะเชื่อมต่อสำเร็จ 
    Serial.print("."); //แสดง ... ไปเรื่อยๆ จนกว่าจะเชื่อมต่อได้
    delay(500);
  } //ถ้าเชื่อมต่อสำเร็จก็จะหลุด loop while ไป

  Serial.println(""); 
  Serial.print("Wi-Fi connected to "); //แสดงว่าเชื่อมต่อ Wi-Fi ได้แล้ว
  Serial.println(ssid);
  Serial.print("IP Address : ");
  Serial.println(WiFi.localIP()); //แสดง IP ของบอร์ดที่ได้รับแจกจาก AP
}

void loop () { //ยังไม่ต้องมีการวนอะไรใดๆ เลยปล่อย void loop ว่างไว้เฉยๆ
}

======================================

แล้วคลิก SAVE และ Upload





เปิดตารางแสดงผล.. Serial Monitor





ผลที่ได้จากการทำงานของโปรแกรม...





ทดสอบใช้ PC ทำการ Ping เข้าไป  IP 192.168.1.39  ของ ESP8266





Code การเชื่อมต่อ Wi-Fi แบบ Fixed IP >> Static IP
======================================

#include <ESP8266WiFi.h> //เป็นการเรียกใช้ Library โมดูล ESP8266

const char* ssid = "adinan_wifi"; //สร้างตัวแปรไว้เก็บชื่อ ssid ของ AP ของเรา
const char* pass = "password"; //สร้างตัวแปรไว้เก็บชื่อ password ของ AP ของเรา

// Static IP details...
IPAddress ip(192, 168, 1, 111);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress DNS(192, 168, 1, 1);

void setup () {
  Serial.begin(115200); //ตั้งค่าใช้งาน serial ที่ baudrate 115200
  // Static IP Setup Info Here...
  WiFi.config(ip, gateway, subnet, DNS);
  WiFi.begin(ssid, pass); //ทำการเชื่อมต่อไปยัง AP

  while (WiFi.status() != WL_CONNECTED) { //รอจนกว่าจะเชื่อมต่อสำเร็จ 
    Serial.print("."); //แสดง ... ไปเรื่อยๆ จนกว่าจะเชื่อมต่อได้
    delay(500);
  } //ถ้าเชื่อมต่อสำเร็จก็จะหลุด loop while ไป

  Serial.println(""); 
  Serial.print("Wi-Fi connected to "); //แสดงว่าเชื่อมต่อ Wi-Fi ได้แล้ว
  Serial.println(ssid);
  Serial.print("IP Address : ");
  Serial.println(WiFi.localIP()); //แสดง IP ของบอร์ดที่ได้รับแจกจาก AP
}

void loop () { //ยังไม่ต้องมีการวนอะไรใดๆ เลยปล่อย void loop ว่างไว้เฉยๆ
}

======================================

แล้วคลิก SAVE และ Upload





ผลที่ได้...





Code Fixed IP , Gateway , Subnet , DNS
===========================================

#include //เป็นการเรียกใช้ Library โมดูล ESP8266

const char* ssid = "adinan_wifi"; //สร้างตัวแปรไว้เก็บชื่อ ssid ของ AP ของเรา
const char* pass = "password"; //สร้างตัวแปรไว้เก็บชื่อ password ของ AP ของเรา

// Static IP details...
IPAddress ip(192, 168, 1, 111);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress DNS(192, 168, 1, 1);

void setup () {
  Serial.begin(115200); //ตั้งค่าใช้งาน serial ที่ baudrate 115200
  // Static IP Setup Info Here...
  WiFi.config(ip, gateway, subnet, DNS);
  WiFi.begin(ssid, pass); //ทำการเชื่อมต่อไปยัง AP

  while (WiFi.status() != WL_CONNECTED) { //รอจนกว่าจะเชื่อมต่อสำเร็จ 
    Serial.print("."); //แสดง ... ไปเรื่อยๆ จนกว่าจะเชื่อมต่อได้
    delay(500);
  } //ถ้าเชื่อมต่อสำเร็จก็จะหลุด loop while ไป

  Serial.println(""); 
  Serial.print("Wi-Fi connected to "); //แสดงว่าเชื่อมต่อ Wi-Fi ได้แล้ว
  Serial.println(ssid);
  Serial.print("IP Address : ");
  Serial.println(WiFi.localIP()); //แสดง IP ที่ได้รับแจกจาก AP
  Serial.print("Your gateway is: ");
  Serial.println(WiFi.gatewayIP().toString().c_str());
  Serial.print("Your host name is:");
  Serial.println(WiFi.hostname());
}

void loop () { 
}
===========================================






จัดทำโดย คณะเจ้าหน้าที่บริษัท อสมท จำกัด ( มหาชน ) ผู้มีโอกาสเข้าร่วมอบรมเทคโนโลยีดิจิตอล ณ ประเทศญี่ปุ่น