รันเว็บเซิร์ฟเวอร์ด้วยชิป 8-bit จิ๋วสุดขีด สเปกต่ำกว่าบุหรี่ไฟฟ้า!

8-bit AVR microcontroller Web Server
วงจรสุดเรียบง่าย มีแค่ชิป CPU, ตัวเก็บประจุ (Capacitors) และหลอด LED เท่านั้น ก็รันเว็บได้แล้ว!

สวัสดีชาว Maker ทุกคนครับ! 🛠️ เวลาที่เราคิดจะเปิดเว็บไซต์สักเว็บ (Host a website) เรามักจะนึกถึงเซิร์ฟเวอร์สเปกแรงๆ หรืออย่างน้อยก็ต้องเป็นมินิคอมพิวเตอร์อย่าง Raspberry Pi ใช่ไหมครับ?

แต่ไม่ใช่กับคุณ [maurycyz] ครับ! เพราะเขาได้ท้าทายขีดจำกัดตัวเองด้วยการนำ ชิปไมโครคอนโทรลเลอร์ (MCU) สถาปัตยกรรม 8-bit ธรรมดาๆ มารันเป็นเว็บเซิร์ฟเวอร์ที่เปิดให้คนทั่วไปบนโลกอินเทอร์เน็ตเข้าถึงได้จริงๆ! [cite: 1] ซึ่งบอกไว้ก่อนเลยว่า... แม้แต่ตัวผู้สร้างเองก็ยอมรับว่า "นี่ไม่ใช่ไอเดียที่ดีเอาซะเลย!" แต่มันเป็นความท้าทายล้วนๆ ครับ [cite: 1]

ทำงานได้อย่างไร? กับสเปกสุดน่ารัก ⚙️

ระบบเซิร์ฟเวอร์นี้มีอุปกรณ์น้อยมาก คือมีแค่ตัว CPU (AVR) และอุปกรณ์พื้นฐานนิดหน่อยอย่างตัวเก็บประจุกับหลอด LED [cite: 1] แต่การจะทำให้มันรับส่งข้อมูล HTTP ได้นั้น ต้องใช้ลูกเล่นเรื่องเน็ตเวิร์กเข้ามาช่วยครับ:

  • รับคำสั่งแล้วพ่นกลับ: หลักการทำงานคือ เมื่อมีผู้ใช้ส่งคำสั่งร้องขอ (HTTP Request) เข้ามา ตัวไมโครคอนโทรลเลอร์จะทำการตอบกลับด้วยหน้าเว็บที่ถูกบันทึกเตรียมไว้ล่วงหน้า (Prerecorded HTTP response) ออกไป ซึ่งมันรันได้แค่ "หน้าเดียว" เท่านั้นครับ [cite: 1]
  • สะพานเชื่อมต่อผ่าน SLIP: ส่วนที่ยากที่สุดคือการเอาชิปจิ๋วนี้ไปต่อเน็ต เขาแก้ปัญหาด้วยการใช้โปรโตคอลโบราณตั้งแต่ยุคอินเทอร์เน็ต Dial-up ที่ชื่อว่า SLIP [cite: 1] โดยให้ชิป MCU ส่งข้อมูลผ่าน SLIP ไปยังคอมพิวเตอร์ Linux จากนั้นเครื่อง Linux จะใช้ WireGuard ทำหน้าที่เชื่อมต่อข้อมูลออกไปยังเซิร์ฟเวอร์บนอินเทอร์เน็ตอีกทีครับ [cite: 1]
  • จัดการ TCP สุดหิน: การสื่อสารแบบ TCP ค่อนข้างซับซ้อนเพราะต้องคอยเช็กสถานะการเชื่อมต่อ และต้องคอยส่งข้อมูลซ้ำเวลาเน็ตหลุด [cite: 1] แต่ด้วยแรม (RAM) ที่มีแค่ 8 K และพื้นที่เก็บข้อมูล (Flash) เพียง 64 K ของชิป AVR ตัวนี้... ก็เอาอยู่ครับ! [cite: 1]

💡 Maker's Tip: ตลกร้ายก็คือ... บุหรี่ไฟฟ้า (Disposable vape) ที่ใช้แล้วทิ้งในยุคนี้ ยังมีพลังประมวลผล (CPU Power) ที่แรงกว่าชิปตัวนี้ซะอีกครับ! [cite: 1]

แน่นอนว่าการทำเว็บเซิร์ฟเวอร์เพื่อใช้งานจริง การใช้บอร์ดที่มี Wi-Fi ในตัวอย่าง ESP32 ถือเป็นตัวเลือกที่สมเหตุสมผลกว่ามากครับ [cite: 1] หากเพื่อนๆ สนใจทำเว็บเซิร์ฟเวอร์ IoT ของตัวเอง แวะมาช้อป บอร์ด ESP32, ESP8266 และอุปกรณ์ทำ Smart Home ได้ที่ Globalbyte Shop เลยครับ! ของครบพร้อมส่ง!

วิดีโอ: แอบส่องหน้าตาเว็บเพจที่รันจากชิป 8-bit 🎬

การดาวน์โหลดอาจจะช้าหน่อย เพราะสเปกมีจำกัด แต่หน้าเว็บโหลดขึ้นมาได้จริงๆ นะ!

สรุป: ใช้งานจริงได้ไหม? 🤷♂️

ถ้าถามว่ามันนำไปใช้งานจริงได้ไหม? คำตอบคือ "ไม่เลยครับ" แต่ถ้าถามว่ามันเจ๋งไหม? ต้องบอกว่า "โคตรเจ๋ง!" เพราะมันแสดงให้เห็นถึงความเข้าใจในระดับลึก (Low-level) ของทั้งเรื่องฮาร์ดแวร์และโปรโตคอลอินเทอร์เน็ตครับ

*คำเตือนและข้อแนะนำ: เนื้อหาบทความนี้สรุปและแปลมาจากบทความภาษาอังกฤษ (Hackaday) โปรเจกต์นี้เป็นการทดสอบเชิงแนวคิด (Proof of Concept) เพื่อการศึกษาโครงสร้างโปรโตคอลระดับต่ำเท่านั้น ไม่แนะนำให้นำวงจรนี้ไปใช้แทนเว็บเซิร์ฟเวอร์สำหรับการใช้งานจริง หรือการประยุกต์ใช้เชิงพาณิชย์ครับ

แท็ก


Blog posts

เข้าสู่ระบบ

ลืมรหัสผ่านใช่ไหม?

ยังไม่มีบัญชีใช่ไหม?
สร้างบัญชี