SenseView: ESP32-C6 Zigbee IoT ครบ Pipeline

ต่อ Sensor ให้ ESP32 อ่านค่าได้ ยังไม่เท่ากับสร้างระบบ IoT จบ เพราะพออยากให้ข้อมูลวิ่งแบบไร้สาย, เก็บย้อนหลัง, ดู Trend และขยายเป็นหลาย Node เราต้องมีของอีกหลายชั้นคั่นอยู่

SenseView เป็น Project ที่จับทุกชั้นนั้นมารวมไว้ด้วยกัน ตั้งแต่ Sensor Node บน ESP32-C6, ส่งข้อมูลด้วย Zigbee, ต่อเข้า MQTT, เก็บเป็น Time-series ใน InfluxDB และปิดท้ายด้วย Dashboard บน Grafana

จุดน่าสนใจคือ Project นี้ไม่ได้หยุดที่ Dev Board ต่อสายบนโต๊ะ แต่พัฒนาไปถึง Custom PCB, Battery Monitoring, Deep Sleep Test, Multi-node Test และ 3D-printed Enclosure สำหรับใช้งานเป็น Environmental Monitoring Platform จริงในระดับ Prototype

SenseView ESP32-C6 Zigbee environmental monitoring platform
SenseView ระบบ Environmental Monitoring บน ESP32-C6 ที่เชื่อม Sensor, Zigbee, MQTT, InfluxDB และ Grafana เข้าด้วยกัน

ก่อนอ่านต่อ: ESP32-C6 ไม่ได้ส่งข้อมูลเข้า Grafana โดยตรง Flow จริงมีหลาย Layer ตั้งแต่ Zigbee Coordinator, Zigbee2MQTT, Mosquitto, Telegraf, InfluxDB แล้วจึงมาถึง Grafana ซึ่งการแยกแต่ละ Layer เป็นหนึ่งในจุดสำคัญของ Architecture นี้

Key Takeaways

  • ใช้ ESP32-C6 เป็น Zigbee Environmental Sensor Node
  • วัด Temperature, Humidity, Pressure, Light, CO₂ และ Soil Moisture
  • มี Battery Voltage Monitoring
  • BME680, TSL2591 และ SCD40 แชร์ I²C Bus
  • Soil Moisture และ Battery ใช้ ADC
  • GPIO 4 ใช้เป็น Irrigation Control / Status Output
  • ต้นฉบับ Demo Irrigation ด้วย LED แทน Physical Valve
  • สร้าง Custom 2-layer PCB ด้วย KiCad
  • Firmware ใช้ Arduino Framework
  • Sonoff Zigbee USB Dongle ทำหน้าที่ Coordinator
  • Data Pipeline คือ Zigbee2MQTT → Mosquitto → Telegraf → InfluxDB
  • Grafana ใช้ดู Real-time และ Historical Trends
  • ทดสอบ Multiple Sensor Nodes แล้ว
  • LiPo 3.7 V 1500 mAh ใช้งานแบบรายงานเกือบทุกวินาทีได้ประมาณ 14 ชั่วโมง
  • Deep Sleep Test ยืด Runtime ได้มากกว่า 2 วัน
  • Project มี Firmware, PCB, Gerber, BOM และ Supporting Files บน GitHub

SenseView คืออะไร?

SenseView เป็น Modular IoT Environmental Monitoring Platform ที่พัฒนาขึ้นโดยมี ESP32-C6 เป็นหัวใจของ Sensor Node

ระบบเก็บข้อมูลสภาพแวดล้อมหลายประเภท แล้วส่งแบบไร้สายผ่าน Zigbee ไปยัง Gateway ก่อนนำข้อมูลเข้า Backend เพื่อเก็บและสร้าง Dashboard

Project ถูกพัฒนาขึ้นเดิม เป็นส่วนหนึ่งของ Master's Thesis ที่เกี่ยวข้องกับ IoT-enabled Environmental Monitoring สำหรับงานวิจัยเมล็ดที่ผ่าน Plasma Treatment

ส่วนการทดลองทางชีววิทยา ไม่ได้อยู่ใน Scope ของ Project นี้ ดังนั้นผลลัพธ์ที่ได้ จึงสามารถมองเป็น Environmental Monitoring Platform ที่นำไปศึกษาแนวคิดต่อได้ทั้ง:

  • Agriculture
  • Smart Greenhouse
  • Research Laboratory
  • Precision Farming
  • Environmental Monitoring
  • IoT Sensor Network

