กิจกรรมที่ 1 — รู้จักและทดลองอ่านค่าเซนเซอร์ (Sense)

35 นาที
อุปกรณ์ที่ใช้ บอร์ด GoGo-IoT, สวิตช์ลูกลอยพร้อมตัวแปลงและสาย Grove, แก้วน้ำ, สาย USB-C, แล็ปท็อป
เราจะเปิดหน้าเว็บของบอร์ดเพื่อดูค่าเซนเซอร์ แล้วทดลองเปลี่ยนสภาพรอบบอร์ดทีละอย่าง สังเกตว่าค่าใดเปลี่ยนไป และคิดว่าจะนำค่านั้นไปใช้ตัดสินใจเรื่องใดในฟาร์มได้บ้าง

ใบงาน
คลิกชื่อหัวข้อเพื่อดูวิธีทำ เมื่อทำเสร็จให้ทำเครื่องหมายและบันทึกผลในช่องที่กำหนด กรอกที่นี่หรือในขั้นตอนด้านล่างก็ได้ คำตอบจะปรากฏทั้งสองจุด
- 1.1 รู้จักบอร์ดและต่อสวิตช์ลูกลอย เสียบสาย Grove ของลูกลอยเข้าช่อง 1 เสียบ USB จากบอร์ดเข้าแล็ปท็อป แล้ววางลูกลอยในแก้วน้ำ
- 1.2 อ่านชื่อและหมายเลข IP ของบอร์ด ชื่อบอร์ดเต็มจาก DEVICE NAME หมายเลข IP จาก IP ADDRESS (ไม่ต้องใส่ http://) ตรวจว่าสีในชื่อบอร์ดตรงกับสีโซนของกลุ่ม
- 1.3 เปิดหน้าเว็บของบอร์ด พิมพ์
http://ตามด้วย IP ของบอร์ด แล้วดูรายการค่าจากบอร์ด - 1.4 ทดลองอ่านค่าเซนเซอร์ ค่าปกติในห้องและค่าเมื่อทดสอบ
- ความชื้นอากาศ % หลังเป่าลมหายใจใส่บอร์ด %
- อุณหภูมิ °C หลังเป่าลมหายใจใส่บอร์ด °C
- แสง lux ใช้มือครอบแล้ว lux
- ความสั่นสะเทือน mg เคาะโต๊ะแล้ว mg
- สถานะสวิตช์ลูกลอยบนหน้าเว็บ (กรอก ON หรือ OFF ตามที่เห็น) เมื่อวางในน้ำ เมื่อยกพ้นน้ำ
- 1.5 สังเกตเวลาตอบสนอง ครอบบอร์ดแล้ว ค่าแสงบนหน้าเว็บเริ่มเปลี่ยนหลังครอบบอร์ดกี่วินาที วินาที
- คำถามท้ายกิจกรรม ถ้าเราจะสร้างระบบรดน้ำ แล้วต้องตัดสินใจว่าจะรดน้ำเมื่อไร ควรวัดค่าอะไรบ้าง และสวิตช์ลูกลอยช่วยบอกข้อมูลอะไรได้บ้าง

1.1รู้จักบอร์ดและต่อสวิตช์ลูกลอย
บอร์ดตัวนี้มีคอนโทรลเลอร์ ESP32-C3 และเซนเซอร์ในตัวสำหรับวัดห้าค่า ได้แก่ อุณหภูมิ ความชื้นอากาศ แสง ความกดอากาศ และความเร่ง (บอร์ดแปลงความเร่งเป็นค่า ความสั่นสะเทือน ให้เราแล้ว) นอกจากนั้นมีช่องต่อเซนเซอร์เพิ่มแบบ Grove เราจะต่อ สวิตช์ลูกลอย เข้าที่ ช่อง 1 ซึ่งตั้งค่าไว้แล้วให้อ่านเป็นสัญญาณดิจิทัล

ตำแหน่งอุปกรณ์ในภาพ: USB-C ใช้จ่ายไฟและเชื่อมต่อคอมพิวเตอร์ · ON / OFF คือสวิตช์เปิด–ปิดบอร์ด · Grove port 1 ใช้ต่อสวิตช์ลูกลอย · กรอบสีแดงด้านขวาคือกลุ่มเซนเซอร์ในตัว · ช่องใส่ถ่าน 18650 อยู่ด้านใต้บอร์ด จึงไม่ปรากฏในภาพ

ต่อบอร์ดและลูกลอย
- เสียบสาย Grove จากตัวแปลงของสวิตช์ลูกลอยเข้า ช่อง 1 บนบอร์ด
- เสียบสาย USB-C เข้าบอร์ด แล้วเสียบอีกปลายเข้าช่อง USB ของแล็ปท็อป
- วางสวิตช์ลูกลอยลงแก้วน้ำที่มีน้ำครึ่งแก้ว ให้ลูกลอยลอยขึ้น

1.2อ่านชื่อและหมายเลข IP ของบอร์ด
เชื่อมต่อบอร์ด
- เปิด Chrome หรือ Edge ไปที่ web.esphome.io (Firefox, Safari ใช้ไม่ได้)
-
กด Connect เลือกพอร์ตที่ปรากฏขึ้น แล้วกดยืนยัน (เลข COM อาจไม่เหมือนในภาพ)

อ่านและบันทึกข้อมูลบอร์ด
- กด Logs & Console แล้วกดปุ่ม Reset device ในหน้าเว็บ (ไม่ใช่ปุ่มบนบอร์ด) บอร์ดจะเริ่มทำงานใหม่ และแสดงข้อความสำคัญสองบรรทัดในหน้าต่างบันทึกการทำงาน (log) บรรทัดแรก ๆ คือ
===== DEVICE NAME: ... =====ตัวอย่างชื่อคือgogo-iot-red-a1b2c3และอีกราว 10–20 วินาทีต่อมา หลังบอร์ดต่อ WiFi ได้ จะมี===== IP ADDRESS: ... =====ตามมา - ตรวจชื่อบอร์ด ชื่อต้องตรงกับโซนของเรา (
red/green/blue) ถ้าไม่ตรง บอร์ดนี้จะเชื่อมต่อเครือข่ายของโซนเราไม่ได้ ให้ยกมือขอเปลี่ยนบอร์ด - จดชื่อและหมายเลข IP ชื่อบอร์ดเต็มจาก DEVICE NAME หมายเลข IP จาก IP ADDRESS (ไม่ต้องใส่ http://) แล้วปิดหน้าต่างนี้
ถ้าหน้าต่าง log ว่างเปล่า หรือชื่อเลื่อนผ่านไปแล้ว ให้กดปุ่ม Reset device ในหน้าเว็บอีกครั้ง อย่าถอดสาย USB และอย่ากดปุ่มบนบอร์ด สองอย่างนั้นจะตัดการเชื่อมต่อของเบราว์เซอร์ และชื่อจะไม่ขึ้น ถ้าเห็นชื่อบอร์ดแล้ว แต่รอครบหนึ่งนาทียังไม่เห็นหมายเลข IP แปลว่าบอร์ดต่อ WiFi ไม่ได้ ให้ตรวจสีในชื่ออีกครั้ง แล้วยกมือ

1.3เปิดหน้าเว็บของบอร์ด
บอร์ดมีหน้าเว็บสำหรับแสดงค่าในตัว เรียกว่า เว็บเซิร์ฟเวอร์ เราจึงเปิดดูค่าผ่านเบราว์เซอร์ได้โดยตรงเมื่อเชื่อมต่อ WiFi โซนเดียวกัน โดยยังไม่ต้องใช้ Home Assistant
เปิดหน้าเว็บและดูค่า
- เปิดแท็บใหม่ พิมพ์
http://ตามด้วยหมายเลข IP ที่จดไว้ เช่นhttp://192.168.10.57 - จะเห็นรายการค่าจากบอร์ด แต่ละรายการเรียกว่า entity เช่น ค่าความสว่างหรือสถานะสวิตช์ลูกลอย ค่าจะอัปเดตเองโดยไม่ต้องรีเฟรช สังเกตว่าสวิตช์ลูกลอยไม่ได้แสดงเป็นตัวเลข แต่แสดงเป็นสถานะสองอย่าง รายการที่เกี่ยวกับ ปั๊ม (ปั๊มกำลังทำงาน และความไวตรวจจับปั๊ม) ปล่อยไว้ก่อน เราจะใช้ในช่วงที่ 2

ถ้าลองเปิดแล้วหน้าเว็บไม่ขึ้น ให้ตรวจว่าแล็ปท็อปอยู่บน
farm-laptop-สีเดียวกันกับสีในชื่อบอร์ด เพราะหน้านี้อยู่บนตัวบอร์ด ไม่ได้อยู่บนอินเทอร์เน็ต

1.4ทดลองอ่านค่าเซนเซอร์
ให้คนหนึ่งทดลอง อีกคนสังเกตและบันทึกค่า รอให้ค่าใกล้เคียงเดิมก่อนทดลองอย่างถัดไป
บันทึกค่าก่อนทดลอง
- บันทึกค่าขณะวางบอร์ดไว้ตามปกติลงตารางผล
ทดลองทีละอย่าง
- เป่าลมหายใจใส่บอร์ดช้า ๆ 5 วินาที บันทึกความชื้นอากาศและอุณหภูมิ
- ใช้มือครอบบอร์ดให้มืด บันทึกค่าแสง แล้วเอามือออก ดูว่าค่ากลับมาใกล้เดิมหรือไม่
- เคาะโต๊ะข้างบอร์ดหรือเขย่าบอร์ดเบา ๆ บันทึกความสั่นสะเทือน แล้ววางนิ่ง ดูว่าค่าลดลงหรือไม่
- ยกลูกลอยพ้นน้ำแล้ววางกลับ บันทึกสถานะทั้งสองแบบ (หน้าเว็บใช้ ON = น้ำถึงลูกลอย OFF = น้ำต่ำกว่าลูกลอย)
บันทึกผล
- ตรวจว่าบันทึกค่าครบทุกช่อง ค่าแสงจะใช้ตั้งเกณฑ์ในกิจกรรมที่ 3 ส่วนความชื้นอากาศจะใช้ในช่วงที่ 2
| เซนเซอร์ | ค่าปกติในห้อง | ค่าเมื่อทดสอบ | ทดสอบด้วยวิธี |
|---|---|---|---|
| ความชื้นอากาศ | % | % | เป่าลม |
| อุณหภูมิ | °C | °C | เป่าลม |
| แสง | lux | lux | ใช้มือครอบบอร์ด |
| ความสั่นสะเทือน | mg | mg | เคาะโต๊ะ / เขย่า |
| สวิตช์ลูกลอย (กรอก ON หรือ OFF ตามหน้าเว็บของบอร์ด) | วางในน้ำ: | ยกพ้นน้ำ: | ยกขึ้นจากน้ำ |
ค่าตัวเลขกับสถานะต่างกันอย่างไร ความชื้นและความสว่างบอกปริมาณเป็นตัวเลข ส่วนสวิตช์ลูกลอยบอกได้เพียงว่าน้ำถึงระดับที่ติดตั้งไว้หรือไม่ ไม่ได้บอกปริมาตรน้ำที่เหลือ ในหน้าเว็บของบอร์ดจะเห็น ON / OFF ส่วน Home Assistant จะแสดง Wet / Dry ตามลำดับ ข้อมูลทั้งหมดที่เราเห็นบนหน้าเว็บถูกส่งมาในรูปแบบดิจิทัล แม้ค่าบางชนิดจะใช้แทนปริมาณที่เปลี่ยนแปลงต่อเนื่องก็ตาม

1.5สังเกตเวลาตอบสนอง
จับเวลาตอบสนอง
- ใช้มือครอบบอร์ดอีกครั้ง แล้วนับเวลาตั้งแต่เริ่มครอบจนค่าแสงบนหน้าเว็บเปลี่ยนไป บันทึกเวลาที่สังเกตได้ วินาที
บอร์ดอ่านและส่งค่าเป็นระยะ จึงอาจต้องรอสักครู่กว่าจะเห็นค่าเปลี่ยนบนหน้าจอ ใช้เวลาที่วัดได้นี้ประกอบการทดสอบกฎในกิจกรรมที่ 3 และช่วงที่ 2 อย่าเพิ่งสรุปว่ากฎไม่ทำงานทันทีที่ครอบบอร์ด
คำถามท้ายกิจกรรม ถ้าเราจะสร้างระบบรดน้ำ แล้วต้องตัดสินใจว่าจะรดน้ำเมื่อไร ควรวัดค่าอะไรบ้าง และสวิตช์ลูกลอยช่วยบอกข้อมูลอะไรได้บ้าง