เคยไหมครับ? อยากทำระบบ Smart Home ล้ำๆ อยากได้เซนเซอร์วัดอุณหภูมิเชื่อมต่อ Wi-Fi แต่พอคิดว่าต้องมานั่งต่อสายไฟยุบยับ จับหัวแร้งสูดควันตะกั่ว แถมยังต้องมานั่งงมเขียนโค้ดอีก... ความขี้เกียจก็พุ่งปรี๊ดจนโปรเจกต์พับไปซะก่อน 😅
วันนี้ Globalbyte จะพามาดูโปรเจกต์ที่ผสาน 2 ไอเดียเทพเข้าด้วยกัน นั่นคือ แพลตฟอร์มซอฟต์แวร์ No-code/Low-code (เขียนโค้ดน้อยถึงน้อยที่สุด) กับ ระบบฮาร์ดแวร์แบบประกอบร่าง (Prototyping system) ที่เสียบสายขันน็อตจบ ไม่ต้องพึ่งหัวแร้งบัดกรีเลยสักนิด! ทำให้เราเปลี่ยนจากไอเดียในหัว ให้กลายเป็นอุปกรณ์ที่ใช้งานจริงได้ภายในไม่กี่ชั่วโมงครับ
หน้าตาผลงานตอนเสร็จแล้ว: เซนเซอร์ Wi-Fi วัดอุณหภูมิพร้อมจอ OLED ในกล่องกันน้ำสุดเนี้ยบ
🛠️ อุปกรณ์ที่ต้องใช้ (Bill of Materials)
โปรเจกต์นี้เราจะทำ "เทอร์โมมิเตอร์ Wi-Fi" ที่อ่านค่าจากเซนเซอร์ DS18B20 และแสดงผลผ่านจอ OLED แบบ I2C โดยใช้สมองกลเป็น ESP32 D1 MINI จับทุกอย่างยัดใส่กล่องกันน้ำที่ติดผนังได้สบายๆ
💡 ทริคจาก Globalbyte: อุปกรณ์หลักๆ อย่างบอร์ด
ESP32 D1 Mini, จอ
OLED 0.96 I2C และเซนเซอร์วัดอุณหภูมิน้ำ
DS18B20 รวมถึงตัวต้านทาน (Resistor 1/4W) ทางร้าน
Globalbyte เรามีครบจบในที่เดียวนะครับ! สั่งทีเดียวเตรียมลุยได้เลย
นอกจากนี้ฝั่งต่างประเทศเขาใช้อุปกรณ์เสริมเพื่อจัดระเบียบสายไฟ (ระบบ MISISTEMITA) เช่น กล่องกันน้ำ Sonoff, แผ่น Backplate, Terminal ขันสายไฟ และเสารองพลาสติก (Nylon spacer) เพื่อให้งานออกมาเรียบร้อยที่สุด
⚙️ วิธีประกอบฮาร์ดแวร์ (Hardware Assembly)
ไฮไลท์ของงานนี้คือ "ไม่ต้องบัดกรี" ครับ! แค่มีไขควงขันสายไฟก็พอ ขั้นตอนง่ายๆ คือจับแผงวงจรและ Terminal ต่างๆ ไปยึดลงบนแผ่น Backplate เดินสายไฟให้เรียบร้อย แล้วเอาไปยึดเข้ากล่องกันน้ำ
1. เตรียมชิ้นส่วนทั้งหมดให้พร้อม บอร์ด, จอ, เซนเซอร์, กล่อง และแผ่นฐาน
2. ยึดบอร์ด ESP32, จอ OLED และ Terminal ขันสายเข้ากับแผ่น Backplate (เอา Terminal ไว้ใกล้ทางเข้าสายไฟจะจัดสายง่ายสุด)
3. ขันสายไฟเชื่อมแต่ละโมดูลเข้าด้วยกัน (แนะนำให้ลองอัปโหลดโค้ดทดสอบไฟเข้าก่อนนะ)
4. ถอดสายจากภายนอกออกก่อน แล้วยึดแผ่น Backplate ลงในกล่องกันน้ำ จากนั้นร้อยสายไฟผ่านจุกยาง (Cable glands) เข้ามาขันใหม่
5. ปิดฝากล่อง ขันเคเบิลแกลนด์ให้แน่น ก็พร้อมเอาไปแปะผนังแล้ว!
💻 การตั้งค่าเฟิร์มแวร์ (Firmware Setup)
มาถึงพาร์ทซอฟต์แวร์ที่เราบอกว่า Low-code / No-code ครับ โปรเจกต์นี้ผู้เขียนต้นฉบับเขาทดสอบระบบผ่าน 2 แพลตฟอร์มยอดฮิตของสาย Smart Home คือ TASMOTA และ ESPHome
ตัวเลือกที่ 1: TASMOTA (ง่ายแบบไม่ต้องพิมพ์โค้ด)
ปรัชญาของ Tasmota คือโหลดเฟิร์มแวร์สำเร็จรูปใส่บอร์ด แล้วเข้าไปกดๆ ตั้งค่าผ่านหน้าเว็บเบราว์เซอร์ได้เลย! สิ่งที่คุณต้องทำมีแค่:
- เลือก Base Firmware เป็นโหมด Display
- กำหนดขา I2C และขาเซนเซอร์ DS18B20
- กำหนดโหมดจอ (SSD1306)
- ใส่ Rule (กฎ) การแสดงผลแค่นิดหน่อย (เช่น ให้แสดงค่า %value% C)
ตัวเลือกที่ 2: ESPHome (Low-code พิมพ์นิดหน่อย แต่ยืดหยุ่นสูง)
ESPHome จะใช้การเขียนไฟล์คอนฟิกแบบ .YAML ครับ ซึ่งเราต้องมี Home Assistant รันอยู่ก่อน จากนั้นแค่ก็อปปี้การตั้งค่าไปวาง ระบบจะ Compile เฟิร์มแวร์ลงบอร์ดให้เอง
หน้าตาขณะรันระบบผ่าน ESPHome บน Home Assistant
# GPIO setup dallas: - pin: 26 i2c: sda: 21 scl: 22 # Sensor setup sensor: - platform: dallas address: 0x8c01131b44162184 id: outside_temperature name: "External temperature" font: # gfonts://family[@weight] - file: "gfonts://Roboto" id: roboto size: 20 display: - platform: ssd1306_i2c model: "SSD1306 128x64" address: 0x3c lambda: |- it.printf(90, 35, id(roboto), TextAlign::BASELINE_RIGHT , "%.1f °C", id(outside_temperature).state);
🏆 สรุปผลลัพธ์และเวลาที่ใช้ (End Result)
-
ประกอบฮาร์ดแวร์: ใช้เวลาประมาณ 1 ชั่วโมง (เพราะใช้โมดูลประกอบสำเร็จ)
-
ลงซอฟต์แวร์ด้วย Tasmota: ใช้เวลาแค่ 10 นาที! แก้ไขค่าต่างๆ ใช้เวลาแค่ 1 นาทีเท่านั้น
-
ลงซอฟต์แวร์ด้วย ESPHome: ครั้งแรกอาจใช้เวลา 2 ชั่วโมง (เพราะต้องลง Home Assistant ก่อน) แต่หลังจากนั้นการอัปเดตโค้ดจะใช้เวลาแค่ 5-10 นาที (แถมอัปเดตแบบไร้สาย OTA ได้เลยนะ!)
เห็นไหมครับว่ายุคนี้ แทบไม่ต้องจับหัวแร้ง ไม่ต้องพิมพ์โค้ด C++ ยาวเป็นหน้ากระดาษ เราก็สร้างอุปกรณ์ IoT เจ๋งๆ ไว้ใช้เองได้แล้ว!
⚠️ รู้สึกว่าเนื้อหาลึกไป? หรืออยากศึกษาตัวบอร์ดแผงวงจร MISISTEMITA เพิ่มเติม?การตั้งค่า ESPHome และ Tasmota แบบลงลึก มีรายละเอียดค่อนข้างเยอะ แนะนำให้เพื่อนๆ แวะไปอ่านหรือโหลดไฟล์ต้นฉบับได้ที่
GitHub ของผู้พัฒนา (คุณ Galopago) หรืออ่าน
Guide ของ ESPHome ได้เลยครับ รับรองว่าได้ความรู้เพิ่มเพียบ!
ข้อควรระวัง: บทความนี้เป็นการสรุปและแปลเนื้อหาบางส่วนจากแหล่งข้อมูลต้นฉบับภาษาอังกฤษ เพื่อให้ผู้เริ่มต้นทำความเข้าใจได้ง่ายขึ้น ข้อมูลทางเทคนิคบางอย่างอาจมีความคลาดเคลื่อน หรือต้องมีการปรับเปลี่ยนตามเวอร์ชั่นของซอฟต์แวร์ในปัจจุบัน กรุณาตรวจสอบ
เว็บไซต์ต้นฉบับ ก่อนลงมือทำโปรเจกต์จริงครับ
🚀 พร้อมเริ่มหาทำโปรเจกต์ของคุณหรือยัง?
อุปกรณ์พร้อม ซัพพอร์ตพร้อม! ตามมาลุยกันต่อกับครอบครัว Globalbyte ได้เลย
📚 อ้างอิง (References)