หัวใจของ Project อยู่ที่ Architecture ไม่ใช่ Sensor ตัวเดียว

ถ้าดูแบบย่อที่สุด Flow ของ SenseView คือ:

Sensors

ESP32-C6

Zigbee

MQTT

InfluxDB

Grafana

แต่ถ้าขยายให้เห็น Software แต่ละ Layer จริง ๆ จะได้:

BME680 / TSL2591 / SCD40 / SEN0193

ESP32-C6 Sensor Node

Zigbee

Sonoff Zigbee USB Coordinator

Zigbee2MQTT

Mosquitto MQTT Broker

Telegraf

InfluxDB

Grafana

จำแบบง่าย: ESP32-C6 มีหน้าที่วัดและส่งข้อมูล, Zigbee พาข้อมูลออกจาก Node, MQTT ช่วยส่ง Message, InfluxDB เก็บข้อมูลตามเวลา และ Grafana เอาข้อมูลมาทำ Dashboard

Software Stack ที่ใช้ใน Project

Software หน้าที่ใน SenseView
Arduino IDE / Arduino Framework พัฒนา Firmware บน ESP32-C6
Zigbee2MQTT จัดการ Zigbee Network และเปิดข้อมูลออกสู่ MQTT
Mosquitto MQTT Broker
MQTT Explorer ใช้ตรวจสอบข้อมูล MQTT ใน Workflow ของ Project
Telegraf Subscribe MQTT Topic และส่งข้อมูลเข้า InfluxDB
InfluxDB เก็บ Time-series Measurements
Grafana สร้าง Dashboard และ Historical Trends
KiCad ออกแบบ Custom PCB
SolidWorks ออกแบบ Enclosure

Sensor Node ใช้อะไรบ้าง?

SenseView ใช้ Sensor หลัก 4 กลุ่ม เพื่อเก็บข้อมูลทั้งอากาศ, แสง และสภาพดิน

Hardware หน้าที่
ESP32-C6 Development Board Main Controller + Zigbee Sensor Node
BME680 Temperature, Humidity และ Atmospheric Pressure
TSL2591 Ambient Light Intensity
SCD40 CO₂ Concentration
SEN0193 Capacitive Soil Moisture
LiPo 3.7 V 1500 mAh Battery-powered Operation
Sonoff Zigbee USB Dongle Zigbee Coordinator
Custom SenseView PCB รวมวงจรและ Interface ของ Sensor Node

Sensor แต่ละตัวรับผิดชอบอะไร?

BME680 — สภาพอากาศรอบ Node

BME680 ใช้เก็บค่า Temperature, Humidity และ Atmospheric Pressure ใน SenseView

TSL2591 — แสง

TSL2591 ใช้วัด Ambient Light Intensity และ Firmware มีการปรับ Gain ตามระดับแสงที่อ่านได้

SCD40 — CO₂

SCD40 ใช้วัด Carbon Dioxide Concentration และส่งค่า CO₂ เป็นหนึ่งใน Zigbee Measurements

SEN0193 — ความชื้นในดิน

SEN0193 เป็น Capacitive Soil Moisture Sensor ที่อ่านค่าผ่าน ADC ของ ESP32-C6

แต่ค่าที่อ่านจาก ADC ยังไม่ใช่เปอร์เซ็นต์ความชื้นโดยตรง ต้องผ่าน Calibration ด้วยค่า Dry / Wet Reference ก่อน

I²C, ADC และ GPIO ใช้ขาไหน?

Sensor Digital 3 ตัว ได้แก่ BME680, TSL2591 และ SCD40 แชร์ I²C Bus เดียวกัน

ส่วน Soil Moisture และ Battery Monitoring ใช้ Analog Input

หน้าที่ GPIO
Soil Moisture ADC GPIO 2
Battery Voltage ADC GPIO 3
Irrigation Control / Status Output GPIO 4
I²C SDA GPIO 5
I²C SCL GPIO 6

มองเป็นสองกลุ่ม: BME680 + TSL2591 + SCD40 คุยกับ ESP32-C6 แบบ Digital ผ่าน I²C ส่วน Soil Moisture และ Battery เข้าฝั่ง ADC

