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

กิจกรรมที่ 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 ซึ่งตั้งค่าไว้แล้วให้อ่านเป็นสัญญาณดิจิทัล

ส่วนประกอบหลักของบอร์ด GoGo-IoT: ช่อง USB-C สวิตช์ ON/OFF ช่อง Grove 1 คอนโทรลเลอร์ ESP32-C3 ปุ่ม BOOT และกลุ่มเซนเซอร์ในตัว

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

ชุดสวิตช์ลูกลอยที่ต่อกับบอร์ด GoGo-IoT แล้ว: สาย Grove ออกจากบอร์ดไปเข้าตัวแปลงซึ่งเป็นบอร์ดเล็กมีขั้วสกรู และสายสีเหลืองสองเส้นจากตัวแปลงไปยังตัวลูกลอยสีขาว

ต่อบอร์ดและลูกลอย

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

↑ กลับไปที่ใบงาน

1.2อ่านชื่อและหมายเลข IP ของบอร์ด

เชื่อมต่อบอร์ด

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

    หน้าต่างเลือกพอร์ตของ web.esphome.io หลังกด Connect

อ่านและบันทึกข้อมูลบอร์ด

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

ถ้าหน้าต่าง log ว่างเปล่า หรือชื่อเลื่อนผ่านไปแล้ว ให้กดปุ่ม Reset device ในหน้าเว็บอีกครั้ง อย่าถอดสาย USB และอย่ากดปุ่มบนบอร์ด สองอย่างนั้นจะตัดการเชื่อมต่อของเบราว์เซอร์ และชื่อจะไม่ขึ้น ถ้าเห็นชื่อบอร์ดแล้ว แต่รอครบหนึ่งนาทียังไม่เห็นหมายเลข IP แปลว่าบอร์ดต่อ WiFi ไม่ได้ ให้ตรวจสีในชื่ออีกครั้ง แล้วยกมือ

↑ กลับไปที่ใบงาน

1.3เปิดหน้าเว็บของบอร์ด

บอร์ดมีหน้าเว็บสำหรับแสดงค่าในตัว เรียกว่า เว็บเซิร์ฟเวอร์ เราจึงเปิดดูค่าผ่านเบราว์เซอร์ได้โดยตรงเมื่อเชื่อมต่อ WiFi โซนเดียวกัน โดยยังไม่ต้องใช้ Home Assistant

เปิดหน้าเว็บและดูค่า

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

หน้าเว็บของบอร์ด GoGo-IoT ตารางซ้ายคือ entity แต่ละตัวพร้อมค่าปัจจุบัน กรอบดำทางขวาคือ log ของบอร์ด

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

↑ กลับไปที่ใบงาน

1.4ทดลองอ่านค่าเซนเซอร์

ให้คนหนึ่งทดลอง อีกคนสังเกตและบันทึกค่า รอให้ค่าใกล้เคียงเดิมก่อนทดลองอย่างถัดไป

บันทึกค่าก่อนทดลอง

  1. บันทึกค่าขณะวางบอร์ดไว้ตามปกติลงตารางผล

ทดลองทีละอย่าง

  1. เป่าลมหายใจใส่บอร์ดช้า ๆ 5 วินาที บันทึกความชื้นอากาศและอุณหภูมิ
  2. ใช้มือครอบบอร์ดให้มืด บันทึกค่าแสง แล้วเอามือออก ดูว่าค่ากลับมาใกล้เดิมหรือไม่
  3. เคาะโต๊ะข้างบอร์ดหรือเขย่าบอร์ดเบา ๆ บันทึกความสั่นสะเทือน แล้ววางนิ่ง ดูว่าค่าลดลงหรือไม่
  4. ยกลูกลอยพ้นน้ำแล้ววางกลับ บันทึกสถานะทั้งสองแบบ (หน้าเว็บใช้ ON = น้ำถึงลูกลอย OFF = น้ำต่ำกว่าลูกลอย)

บันทึกผล

  1. ตรวจว่าบันทึกค่าครบทุกช่อง ค่าแสงจะใช้ตั้งเกณฑ์ในกิจกรรมที่ 3 ส่วนความชื้นอากาศจะใช้ในช่วงที่ 2
เซนเซอร์ ค่าปกติในห้อง ค่าเมื่อทดสอบ ทดสอบด้วยวิธี
ความชื้นอากาศ % % เป่าลม
อุณหภูมิ °C °C เป่าลม
แสง lux lux ใช้มือครอบบอร์ด
ความสั่นสะเทือน mg mg เคาะโต๊ะ / เขย่า
สวิตช์ลูกลอย (กรอก ON หรือ OFF ตามหน้าเว็บของบอร์ด) วางในน้ำ: ยกพ้นน้ำ: ยกขึ้นจากน้ำ

↑ กลับไปที่ใบงาน

ค่าตัวเลขกับสถานะต่างกันอย่างไร ความชื้นและความสว่างบอกปริมาณเป็นตัวเลข ส่วนสวิตช์ลูกลอยบอกได้เพียงว่าน้ำถึงระดับที่ติดตั้งไว้หรือไม่ ไม่ได้บอกปริมาตรน้ำที่เหลือ ในหน้าเว็บของบอร์ดจะเห็น ON / OFF ส่วน Home Assistant จะแสดง Wet / Dry ตามลำดับ ข้อมูลทั้งหมดที่เราเห็นบนหน้าเว็บถูกส่งมาในรูปแบบดิจิทัล แม้ค่าบางชนิดจะใช้แทนปริมาณที่เปลี่ยนแปลงต่อเนื่องก็ตาม

1.5สังเกตเวลาตอบสนอง

จับเวลาตอบสนอง

  1. ใช้มือครอบบอร์ดอีกครั้ง แล้วนับเวลาตั้งแต่เริ่มครอบจนค่าแสงบนหน้าเว็บเปลี่ยนไป บันทึกเวลาที่สังเกตได้ วินาที

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

↑ กลับไปที่ใบงาน

คำถามท้ายกิจกรรม ถ้าเราจะสร้างระบบรดน้ำ แล้วต้องตัดสินใจว่าจะรดน้ำเมื่อไร ควรวัดค่าอะไรบ้าง และสวิตช์ลูกลอยช่วยบอกข้อมูลอะไรได้บ้าง