WIFIใน ESP32 / ESP8266

เนื่องจาก board ทั้ง 2 ตัวมันต่อ WIFI ได้ในตัว

แต่ code มันเรียกใช้ Library ต่างกันอยู่

การเลือกใช้ Library สำหรับ WiFi ใน Arduino นั้นขึ้นอยู่กับ บอร์ดที่คุณใช้งาน ครับ เพราะถึงแม้จะเรียกใช้คำสั่งที่ดูคล้ายกัน แต่ไส้ในของ Hardware นั้นต่างกันสิ้นเชิง

นี่คือสรุปตัวที่ต้องเลือกติดตั้ง (หรือเรียกใช้) ตามประเภทบอร์ดครับ:

1. สำหรับบอร์ดตระกูล ESP32 (ยอดนิยมที่สุด)

ถ้าคุณใช้ ESP32 (เช่น DEVKIT V1) คุณไม่ต้องติดตั้งเพิ่มจาก Library Manager ครับ เพราะมันจะมาพร้อมกับ ESP32 Arduino Core อยู่แล้ว

  • คำสั่งเรียกใช้: #include <WiFi.h>

2. สำหรับบอร์ดตระกูล ESP8266 (เช่น NodeMCU, WeMos D1)

สำหรับรุ่นเก๋าอย่าง ESP8266 จะใช้ชื่อต่างออกไปเล็กน้อยเพื่อให้ไม่ตีกับบอร์ดอื่น

  • คำสั่งเรียกใช้: #include <ESP8266WiFi.h>

3. สำหรับบอร์ด Arduino แท้ที่มี WiFi (เช่น Uno WiFi Rev2, Nano 33 IoT)

บอร์ดพวกนี้มักใช้ชิป WiFi ของ u-blox ซึ่งต้องใช้ Library เฉพาะที่ชื่อว่า WiFiNINA

  • วิธีติดตั้ง: ไปที่ Sketch -> Include Library -> Manage Libraries… แล้วค้นหา WiFiNINA
  • คำสั่งเรียกใช้: #include <WiFiNINA.h>

ตารางสรุปการเลือกใช้

ประเภทบอร์ดLibrary ที่ต้องใช้ต้องติดตั้งเพิ่มไหม?
ESP32 SeriesWiFi.hไม่ต้อง (มาพร้อม Board Core)
ESP8266 SeriesESP8266WiFi.hไม่ต้อง (มาพร้อม Board Core)
Arduino Nano 33 IoT / Uno WiFiWiFiNINA.hต้องติดตั้ง ผ่าน Library Manager
Arduino MKR WiFi 1010WiFiNINA.hต้องติดตั้ง ผ่าน Library Manager

ข้อควรระวัง (Common Pitfall) ⚠️

ถ้าคุณไปก๊อปโค้ดที่มี #include <WiFi.h> มา แต่คุณกำลังใช้บอร์ด ESP8266 โปรแกรมจะฟ้อง Error ทันทีว่าหาไฟล์ไม่เจอ (No such file or directory) ให้คุณเปลี่ยนเป็น #include <ESP8266WiFi.h> แทนครับ