อ่าน ADC ได้ ไม่ได้แปลว่าได้เปอร์เซ็นต์ความชื้นแล้ว

Firmware แปลง Raw Soil ADC เป็น Moisture Percentage โดยใช้ค่า Reference ที่ Calibrate ระหว่างสภาพ Dry และ Wet

Battery Voltage ก็ไม่ได้ใช้ Raw ADC ตรง ๆ เช่นกัน แต่คำนวณผ่าน Voltage Divider และ Calibration Factor ที่กำหนดใน Firmware

ค่า Calibration ไม่ควร Copy แบบไม่ตรวจ: ค่า Dry/Wet, Voltage Divider และ ADC Calibration ขึ้นอยู่กับ Hardware และ Sensor Build ของ Project หากเปลี่ยน Board หรือ Sensor ควร Calibrate ใหม่กับ Hardware จริง

จาก Dev Board ต่อสาย ไปสู่ Custom 2-layer PCB

SenseView ไม่ได้เริ่มด้วย Custom PCB ตั้งแต่วันแรก

ผู้สร้าง Validate Sensor Node บน Development-board Prototype ก่อน แล้วค่อยย้าย Hardware เข้าสู่ PCB แบบ 2 Layer ที่ออกแบบด้วย KiCad

1

Prototype ก่อน

ตรวจว่า Sensor, Firmware, ADC และการสื่อสารทำงานได้ ก่อนเปลี่ยน Layout Hardware

2

รวมวงจรลง PCB

นำ ESP32-C6, Sensor Connections, Power Circuit, Analog Inputs, I²C และ Expansion Headers มารวมบน Board เดียว

3

ทำให้เหมาะกับการ Test ซ้ำ

Custom PCB ช่วยแทน Loose Wiring ด้วย Platform ที่ Compact และ Robust มากขึ้นสำหรับการทดลองซ้ำและ Deployment

Project Files มีทั้ง KiCad Project, Gerber, BOM และ Schematic ให้ตรวจต่อใน GitHub

Firmware บน ESP32-C6 ทำมากกว่าอ่าน Sensor

Firmware พัฒนาด้วย Arduino Framework และรับผิดชอบตั้งแต่:

  • Initialize I²C
  • Initialize ADC
  • Initialize Sensor
  • Sensor Acquisition
  • Data Processing
  • Zigbee Endpoints
  • Battery Monitoring
  • Soil Moisture Calibration
  • Light Gain Adjustment
  • Local Irrigation Logic

Current GitHub มี Firmware หลักชื่อ PlantSensorNode_4.ino

Pin Definitions — PlantSensorNode_4.ino
#define SOIL_MOISTURE_PIN 2
#define BATTERY_ADC_PIN   3
#define I2C_SDA_PIN       5
#define I2C_SCL_PIN       6
#define VALVE_GPIO_PIN    4
Soil / Irrigation Calibration — Current GitHub main
#define SOIL_AIR_VALUE    2300
#define SOIL_DRY_VALUE    2150
#define SOIL_WET_VALUE    1500

#define LOW_THRESHOLD     30
#define HIGH_THRESHOLD    45
#define MAX_ON_TIME       (20UL * 60UL * 1000UL)

Current GitHub Note: Code ด้านบนมาจาก Firmware บน Current Main Branch ที่ตรวจในรอบนี้ ค่า Calibration และ Threshold สามารถเปลี่ยนได้ใน Revision อื่น และไม่ควร Copy ไปใช้กับ Sensor/Hardware คนละชุดโดยไม่ Calibrate

Irrigation Logic มี แต่ Demo ใน Thesis ไม่ได้เปิดวาล์วจริง

Firmware เปรียบเทียบ Soil Moisture Percentage กับ Threshold แล้ว Trigger GPIO เมื่อค่าความชื้นต่ำกว่าระดับที่กำหนด

Logic จึงสามารถใช้เป็นฐาน สำหรับ Control Output ที่เกี่ยวข้องกับ Irrigation ได้

จุดที่ห้ามเขียนเกิน Source: ใน Build ที่อธิบายบน Instructables Output ใช้ Onboard LED แทน Physical Valve เพราะการ Actuate Valve จริง อยู่นอก Scope ของ Thesis

ดังนั้นจุดที่ Demonstrate จริงคือ:

Soil Moisture

Calibrated Percentage

Threshold Comparison

GPIO Trigger

LED ใน Thesis Demo

