อยากได้สถานีตรวจวัดสภาพอากาศและคุณภาพอากาศเก๋ๆ วางไว้บนโต๊ะทำงาน แต่ไม่อยากนั่งบัดกรีสายเป็นร้อยเส้น หรือนั่งแก้โค้ด C++ เป็นวันๆ ใช่ไหมครับ?
โปรเจกต์ SensorStation3 โดยคุณ Viacheslav บน Hackaday ตอบโจทย์นี้สุดๆ เพราะนี่คือสถานีวัดอุณหภูมิ ความชื้น ความกดอากาศ และคุณภาพอากาศ (CO2eq/IAQ) แบบจอสัมผัสในตัว ที่เน้นคอนเซปต์ "ใกล้มือ จ่ายเบา ทำง่ายที่สุด"
ทำไมถึงน่าลองทำตาม? (มินิโปรเจกต์เสาร์-อาทิตย์)
อุปกรณ์หลักมีแค่ 2 ชิ้น (งบหลักร้อย!):
บอร์ด ESP32 CYD (Cheap Yellow Display): บอร์ด ESP32 ที่มีหน้าจอสัมผัส TFT ขนาด 2.8 นิ้ว พร้อมเซนเซอร์วัดแสงในตัว ราคาประมาณ 300–400 บาท
เซนเซอร์ I2C 1 ตัว: เช่น BME280 (วัดอุณหภูมิ/ความชื้น/ความกดอากาศ) หรือ BME680 (เพิ่มการวัดคุณภาพอากาศ VOCs/CO2eq)
ไม่ต้องเขียนโค้ด ไม่ต้องคอมไพล์: ผู้พัฒนาเตรียม Prebuilt Binary (ไฟล์เฟิร์มแวร์สำเร็จรูป) ไว้ให้แล้ว เพียงเสียบสาย USB ต่อบอร์ดเข้าคอมฯ แล้วกดแฟลชไฟล์ด้วยคำสั่งเดียวผ่าน
esptoolได้เลยไม่ต้องบัดกรีให้ยุ่งยาก: แค่เสียบสายเซนเซอร์เข้ากับช่อง I2C ของบอร์ด CYD ระบบจะตรวจจับชนิดเซนเซอร์ให้อัตโนมัติ (Auto-detect) เสียบ BME280 หน้าจอก็ขึ้นค่าปกติ ถ้าสลับเป็น BME680 หน้าจอก็จะเปิดแท็บ CO2/IAQ เพิ่มขึ้นมาเองทันที
ตั้งค่าทุกอย่างผ่านหน้าจอสัมผัส: มีคีย์บอร์ดบนหน้าจอ (On-screen Keyboard) ให้จิ้มตั้งค่า Wi-Fi, MQTT Broker, เขตเวลา (Timezone) หรือปรับแต่งอุณหภูมิได้เลย ไม่ต้องมานั่งแก้ไฟล์ Config หรือแก้โค้ดลงบอร์ดใหม่
ฟีเจอร์เด็ดระดับมืออาชีพ
หน้าจอสวย กราฟครบ: แสดงผลอุณหภูมิ ความชื้น พร้อมกราฟย้อนหลัง 24 ชั่วโมง สถิติแนวโน้ม (Trend) จุดน้ำค้าง (Dew point) และความดันอากาศ
ปรับแสงอัตโนมัติ (Auto-Dimming): ใช้เซนเซอร์วัดแสงบนบอร์ด CYD ปรับความสว่างหน้าจอตามสภาพแวดล้อม วางไว้ห้องนอนตอนกลางคืนแสงก็ไม่แยงตา
เชื่อมต่อ Smart Home ทันที: รองรับ Home Assistant MQTT Autodiscovery เพียงใส่ค่า MQTT Broker บอร์ดจะส่งข้อมูลเข้า Home Assistant ให้เปิดดูบนมือถือหรือทำระบบอัตโนมัติ (Automation) ต่อได้ทันทีโดยไม่ต้องตั้งค่าเองทีละตัว
อัปเดตผ่าน OTA (Over-The-Air): ตัวเครื่องสามารถเช็กและอัปเดตเฟิร์มแวร์ใหม่ๆ ผ่าน Wi-Fi ได้เองโดยไม่ต้องเสียบสายเข้าคอมฯ อีกรอบ
สรุป: ถ้าคุณมีบอร์ด CYD กับเซนเซอร์ BME280/680 อยู่ในกล่องอะไหล่ที่บ้าน โปรเจกต์นี้ใช้เวลาประกอบและแฟลชเฟิร์มแวร์ไม่เกิน 15-20 นาที ก็ได้สเตชันตรวจวัดอากาศเท่ๆ พร้อมกราฟสวยๆ วางบนโต๊ะทำงานแล้วครับ!
การแฟลชเฟิร์มแวร์เข้าบอร์ด ESP32 CYD (Cheap Yellow Display) สำหรับโปรเจกต์ SensorStation3 นั้นง่ายมากครับ เพราะทางผู้พัฒนาได้ทำไฟล์สำเร็จรูป (Prebuilt Binary) รวมทุกอย่าง (Bootloader, Partition Table, Application) ไว้ในไฟล์เดียว ทำให้เราไม่ต้องลงโปรแกรมเขียนโค้ดอย่าง ESP-IDF หรือ VS Code ให้หนักเครื่องเลย
นี่คือคู่มือติดตั้งแบบจับมือทำทีละขั้นตอนสำหรับมือใหม่ครับ!
🛠️ สิ่งที่ต้องเตรียมก่อนเริ่ม
สาย USB ที่ส่งข้อมูลได้ (Data Cable) สำหรับต่อบอร์ด ESP32 CYD เข้ากับคอมพิวเตอร์
คอมพิวเตอร์ (Windows, Mac หรือ Linux) ที่มีโปรแกรม Python
ไฟล์เฟิร์มแวร์ (
.bin) ของ SensorStation3
ขั้นตอนที่ 1: ดาวน์โหลดไฟล์เฟิร์มแวร์
เข้าไปที่ หน้า GitHub Releases ของโปรเจกต์ SensorStation3 (หรือค้นหา
SensorStation3 releases github)ดาวน์โหลดไฟล์เฟิร์มแวร์สำเร็จรูปนามสกุล
.binเช่นSensorStation3-esp32.binมาไว้ที่โฟลเดอร์ที่หาง่ายๆ เช่นDownloadsหรือDesktop
ขั้นตอนที่ 2: ติดตั้งเครื่องมือแฟลช (esptool)
เราจะใช้โปรแกรมเล็กๆ ที่ชื่อว่า esptool (พัฒนาโดย Espressif ผู้ผลิต chip ESP32) ในการส่งไฟล์เข้าบอร์ดครับ
เปิดหน้าต่างคำสั่งขึ้นมา:
Windows: กดปุ่ม
Win + Rพิมพ์cmdแล้วกด EnterMac / Linux: เปิดแอป Terminal
พิมพ์คำสั่งนี้แล้วกด Enter เพื่อติดตั้ง
esptool:Bashpip install esptool(ถ้าขึ้นข้อความสตรีมยาวๆ แล้วจบด้วยคำว่า Successfully installed แสดงว่าเรียบร้อยแล้วครับ)
ขั้นตอนที่ 3: เช็กพอร์ตการเชื่อมต่อ (COM Port / Device)
เสียบสาย USB ต่อบอร์ด ESP32 CYD เข้ากับคอมพิวเตอร์
ตรวจสอบว่าคอมพิวเตอร์เห็นบอร์ดที่พอร์ตไหน:
สำหรับ Windows:
กด
Win + Xเลือก Device Managerดูตรงหมวด Ports (COM & LPT)
จะเห็นชื่อพอร์ต เช่น
Silicon Labs CP210x... (COM3)หรือCH340 (COM4)ให้จำหมายเลข COM ไว้ (เช่นCOM3หรือCOM4)
สำหรับ Mac / Linux:
เปิด Terminal แล้วพิมพ์:
Bashls /dev/tty.*มองหาพอร์ตจำพวก
/dev/tty.usbserial-XXXXหรือ/dev/ttyUSB0
💡 ข้อควรระวังสำหรับมือใหม่: หากเสียบบอร์ดแล้วใน Device Manager ไม่ขึ้นหมวด Ports หรือขึ้นเครื่องหมายตกใจสีเหลือง ส่วนใหญ่เกิดจาก สาย USB เป็นสายชาร์จอย่างเดียว (ไม่มีสายส่งข้อมูล) ให้ลองเปลี่ยนสาย USB เส้นใหม่ครับ
ขั้นตอนที่ 4: สั่งแฟลชเฟิร์มแวร์ลงบอร์ด (Step-by-Step)
เปิด Command Prompt หรือ Terminal ขึ้นมา
พิมพ์คำสั่งย้ายไปยังโฟลเดอร์ที่เก็บไฟล์
.binไว้ (เช่น โฟลเดอร์ Downloads):Bashcd Downloadsพิมพ์คำสั่งแฟลชเฟิร์มแวร์ (ปรับเปลี่ยนชื่อพอร์ตให้ตรงกับเครื่องของคุณ):
สำหรับ Windows (สมมติว่าเป็น COM3):
Bashesptool.py --chip esp32 --port COM3 write_flash 0x0 SensorStation3-esp32.binสำหรับ Mac / Linux (สมมติว่าเป็น /dev/ttyUSB0):
Bashesptool.py --chip esp32 --port /dev/ttyUSB0 write_flash 0x0 SensorStation3-esp32.bin
กด Enter เพื่อเริ่มการแฟลช!
ขั้นตอนที่ 5: ตรวจสอบหน้าจอและเริ่มใช้งาน
หน้าต่างคำสั่งจะแสดงเปอร์เซ็นต์การเขียนข้อมูล (
Connecting...,Writing at 0x00000000... (10 %), ...)รอจนกระทั่งขึ้นข้อความ:
PlaintextHash of data verified. Leaving... Hard resetting via RTS pin...บอร์ดจะรีสตาร์ทตัวเองอัตโนมัติ และ หน้าจอสัมผัส CYD จะติดขึ้นมาพร้อมโลโก้/หน้าจอ UI ของ SensorStation3 ทันที!
หลังจากนี้ คุณสามารถใช้นิ้วหรือปากกาสไตลัส กดตั้งค่า Wi-Fi และ MQTT ผ่านคีย์บอร์ดบนหน้าจอได้เลย โดยไม่ต้องเสียบสายต่อคอมฯ อีกแล้วครับ
💡 คำแนะนำเพิ่มเติมสำหรับมือใหม่
ถ้าแฟลชไม่ผ่าน ขึ้น
A fatal error occurred: Failed to connect to ESP32: No serial data received.ให้ลองกดปุ่ม BOOT บนบอร์ด CYD ค้างไว้ ตอนที่หน้าจอ Command Prompt กำลังขึ้นคำว่า
Connecting....พอมันเริ่มขึ้นเปอร์เซ็นต์ค่อยปล่อยมือครับ
เสียบเซนเซอร์ I2C ตรงไหน?
บอร์ด CYD จะมีพอร์ตคอนเนกเตอร์ I2C (มักจะสกรีนว่า CN1 หรือ P3 มีขา GND, 3V3, SDA, SCL) แค่ต่อสายจาก BME280 / BME680 ให้ตรงขา ตัวระบบจะค้นหาและเริ่มอ่านค่าให้อัตโนมัติเลยครับ

ความคิดเห็น
ไม่มีความคิดเห็น:
แสดงความคิดเห็น