เนื่องจาก 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 Series | WiFi.h | ไม่ต้อง (มาพร้อม Board Core) |
| ESP8266 Series | ESP8266WiFi.h | ไม่ต้อง (มาพร้อม Board Core) |
| Arduino Nano 33 IoT / Uno WiFi | WiFiNINA.h | ต้องติดตั้ง ผ่าน Library Manager |
| Arduino MKR WiFi 1010 | WiFiNINA.h | ต้องติดตั้ง ผ่าน Library Manager |
ข้อควรระวัง (Common Pitfall) ⚠️
ถ้าคุณไปก๊อปโค้ดที่มี #include <WiFi.h> มา แต่คุณกำลังใช้บอร์ด ESP8266 โปรแกรมจะฟ้อง Error ทันทีว่าหาไฟล์ไม่เจอ (No such file or directory) ให้คุณเปลี่ยนเป็น #include <ESP8266WiFi.h> แทนครับ