ESP32-C6 เป็น Zigbee Sensor Node ไม่ใช่ Coordinator

ใน SenseView ESP32-C6 ทำหน้าที่เป็น Zigbee Sensor Node ที่ส่ง Measurement ไปหา Central Coordinator

Coordinator ที่ Project ใช้คือ:

Sonoff Zigbee USB Dongle

ฝั่ง Host Computer รัน Zigbee2MQTT เพื่อจัดการ Zigbee Network, Pair Node และรับ Measurement

ESP32-C6 Zigbee End Device

Sonoff Zigbee USB Coordinator

Zigbee2MQTT

Zigbee2MQTT ทำให้ข้อมูล Sensor เข้ามาอยู่ในโลก MQTT

หลังจาก ESP32-C6 Join Zigbee Network แล้ว Zigbee2MQTT จะเปิด Measurement ออกผ่าน MQTT

ขั้นต่อไปคือ Mosquitto MQTT Broker ซึ่งรับผิดชอบ Message ที่ถูก Publish จาก Zigbee2MQTT

ต่างกันยังไง? Zigbee2MQTT เชื่อม Device ฝั่ง Zigbee เข้าหา MQTT ส่วน Mosquitto เป็น Broker ที่รับและกระจาย MQTT Message

Telegraf คือสะพานจาก MQTT ไป Database

Telegraf Subscribe MQTT Topic ที่มีข้อมูล SenseView แล้ว Process Message เหล่านั้น ก่อนส่งไปยัง InfluxDB

จุดสำคัญในการ Configure คือการกำหนด:

MQTT Topic ที่ Telegraf ต้อง Subscribe

เพราะถ้า Topic ไม่ตรง Pipeline ช่วง Zigbee/MQTT อาจทำงานแล้ว แต่ Database ก็ยังไม่ได้รับ Measurement

InfluxDB เก็บข้อมูลพร้อม Timestamp

เมื่อ Telegraf รับข้อมูลจาก MQTT แล้ว Measurement จะถูกเขียนเข้า InfluxDB

InfluxDB ใช้เป็น Time-series Database ซึ่งเหมาะกับข้อมูลที่มีค่าเปลี่ยนตามเวลา

เช่น:

  • อุณหภูมิช่วงเช้ากับช่วงบ่าย
  • CO₂ ที่เปลี่ยนตามเวลา
  • Soil Moisture ที่ค่อย ๆ ลดลง
  • Battery Voltage / Battery Level ตาม Runtime

ทำให้ระบบไม่ได้ดูได้แค่ “ตอนนี้กี่องศา” แต่ยังย้อนดู Historical Trend ได้ด้วย

Grafana Dashboard แสดง 7 Metrics หลัก

เมื่อ Measurement อยู่ใน InfluxDB Grafana จะถูกใช้สร้าง Dashboard สำหรับดูข้อมูล

Metric แหล่งข้อมูล
Temperature BME680
Humidity BME680
Atmospheric Pressure BME680
CO₂ Concentration SCD40
Light Intensity TSL2591
Soil Moisture SEN0193
Battery Voltage / Battery Status ESP32-C6 ADC + Battery Circuit

Dashboard จึงใช้ดูได้ทั้ง:

  • Real-time Overview
  • Historical Trends
  • การเปลี่ยนแปลงของ Environment ตามเวลา
  • ระดับ Soil Moisture
  • สถานะแบตเตอรี่

Test แบบ End-to-End ไม่ใช่เช็ก Sensor แยกทีละตัวแล้วจบ

หลัง Hardware และ Software ถูก Configure แล้ว ผู้สร้างทดสอบ Pipeline ตั้งแต่ต้นจนจบ:

Sensor Acquisition

ESP32-C6

Zigbee Transmission

Zigbee2MQTT

MQTT / Telegraf

InfluxDB

Grafana

ระบบยังถูก Test ด้วย Multiple Sensor Nodes เพื่อดูการสื่อสารและ Reporting ระหว่างหลาย Node กับ Central Gateway

นี่คือจุดที่ SenseView เริ่มต่างจาก Sensor Demo: ไม่ได้พิสูจน์แค่ว่า Sensor อ่านค่าได้ แต่พิสูจน์ว่า Measurement สามารถเดินทางผ่านทุก Layer ไปจนถึง Dashboard ได้

