บทความ › IoT และ Embedded

กล้องและอุปกรณ์ IoT เปลี่ยน IP เองทุกครั้งที่รีบูต แก้ยังไง

ทำไมกล้อง เครื่องพิมพ์ และบอร์ด ESP32 ได้ IP ใหม่หลังปิดเปิด และ 4 วิธีแก้ ตั้งแต่จอง IP ในเราเตอร์ จนถึงให้ระบบสแกนหาเองอัตโนมัติ

เริ่มต้น อ่าน 3 นาที 7 ตุลาคม 2569

อ่านจบแล้วจะรู้
  • อุปกรณ์ได้ IP จาก DHCP ของเราเตอร์ และเปลี่ยนได้เมื่อรีบูตหรือสัญญาเช่าหมดอายุ
  • วิธีที่ง่ายและเสถียรที่สุดคือจอง IP ตาม MAC Address ในเราเตอร์
  • ตั้ง IP ตายตัวที่ตัวอุปกรณ์ได้ แต่ต้องอยู่นอกช่วงที่ DHCP แจก
  • ระบบที่มีอุปกรณ์เยอะ ควรมีตัวสแกนหาอุปกรณ์ด้วย MAC แทนการจำ IP

ระบบที่ต่อกล้อง IP เครื่องพิมพ์ หรือบอร์ด ESP32 มักพังแบบเดียวกัน เมื่อวานใช้ได้ วันนี้ไฟดับแล้วเปิดใหม่ ระบบหาอุปกรณ์ไม่เจอ เพราะอุปกรณ์ได้ IP ใหม่ แต่โปรแกรมยังจำ IP เก่าอยู่

ทำไม IP ถึงเปลี่ยน

อุปกรณ์ในบ้านหรือสำนักงานส่วนใหญ่ขอ IP จาก DHCP ซึ่งทำงานอยู่ในเราเตอร์ เราเตอร์จะให้ยืม IP เป็นช่วงเวลา เรียกว่า lease เมื่อรีบูต หรือ lease หมดอายุ อุปกรณ์อาจได้ IP คนละตัวกับเดิม โดยเฉพาะเมื่อมีอุปกรณ์ในเครือข่ายเยอะ

วิธีที่ 1: จอง IP ในเราเตอร์ (แนะนำ)

เข้าหน้าตั้งค่าเราเตอร์ หาเมนูชื่อประมาณ DHCP Reservation, Static Lease หรือ Address Reservation แล้วผูก MAC Address ของอุปกรณ์กับ IP ที่ต้องการ

ข้อดีคือไม่ต้องแตะตัวอุปกรณ์เลย และจัดการทุกเครื่องได้จากที่เดียว

วิธีที่ 2: ตั้ง IP ตายตัวที่ตัวอุปกรณ์

กล้องและบอร์ดส่วนใหญ่ตั้ง IP เองได้ สิ่งที่ต้องระวังคือ IP นั้นต้องอยู่ นอกช่วงที่ DHCP แจก ไม่อย่างนั้นวันหนึ่งเราเตอร์อาจแจก IP เดียวกันให้เครื่องอื่น แล้วชนกัน

ตัวอย่างค่า
ช่วงที่ DHCP แจก192.168.1.100 ถึง 192.168.1.199
ช่วงที่ใช้ตั้งเอง192.168.1.10 ถึง 192.168.1.99

ตัวอย่างบน ESP32 ด้วย Arduino

IPAddress ip(192, 168, 1, 50);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(1, 1, 1, 1);

WiFi.config(ip, gateway, subnet, dns);
WiFi.begin(ssid, password);

วิธีที่ 3: เรียกด้วยชื่อแทน IP

อุปกรณ์หลายตัวประกาศชื่อตัวเองในเครือข่ายด้วย mDNS เช่น printer.local ESP32 ทำได้ด้วยไลบรารี ESPmDNS โปรแกรมของเราก็เรียกด้วยชื่อนี้แทน IP ได้ แต่บางเครือข่าย เช่น ที่แยก VLAN หรือมือถือ Android รุ่นเก่า อาจหาชื่อแบบนี้ไม่เจอ

วิธีที่ 4: ให้ระบบสแกนหาเอง

ถ้ามีอุปกรณ์เยอะหรือแก้เราเตอร์ไม่ได้ ให้โปรแกรมจำอุปกรณ์ด้วย MAC Address แล้วสแกนเครือข่ายหา IP ปัจจุบันเมื่อเชื่อมต่อไม่ได้ เช่น สแกนพอร์ตที่อุปกรณ์ชนิดนั้นเปิดอยู่ แล้วเทียบ MAC จากตาราง ARP

ip neigh        # Linux: ดู IP คู่กับ MAC ที่เครื่องเพิ่งคุยด้วย
arp -a          # Windows และ macOS

ระบบที่ดีไม่ควรพังเพราะอุปกรณ์เปลี่ยน IP จองที่เราเตอร์ไว้ก่อน แล้วมีตัวสแกนสำรองไว้กันวันที่เปลี่ยนเราเตอร์

เลือกวิธีไหนดี

  • บ้านหรือออฟฟิศเล็ก แก้เราเตอร์ได้: วิธีที่ 1
  • แก้เราเตอร์ไม่ได้: วิธีที่ 2 แต่จดช่วง IP ไว้ให้ดี
  • ระบบที่ขายหรือติดตั้งให้ลูกค้าหลายที่: วิธีที่ 4 เพราะเราไม่รู้ว่าเครือข่ายลูกค้าเป็นยังไง

คำถามที่พบบ่อย

MAC Address ดูได้จากไหน

ดูได้จากหน้ารายการอุปกรณ์ในเราเตอร์ สติกเกอร์ใต้ตัวอุปกรณ์ หรือแอปของอุปกรณ์ บางรุ่นมีหลายค่าสำหรับ Wi-Fi และสายแลน ต้องจองให้ตรงกับช่องที่ใช้จริง

ทำไมจองแล้วยังได้ IP เดิมไม่ตรง

บางอุปกรณ์สุ่ม MAC Address เมื่อเชื่อม Wi-Fi เพื่อความเป็นส่วนตัว โดยเฉพาะมือถือ ต้องปิดฟีเจอร์ Private Address หรือ Random MAC สำหรับเครือข่ายนั้นก่อน

คำสั่งและค่าตั้งในบทความทดสอบบนระบบตัวอย่าง ลองบนเครื่องทดสอบก่อนใช้กับระบบจริงเสมอ