โดยปกติเวลาเราต่อ WiFi จากมือถือไปยัง เร้าเตอร์ (router) ที่บ้านหรือที่ต่างๆ จะมีคำสั่งที่ยิงตรงจากมือถือไปยังเร้าเตอร์ตัวนั้นๆ เพื่อขอการเชื่อมต่อ เร้าเตอร์ (ซึ่งแปลตรงตัวก็คือการจัดการเส้นทาง) ก็จะทำหน้าที่ของมันในการกำหนดหมายเลข IP (Internet protocol) ให้มือถือของเราโดยอัตโนมัต โดยมองมือถือเป็นอุปกรณ์หนึ่งที่มี MAC address ค่านึง (คือชุดเลขฐาน16 จำนวน 6 ตัว ให้ระบุตัวตนมือถือ ซึ่งแตกต่างกันในแต่ละเครื่อง แม้รุ่นเดียวกัน) จะถูกบันทึกไว้ที่เร้าเตอร์เพื่อจับคู่กับหมายเลข IP ที่ต้องการแจกให้

เช่น เมื่อเราต่อ WiFi เราได้ IP เช่น 192.168.1.5 เมื่อเราปิดมือถือ นานเกินกว่า lease time (เวลาที่จอง IP บนเร้าเตอร์ โดยทั่วไปตั้งไว้ 10นาที) ก็จะมีการแจก IP ให้ใหม่เมื่อเราต่อ WiFi อีกครั้ง ทำให้เลขที่ได้อาจแตกต่างไปจากเดิมเช่น 192.168.1.14 เป็นต้น แบบนี้ก็คือมีอุปกรณ์อื่นมาใช้ IP นี้แทนในระหว่างที่ปิดเครื่องนั่นเอง
ปัญหานี้ทำให้การใช้อุปกรณ์ IoT อย่าง ESP32 , ESP8266 ที่ใช้งานในวงเครือข่ายภายใน (local network) มีปัญหาในการเข้าถึงหน้า URL เพื่อเข้าไปตั้งค่าอุปกรณ์ หรือดูสถานะต่างๆทาง browser เพราะหมายเลข IP ถูกเปลี่ยน
วันนี้จึงมาเสนอวิธีที่ใช้ตรึงหมายเลข IP (Fixed ip, static ip) ให้เป็นเลขเดิม สำหรับอุปกรณ์เดิม ซึ่งทำได้โดยการส่งคำสั่งขอ IP แบบ static IP ซึ่งปกติสามารถทำได้สองทางคือ
- ตรึงจากฝั่งของ อุปกรณ์
- ตรึงจากฝั่งของ เร้าเตอร์
โดยบทความนี้จะเสนอในแบบที่ 1 เพราะแบบที่ 2 มีการตั้งค่าที่หลากหลายสำหรับเร้าเตอร์ที่ต่างรุ่นกัน
การทำ static IP ของ ESP8266 กับ ESP32 นั้นแตกต่างกันนิดหน่อย ตรงที่ ESP8266 ต้องดึง library ESP8266WiFi.h เพื่อเรียกใช้งานการตั้งค่า WiFi
การทำ Fixed IP หรือ Static IP บน ESP8266คัดลอก Code ด้านล่าง และให้เปลี่ยน WiFi USER และ password
และเปลี่ยน IP จาก 192,168,43,123 เป็นเลขที่ต้องการ โดยเปลี่ยนตัวเลข 43 ให้ตรงกับวงแลนที่เราใช้ เช่น บางที่ 192.168.
1.XXX บางที่ 192.168.
10.XXX วิธีการดูสามารถดูได้จากที่นี่
Link ส่วนหลักสุดท้ายให้ตั้งตามที่ต้องการตั้งแต่ 2-254
ส่วน Gateway มักจะมีเลขสุดท้ายเป็น .1 และสามชุดหน้าเหมือน IP เช่น
IP :
192.168.10.115 Gateway :
192.168.10.1
IP :
192.168.5.12 Gateway :
192.168.5.1
ข้อแนะนำ ให้เราตั้งเลขหลักสุดท้ายเป็นค่าสูงๆ เช่น 150++ เพราะหากตั้งไว้ใกล้ 2 เกินไปอาจต่อเน็ตไม่ติดเนื่องจากเร้าเตอร์จองพื้นที่ IP นั้นให้อุปกรณ์อื่นแล้วนั่นเอง
ลองทดสอบ Upload Code ข้างต้นไปแล้วเปิด Serial monitor จาก Tools->Serial monitor รอจนมีการต่ออินเตอร์เน็ตสำเร็จ จะขึ้น IP ให้ตามรูป

ถ้าเลขนี้ตรงกับ IP ที่เราตั้งไว้ก็ถือเป็นอันเสร็จสิ้นการตั้ง Static IP ครับ
ให้เราลองเอา IP ไปวางใน browser เราควรเห็นหน้านี้

ลองกด OFF ดูจะเห็นการเปลี่ยนแปลงบน LED บนบอร์ด ESP8266 ของเรา

เมื่อมีการกด OFF ก็จะพาไปยัง URL ที่เปลี่ยนไป ให้ลองเล่นกับ URL ตรงนี้เทียบกับ Code ด้านใน จะทำให้เราเข้าใจเรื่องการทำ server บน ESP8266 ครับ
การทำ Fixed IP หรือ Static IP บน ESP32
สำหรับ ESP32 ให้ลองใช้ Code ข้างล่างครับ
รายละเอียดของส่วนต่างๆใน code ถูกอธิบายไว้ในตัวมันเองแล้ว แต่เชื่อว่าอาจมี detail เล็กๆน้อยๆที่บางคิดอาจไม่เข้าใจ อย่าเขินอายที่จะถามเข้ามากันได้นะครับ หวังว่าจะสามารถนำไปใช้ประโยชน์ได้ไม่มากก็น้อย 
Referencehttps://www.networkwebcams.co.uk/blog/2010/02/16/remotely-access-ip-camera/