Reporting ทุกวินาที vs Deep Sleep: Battery ต่างกันชัดมาก

Project ใช้ LiPo Battery ขนาด:

3.7 V, 1500 mAh

และใช้ Battery ก้อนเดียวกัน เปรียบเทียบ 2 Operating Modes

Mode Behavior Runtime ที่รายงาน
Continuous / Near-1-second รายงานประมาณทุก 1 วินาที, ไม่มี Sleep, Radio และ Sensor Active เกือบตลอด ประมาณ 14 ชั่วโมง
Deep Sleep Active ประมาณ 10–20 วินาที, Sleep 115 วินาที, Cycle รวมประมาณ 2.1–2.25 นาที มากกว่า 2 วัน

ผลนี้ชี้ให้เห็นว่า Reporting Frequency และ Sleep Behavior มีผลกับ Battery-powered IoT มากแค่ไหน

แนวคิดสำคัญ: ถ้า Application ไม่จำเป็นต้องส่งข้อมูลทุกวินาที การตื่นมาวัด → ส่ง → Sleep สามารถประหยัดพลังงาน ได้มากกว่าการเปิด Radio และ Sensor รอตลอดเวลา

Current Firmware Note: Instructables รายงาน Deep Sleep Test ที่ Runtime มากกว่า 2 วัน แต่ไฟล์ PlantSensorNode_4.ino บน Current Main Branch ที่ตรวจรอบนี้ เป็น Loop แนว Continuous Reporting และมี delay(1000) ไม่ได้แสดง Deep-sleep Routine ในไฟล์เดียวกัน จึงไม่ควรสรุปว่า Firmware File ปัจจุบัน คือ Firmware ชุดเดียวกับ Deep Sleep Test โดยอัตโนมัติ

Enclosure ถูกออกแบบให้เป็นส่วนหนึ่งของ Node

Final Prototype ใช้ Blue Enclosure ที่ออกแบบใน SolidWorks และ 3D Print เพื่อเก็บ:

  • PCB
  • Battery
  • Sensors

Enclosure ถูกออกแบบให้ Compact จนสามารถ Mount ลงบนกระถางต้นไม้ได้

ทำ IoT Node แล้วมีไฟล์ 3D ของตัวเอง? ถ้ามี STL / 3D Model สำหรับ Sensor Enclosure, PCB Housing, Battery Case หรือ Mount สามารถส่งไฟล์ให้ทีม Globalbyte ช่วยประเมินบริการรับปริ้นท์ 3D สำหรับงาน Prototype ได้

Current GitHub มีบางอย่างอัปเดตจากข้อความใน Instructables แล้ว

ใน Step 10 ของ Instructables ผู้สร้างระบุในตอนเผยแพร่ว่า Enclosure Design Files ยังไม่ได้อยู่ใน Repository และอาจเพิ่มในอนาคต

แต่จาก Current GitHub Main ที่ตรวจในรอบนี้ Repository มี Folder:

enclosure/

และมีไฟล์:

SenseView_EnclosureV2.SLDASM

อย่าสับสนกับ STL: ไฟล์ที่พบเป็น SolidWorks Assembly นามสกุล .SLDASM ไม่ได้หมายความว่ามี STL พร้อมส่งเข้า Slicer อยู่แล้ว

Current GitHub Roadmap มีอะไรต่อ?

Current Repository README แยก Future Improvements ไว้ เช่น:

  • Wi-Fi Communication Backend
  • Native Thread / Matter Implementation
  • OTA Firmware Updates
  • Further Power Optimization
  • Configuration Interface
  • Mobile Application

หัวข้อนี้คือ Roadmap: ไม่ควรนำ Wi-Fi, Thread/Matter, OTA หรือ Mobile App ไปเขียนเป็น Feature ที่ Instructables Build ปัจจุบันทำเสร็จแล้วทั้งหมด

ดู Hardware และ Dashboard ของ SenseView เพิ่มเติม

เพื่อไม่ให้หน้า Blog ยาวด้วยรูปจำนวนมากตั้งแต่เปิดครั้งแรก รูปทั้งหมดนอกจาก Hero ถูกเก็บไว้ใน View more แบบ Pure CSS

