You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/th/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md

9.0 KiB

ควบคุมรีเลย์ - ฮาร์ดแวร์ IoT เสมือน

ในส่วนนี้ของบทเรียน คุณจะเพิ่มรีเลย์เข้าไปในอุปกรณ์ IoT เสมือนของคุณ นอกเหนือจากเซ็นเซอร์วัดความชื้นในดิน และควบคุมมันตามระดับความชื้นในดิน

ฮาร์ดแวร์เสมือน

อุปกรณ์ IoT เสมือนจะใช้รีเลย์ Grove จำลอง ซึ่งทำให้การทดลองนี้เหมือนกับการใช้ Raspberry Pi กับรีเลย์ Grove จริง

ในอุปกรณ์ IoT จริง รีเลย์จะเป็นรีเลย์แบบเปิดปกติ (หมายความว่าวงจรเอาต์พุตจะเปิดหรือถูกตัดการเชื่อมต่อเมื่อไม่มีสัญญาณส่งไปยังรีเลย์) รีเลย์แบบนี้สามารถจัดการวงจรเอาต์พุตได้สูงสุด 250V และ 10A

เพิ่มรีเลย์ใน CounterFit

เพื่อใช้รีเลย์เสมือน คุณต้องเพิ่มมันในแอป CounterFit

งาน

เพิ่มรีเลย์ในแอป CounterFit

  1. เปิดโปรเจกต์ soil-moisture-sensor จากบทเรียนที่แล้วใน VS Code หากยังไม่ได้เปิด คุณจะเพิ่มลงในโปรเจกต์นี้

  2. ตรวจสอบให้แน่ใจว่าแอปเว็บ CounterFit กำลังทำงานอยู่

  3. สร้างรีเลย์:

    1. ในกล่อง Create actuator ในแถบ Actuators คลิกที่กล่อง Actuator type และเลือก Relay

    2. ตั้งค่า Pin เป็น 5

    3. คลิกปุ่ม Add เพื่อสร้างรีเลย์บน Pin 5

    การตั้งค่ารีเลย์

    รีเลย์จะถูกสร้างและปรากฏในรายการ actuators

    รีเลย์ที่ถูกสร้าง

เขียนโปรแกรมควบคุมรีเลย์

แอปเซ็นเซอร์วัดความชื้นในดินสามารถเขียนโปรแกรมเพื่อใช้รีเลย์เสมือนได้แล้ว

งาน

เขียนโปรแกรมอุปกรณ์เสมือน

  1. เปิดโปรเจกต์ soil-moisture-sensor จากบทเรียนที่แล้วใน VS Code หากยังไม่ได้เปิด คุณจะเพิ่มลงในโปรเจกต์นี้

  2. เพิ่มโค้ดต่อไปนี้ในไฟล์ app.py ใต้ส่วน imports ที่มีอยู่:

    from counterfit_shims_grove.grove_relay import GroveRelay
    

    คำสั่งนี้นำเข้า GroveRelay จากไลบรารี Grove Python shim เพื่อโต้ตอบกับรีเลย์ Grove เสมือน

  3. เพิ่มโค้ดต่อไปนี้ใต้การประกาศคลาส ADC เพื่อสร้างอินสแตนซ์ GroveRelay:

    relay = GroveRelay(5)
    

    โค้ดนี้สร้างรีเลย์โดยใช้ Pin 5 ซึ่งเป็นพินที่คุณเชื่อมต่อรีเลย์

  4. เพื่อทดสอบว่ารีเลย์ทำงานหรือไม่ ให้เพิ่มโค้ดต่อไปนี้ในลูป while True::

    relay.on()
    time.sleep(.5)
    relay.off()
    

    โค้ดนี้เปิดรีเลย์ รอ 0.5 วินาที จากนั้นปิดรีเลย์

  5. รันแอป Python รีเลย์จะเปิดและปิดทุกๆ 10 วินาที โดยมีการหน่วงเวลา 0.5 วินาทีระหว่างการเปิดและปิด คุณจะเห็นรีเลย์เสมือนในแอป CounterFit ปิดและเปิดตามการทำงานของรีเลย์

    รีเลย์เสมือนเปิดและปิด

ควบคุมรีเลย์จากความชื้นในดิน

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

งาน

ควบคุมรีเลย์

  1. ลบโค้ด 3 บรรทัดที่คุณเพิ่มเพื่อทดสอบรีเลย์ และแทนที่ด้วยโค้ดต่อไปนี้:

    if soil_moisture > 450:
        print("Soil Moisture is too low, turning relay on.")
        relay.on()
    else:
        print("Soil Moisture is ok, turning relay off.")
        relay.off()
    

    โค้ดนี้ตรวจสอบระดับความชื้นในดินจากเซ็นเซอร์วัดความชื้นในดิน หากค่ามากกว่า 450 จะเปิดรีเลย์ และปิดรีเลย์หากค่าต่ำกว่า 450

    💁 จำไว้ว่าเซ็นเซอร์วัดความชื้นในดินแบบ capacitive จะอ่านค่าความชื้นในดินต่ำเมื่อดินมีความชื้นมาก และในทางกลับกัน

  2. รันแอป Python คุณจะเห็นรีเลย์เปิดหรือปิดตามระดับความชื้นในดิน เปลี่ยน Value หรือการตั้งค่า Random สำหรับเซ็นเซอร์วัดความชื้นในดินเพื่อดูค่าที่เปลี่ยนแปลง

    Soil Moisture: 638
    Soil Moisture is too low, turning relay on.
    Soil Moisture: 452
    Soil Moisture is too low, turning relay on.
    Soil Moisture: 347
    Soil Moisture is ok, turning relay off.
    

💁 คุณสามารถหาโค้ดนี้ได้ในโฟลเดอร์ code-relay/virtual-device

😀 โปรแกรมเซ็นเซอร์วัดความชื้นในดินเสมือนที่ควบคุมรีเลย์ของคุณสำเร็จแล้ว!


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้