thai maker

Thermometer DIY ง่ายๆแต่เท่ห์มาก

 อยากได้สถานีตรวจวัดสภาพอากาศและคุณภาพอากาศเก๋ๆ วางไว้บนโต๊ะทำงาน แต่ไม่อยากนั่งบัดกรีสายเป็นร้อยเส้น หรือนั่งแก้โค้ด C++ เป็นวันๆ ใช่ไหมครับ?

โปรเจกต์ SensorStation3 โดยคุณ Viacheslav บน Hackaday ตอบโจทย์นี้สุดๆ เพราะนี่คือสถานีวัดอุณหภูมิ ความชื้น ความกดอากาศ และคุณภาพอากาศ (CO2eq/IAQ) แบบจอสัมผัสในตัว ที่เน้นคอนเซปต์ "ใกล้มือ จ่ายเบา ทำง่ายที่สุด"



ทำไมถึงน่าลองทำตาม? (มินิโปรเจกต์เสาร์-อาทิตย์)

  • อุปกรณ์หลักมีแค่ 2 ชิ้น (งบหลักร้อย!):

    1. บอร์ด ESP32 CYD (Cheap Yellow Display): บอร์ด ESP32 ที่มีหน้าจอสัมผัส TFT ขนาด 2.8 นิ้ว พร้อมเซนเซอร์วัดแสงในตัว ราคาประมาณ 300–400 บาท

    2. เซนเซอร์ 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 หรือแก้โค้ดลงบอร์ดใหม่

ฟีเจอร์เด็ดระดับมืออาชีพ

  1. หน้าจอสวย กราฟครบ: แสดงผลอุณหภูมิ ความชื้น พร้อมกราฟย้อนหลัง 24 ชั่วโมง สถิติแนวโน้ม (Trend) จุดน้ำค้าง (Dew point) และความดันอากาศ

  2. ปรับแสงอัตโนมัติ (Auto-Dimming): ใช้เซนเซอร์วัดแสงบนบอร์ด CYD ปรับความสว่างหน้าจอตามสภาพแวดล้อม วางไว้ห้องนอนตอนกลางคืนแสงก็ไม่แยงตา

  3. เชื่อมต่อ Smart Home ทันที: รองรับ Home Assistant MQTT Autodiscovery เพียงใส่ค่า MQTT Broker บอร์ดจะส่งข้อมูลเข้า Home Assistant ให้เปิดดูบนมือถือหรือทำระบบอัตโนมัติ (Automation) ต่อได้ทันทีโดยไม่ต้องตั้งค่าเองทีละตัว

  4. อัปเดตผ่าน OTA (Over-The-Air): ตัวเครื่องสามารถเช็กและอัปเดตเฟิร์มแวร์ใหม่ๆ ผ่าน Wi-Fi ได้เองโดยไม่ต้องเสียบสายเข้าคอมฯ อีกรอบ

สรุป: ถ้าคุณมีบอร์ด CYD กับเซนเซอร์ BME280/680 อยู่ในกล่องอะไหล่ที่บ้าน โปรเจกต์นี้ใช้เวลาประกอบและแฟลชเฟิร์มแวร์ไม่เกิน 15-20 นาที ก็ได้สเตชันตรวจวัดอากาศเท่ๆ พร้อมกราฟสวยๆ วางบนโต๊ะทำงานแล้วครับ!



Link สำหรับดาวโหลด Firmware 

การแฟลชเฟิร์มแวร์เข้าบอร์ด ESP32 CYD (Cheap Yellow Display) สำหรับโปรเจกต์ SensorStation3 นั้นง่ายมากครับ เพราะทางผู้พัฒนาได้ทำไฟล์สำเร็จรูป (Prebuilt Binary) รวมทุกอย่าง (Bootloader, Partition Table, Application) ไว้ในไฟล์เดียว ทำให้เราไม่ต้องลงโปรแกรมเขียนโค้ดอย่าง ESP-IDF หรือ VS Code ให้หนักเครื่องเลย

นี่คือคู่มือติดตั้งแบบจับมือทำทีละขั้นตอนสำหรับมือใหม่ครับ!

🛠️ สิ่งที่ต้องเตรียมก่อนเริ่ม

  1. สาย USB ที่ส่งข้อมูลได้ (Data Cable) สำหรับต่อบอร์ด ESP32 CYD เข้ากับคอมพิวเตอร์

  2. คอมพิวเตอร์ (Windows, Mac หรือ Linux) ที่มีโปรแกรม Python

  3. ไฟล์เฟิร์มแวร์ (.bin) ของ SensorStation3