SenseView system overview
System Overview ของ SenseView ตั้งแต่ Sensor Node ไปจนถึง Zigbee, MQTT, InfluxDB และ Grafana
SenseView ESP32-C6 sensor node
Sensor Node บน ESP32-C6 และ Hardware ที่ใช้สำหรับ Environmental Monitoring
SenseView sensor node hardware assembly
ภาพ Hardware Assembly ในขั้น Build Sensor Node
SenseView environmental sensor hardware
รายละเอียด Hardware และ Sensor ใน Sensor Node
SenseView sensor node components
Component และการประกอบ ในขั้นสร้าง Sensor Node
SenseView custom two layer PCB
Custom 2-layer PCB ที่ออกแบบใน KiCad เพื่อรวม Hardware ของ SenseView
Programming the ESP32-C6 for SenseView
ขั้น Programming ESP32-C6 และพัฒนา Firmware สำหรับ Sensor, Zigbee และ Local Control
SenseView Zigbee connection
การเชื่อม SenseView เข้ากับ Zigbee Network และ Zigbee2MQTT
SenseView Grafana dashboard
Grafana Dashboard สำหรับดู Environmental Data ทั้งแบบ Real-time และ Historical
SenseView final result
Final Result ของ SenseView Environmental Monitoring Platform
SenseView deployed environmental sensor node
SenseView Prototype ในขั้น Final Result / Deployment

ถ้าอยากลองทำตาม ควรเริ่มจากตรงไหน?

1

อ่าน Architecture ก่อนซื้อของ

ทำความเข้าใจก่อนว่า Project นี้ไม่ใช่ ESP32 + Sensor อย่างเดียว แต่ยังมี Zigbee Coordinator และ Backend Software หลายตัว

2

เริ่มจาก Sensor Node บน Dev Board

Validate BME680, TSL2591, SCD40, Soil Sensor และ ADC ก่อนขยับไป Custom PCB

3

ทำ Zigbee ให้ Join Network ได้

ตั้ง Coordinator และ Zigbee2MQTT ให้รับ Measurement จาก ESP32-C6 ได้ก่อน

4

ตรวจ MQTT ก่อนต่อ Database

เช็กว่า MQTT Topic และ Payload มาแล้วจริง ก่อนเพิ่ม Telegraf และ InfluxDB

5

ค่อยทำ Dashboard

เมื่อ Time-series Data เข้า InfluxDB แล้ว จึงเริ่มสร้าง Grafana Panels สำหรับ Metric ที่ต้องการ

6

ค่อย Optimization เรื่อง Battery

หลัง Pipeline ทำงานครบ จึงทดลองปรับ Reporting Interval และ Sleep Strategy ตามความต้องการของ Application

FAQ: SenseView ESP32-C6

SenseView ใช้ MCU อะไร?

ใช้ ESP32-C6 เป็น Main Controller และ Zigbee Sensor Node

วัดค่าอะไรได้บ้าง?

Temperature, Humidity, Atmospheric Pressure, Light Intensity, CO₂, Soil Moisture และ Battery Voltage

Sensor ทุกตัวใช้ I²C หรือไม่?

ไม่ BME680, TSL2591 และ SCD40 แชร์ I²C ส่วน Soil Moisture และ Battery ใช้ ADC

I²C ใช้ GPIO ไหน?

SDA ใช้ GPIO 5 และ SCL ใช้ GPIO 6 ตาม Firmware ของ Project

Soil Moisture ใช้ GPIO ไหน?

GPIO 2 เป็น Soil Moisture ADC

Battery Monitor ใช้ GPIO ไหน?

GPIO 3 เป็น Battery Voltage ADC

ESP32-C6 ส่งข้อมูลเข้า Grafana โดยตรงหรือไม่?

ไม่ Pipeline ผ่าน Zigbee, Zigbee2MQTT, Mosquitto, Telegraf และ InfluxDB ก่อนถึง Grafana

ใช้ Zigbee Coordinator อะไร?

Project ใช้ Sonoff Zigbee USB Dongle เป็น Coordinator

Mosquitto ทำอะไร?

ทำหน้าที่เป็น MQTT Broker สำหรับ Message ที่มาจาก Zigbee2MQTT

Telegraf ทำอะไร?

Subscribe MQTT Topic ของ SenseView แล้วส่ง Measurement ต่อเข้า InfluxDB

InfluxDB ทำไมเหมาะกับ Project นี้?

Project ใช้ InfluxDB เก็บ Measurement พร้อม Timestamp เพื่อดูทั้ง Current Value และ Historical Trend

