pico-usb-wifi : เฟิร์มแวร์เปลี่ยน Raspberry Pi Pico W เป็นอะแดปเตอร์ USB WiFi แบบไม่ต้องติดตั้งไดรเวอร์

pico-usb-wifi เป็นโครงการเฟิร์มแวร์โอเพนซอร์สที่เปลี่ยน Raspberry Pi Pico W ให้กลายเป็นอะแดปเตอร์ USB WiFi แบบไม่ต้องติดตั้งไดรเวอร์ โดยสามารถใช้งานได้กับ Windows, Linux, macOS และระบบปฏิบัติการอื่น ๆ ที่รองรับ USB CDC-NCM

เนื่องจากชิป Infineon CYW43439 บนบอร์ดไม่สามารถทำงานเป็นบริดจ์ (Bridge) ระหว่าง USB กับ WiFi ได้โดยตรง เฟิร์มแวร์จึงสร้าง Layer-2 Bridge แบบโปร่งใส ระหว่างโมดูล WiFi ของ Pico W กับอินเทอร์เฟซ USB ทำให้บอร์ดทำหน้าที่เสมือนเกตเวย์หรือบริดจ์ Ethernet-to-WiFi โดยนำเสนอการเชื่อมต่อ Ethernet ผ่าน USB (USB Gadget Mode) เพื่อส่งต่อแพ็กเก็ตข้อมูลผ่านเครือข่าย WiFi ได้อย่างราบรื่น

raspberrypi pico usb wifi adapter
ที่มาของภาพ: GitLab Repository ของโครงการ

คุณสมบัติเด่นของ pico-usb-wifi :

  • รองรับ Transparent Layer-2 Bridging เชื่อมต่อระหว่างอินเทอร์เฟซ WiFi ของ Pico W กับ USB
  • แสดงตัวต่อระบบเป็นอุปกรณ์ USB CDC-NCM
  • รองรับทั้ง IPv4 และ IPv6 โดยไม่ต้องใช้ NAT, ไม่ต้องสร้างเครือข่ายย่อย (Private Subnet) และไม่ต้องตั้งค่า Port Forwarding
  • มีช่องทางสำหรับการจัดการและดีบักแยกต่างหาก ผ่านพอร์ตอนุกรม CDC-ACM
  • รองรับการยืนยันตัวตนด้วย WPA2-PSK, WPA3-SAE และเครือข่าย WiFi แบบเปิด (Open Network)
  • อัตราการรับส่งข้อมูล เฉลี่ยประมาณ 4.75 Mbps โดยข้อจำกัดหลักมาจากอินเทอร์เฟซ USB 1.1 ที่มีความเร็วสูงสุด 12 Mbps

pico usb wifi architecture

Raspberry Pi Pico W USB WiFi adapter
ภาพที่สร้างด้วย AI จากรีโพซิทอรีของโครงการ แสดงตัวอย่างการเชื่อมต่อ

แต่เมื่อพิจารณาว่าอะแดปเตอร์ USB WiFi ระดับเริ่มต้นมีราคาเพียง$2 (~70฿) ถึง $3 (~100฿) และโซลูชันนี้ยังมีข้อจำกัดด้านประสิทธิภาพจึงเหมาะสำหรับการใช้งานในกรณีฉุกเฉินที่ต้องการเชื่อมต่อ WiFi และมี Raspberry Pi Pico W เหลือใช้งานอยู่ เรามองว่าแทบเป็นไปไม่ได้ที่จะเพิ่มประสิทธิภาพให้สูงกว่าข้อจำกัดของพอร์ต USB ที่มีอยู่แต่ผู้พัฒนาโครงการ (白一百, baiyibai) ระบุว่าอาจสามารถใช้ประโยชน์จาก Programmable I/O (PIO) ของชิป RP2040 เพื่อปรับปรุงประสิทธิภาพได้ โดยโครงการ Pico-100BASE-TX อาจเป็นจุดเริ่มต้นที่น่าสนใจ

ข้อมูลเครือข่าย WiFi และพารามิเตอร์อื่น ๆ สามารถกำหนดค่าได้ผ่าน Management Console:


นอกจากพอร์ตจัดการ /dev/ttyACM0 แล้ว ยังมีพอร์ต /dev/ttyACM1 สำหรับการดีบักโดยเฉพาะ แม้ว่าโครงการนี้จะได้รับการออกแบบมาสำหรับบอร์ด Raspberry Pi Pico W แต่ก็คาดว่าน่าจะสามารถใช้งานกับ Raspberry Pi Pico 2 W ได้เช่นกัน หากคอมไพล์เฟิร์มแวร์สำหรับบอร์ดรุ่นดังกล่าว (อยู่ระหว่างการยืนยัน)

โครงการนี้ได้รับการพัฒนาด้วย Claude Code โดยใช้โทเค็นในการสร้างโค้ดประมาณ 1 ล้านโทเค็น ซอร์สโค้ดภาษา C (พัฒนาบน Pico SDK) พร้อมคำอธิบายหลักการทำงาน และขั้นตอนการคอมไพล์เฟิร์มแวร์จากซอร์ส สามารถดูได้จาก GitLab หรือถ้าต้องการใช้งานทันที ก็สามารถดาวน์โหลดไฟล์ pico-usb-wifi.uf2 ไปติดตั้งลงบนบอร์ดได้โดยตรง

แปลจากบทความ : pico-usb-wifi firmware converts the Raspberry Pi Pico W into a driverless USB WiFi adapter

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
โฆษณา