ขั้นตอนที่ 1: ดาวน์โหลดไฟล์เฟิร์มแวร์

  1. เข้าไปที่ หน้า GitHub Releases ของโปรเจกต์ SensorStation3 (หรือค้นหา SensorStation3 releases github)

  2. ดาวน์โหลดไฟล์เฟิร์มแวร์สำเร็จรูปนามสกุล .bin เช่น SensorStation3-esp32.bin มาไว้ที่โฟลเดอร์ที่หาง่ายๆ เช่น Downloads หรือ Desktop

ขั้นตอนที่ 2: ติดตั้งเครื่องมือแฟลช (esptool)

เราจะใช้โปรแกรมเล็กๆ ที่ชื่อว่า esptool (พัฒนาโดย Espressif ผู้ผลิต chip ESP32) ในการส่งไฟล์เข้าบอร์ดครับ

  1. เปิดหน้าต่างคำสั่งขึ้นมา:

    • Windows: กดปุ่ม Win + R พิมพ์ cmd แล้วกด Enter

    • Mac / Linux: เปิดแอป Terminal

  2. พิมพ์คำสั่งนี้แล้วกด Enter เพื่อติดตั้ง esptool:

    Bash
    pip install esptool
    

    (ถ้าขึ้นข้อความสตรีมยาวๆ แล้วจบด้วยคำว่า Successfully installed แสดงว่าเรียบร้อยแล้วครับ)

ขั้นตอนที่ 3: เช็กพอร์ตการเชื่อมต่อ (COM Port / Device)

  1. เสียบสาย USB ต่อบอร์ด ESP32 CYD เข้ากับคอมพิวเตอร์

  2. ตรวจสอบว่าคอมพิวเตอร์เห็นบอร์ดที่พอร์ตไหน:

    • สำหรับ Windows:

      • กด Win + X เลือก Device Manager

      • ดูตรงหมวด Ports (COM & LPT)

      • จะเห็นชื่อพอร์ต เช่น Silicon Labs CP210x... (COM3) หรือ CH340 (COM4) ให้จำหมายเลข COM ไว้ (เช่น COM3 หรือ COM4)

    • สำหรับ Mac / Linux:

      • เปิด Terminal แล้วพิมพ์:

        Bash
        ls /dev/tty.*
        
      • มองหาพอร์ตจำพวก /dev/tty.usbserial-XXXX หรือ /dev/ttyUSB0

💡 ข้อควรระวังสำหรับมือใหม่: หากเสียบบอร์ดแล้วใน Device Manager ไม่ขึ้นหมวด Ports หรือขึ้นเครื่องหมายตกใจสีเหลือง ส่วนใหญ่เกิดจาก สาย USB เป็นสายชาร์จอย่างเดียว (ไม่มีสายส่งข้อมูล) ให้ลองเปลี่ยนสาย USB เส้นใหม่ครับ

ขั้นตอนที่ 4: สั่งแฟลชเฟิร์มแวร์ลงบอร์ด (Step-by-Step)

  1. เปิด Command Prompt หรือ Terminal ขึ้นมา

  2. พิมพ์คำสั่งย้ายไปยังโฟลเดอร์ที่เก็บไฟล์ .bin ไว้ (เช่น โฟลเดอร์ Downloads):

    Bash
    cd Downloads
    
  3. พิมพ์คำสั่งแฟลชเฟิร์มแวร์ (ปรับเปลี่ยนชื่อพอร์ตให้ตรงกับเครื่องของคุณ):

    • สำหรับ Windows (สมมติว่าเป็น COM3):

      Bash
      esptool.py --chip esp32 --port COM3 write_flash 0x0 SensorStation3-esp32.bin
      
    • สำหรับ Mac / Linux (สมมติว่าเป็น /dev/ttyUSB0):

      Bash
      esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash 0x0 SensorStation3-esp32.bin
      
  4. กด Enter เพื่อเริ่มการแฟลช!

ขั้นตอนที่ 5: ตรวจสอบหน้าจอและเริ่มใช้งาน

  1. หน้าต่างคำสั่งจะแสดงเปอร์เซ็นต์การเขียนข้อมูล (Connecting..., Writing at 0x00000000... (10 %), ...)

  2. รอจนกระทั่งขึ้นข้อความ:

    Plaintext
    Hash of data verified.
    Leaving...
    Hard resetting via RTS pin...
    
  3. บอร์ดจะรีสตาร์ทตัวเองอัตโนมัติ และ หน้าจอสัมผัส CYD จะติดขึ้นมาพร้อมโลโก้/หน้าจอ UI ของ SensorStation3 ทันที!

  4. หลังจากนี้ คุณสามารถใช้นิ้วหรือปากกาสไตลัส กดตั้งค่า 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 ให้ตรงขา ตัวระบบจะค้นหาและเริ่มอ่านค่าให้อัตโนมัติเลยครับ

ความคิดเห็น

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

แสดงความคิดเห็น