ทดสอบหลาย Node หรือยัง?

ต้นฉบับระบุว่า มีการ Test Multiple Sensor Nodes กับ Central Gateway

Battery อยู่ได้นานแค่ไหน?

ด้วย LiPo 3.7 V 1500 mAh Continuous / Near-1-second Reporting อยู่ได้ประมาณ 14 ชั่วโมง ขณะที่ Deep Sleep Test รายงาน Runtime มากกว่า 2 วัน

Deep Sleep ใน Current Firmware เปิดอยู่หรือไม่?

ไฟล์ Current Main ที่ตรวจในรอบนี้ เป็น Continuous-style Loop และไม่ได้แสดง Deep-sleep Routine จึงควรตรวจ Revision หรือ Firmware ที่ใช้ใน Battery Test จากผู้พัฒนาเพิ่มเติม

SenseView เปิดวาล์วรดน้ำจริงหรือไม่?

ใน Instructables Build Irrigation Logic มีการ Trigger GPIO แต่ Output ใช้ LED แทน Physical Valve เพราะการขับวาล์วจริงอยู่นอก Scope ของ Thesis

มี PCB File หรือไม่?

มี GitHub Repository มี Firmware, KiCad PCB Design, Gerber, BOM, Schematics และ Supporting Files

มีไฟล์ Enclosure หรือไม่?

ข้อความใน Instructables ระบุว่าในตอนเผยแพร่ยังไม่มีไฟล์ แต่ Current GitHub ที่ตรวจรอบนี้ มี SolidWorks Assembly SenseView_EnclosureV2.SLDASM แล้ว

ไฟล์ Enclosure นั้นเป็น STL ไหม?

ไม่ ไฟล์ที่ตรวจพบเป็น .SLDASM ของ SolidWorks ไม่ใช่ STL

จุดที่ SenseView สอนดีมาก: IoT ไม่ได้จบตอน Serial Monitor มีตัวเลข

ถ้าเราเริ่มจาก ESP32 แล้วอ่าน Temperature ได้สำเร็จ นั่นคือจุดเริ่ม ไม่ใช่จุดจบของ System

SenseView พา Journey ต่อไปครบ:

Sensor

Firmware

Zigbee

MQTT

Data Processing

Time-series Database

Dashboard

Battery Optimization

และพอ Hardware เริ่มนิ่ง Project ก็ขยับจาก Dev Board ไป Custom PCB และ 3D-printed Enclosure เพื่อให้เหมาะกับการ Deploy และ Test ซ้ำ

สำหรับ Maker ที่เริ่มรู้สึกว่า “ทำ ESP32 อ่าน Sensor ได้แล้ว ต่อไปทำอะไรดี?” SenseView เป็นตัวอย่างที่ดีของการยกระดับ จาก Single-board Demo ไปเป็น End-to-End IoT Platform

Project นี้ค่อนข้างซับซ้อน แนะนำเปิดต้นฉบับควบคู่กัน

โดยเฉพาะตอนทำ Wiring, Soil Calibration, Zigbee Endpoint, Zigbee2MQTT, Telegraf Topic, PCB และ Battery Optimization ควรดู Original Project Files ก่อนลงมือจริง

References / แหล่งข้อมูลต้นฉบับ

อยากทำ IoT Node ของตัวเอง แต่ไม่รู้จะเริ่มจาก Board หรือ Sensor ตัวไหน?

ถ้ากำลังทำ Project ที่ใช้ ESP32, Development Board, Environmental Sensor, CO₂ Sensor, Soil Sensor หรืออุปกรณ์ Maker สามารถสอบถามทีม Globalbyte เพื่อช่วยเช็กอุปกรณ์ ที่เหมาะกับโจทย์ได้

ส่วนใครกำลังออกแบบ Sensor Enclosure, PCB Housing หรือ IoT Box และมี STL / 3D Model พร้อมแล้ว สามารถส่งไฟล์มาสอบถาม บริการรับปริ้นท์ 3D กับทีม Globalbyte ได้เช่นกัน

บทความนี้ไม่ได้ยืนยันว่า BME680, TSL2591, SCD40, SEN0193, Sonoff Dongle หรือ SenseView Kit มี Stock พร้อมจำหน่าย กรุณาสอบถามผ่าน LINE OA ก่อนเลือกซื้อ

 

แท็ก


Blog posts