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/2-detect-soil-moisture/virtual-device-soil-moistur...

10 KiB

วัดความชื้นในดิน - ฮาร์ดแวร์ IoT เสมือน

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

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

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

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

นี่คือเซ็นเซอร์แบบอนาล็อก ซึ่งใช้ ADC แบบ 10 บิตจำลองเพื่อรายงานค่าตั้งแต่ 1-1,023

เพิ่มเซ็นเซอร์วัดความชื้นในดินลงใน CounterFit

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

งาน - เพิ่มเซ็นเซอร์วัดความชื้นในดินลงใน CounterFit

เพิ่มเซ็นเซอร์วัดความชื้นในดินลงในแอป CounterFit

  1. สร้างแอป Python ใหม่บนคอมพิวเตอร์ของคุณในโฟลเดอร์ชื่อ soil-moisture-sensor โดยมีไฟล์เดียวชื่อ app.py และสร้างสภาพแวดล้อมเสมือนของ Python พร้อมทั้งเพิ่มแพ็กเกจ pip ของ CounterFit

    ⚠️ คุณสามารถดู คำแนะนำในการสร้างและตั้งค่าโปรเจกต์ Python ของ CounterFit ในบทเรียนที่ 1 ได้หากจำเป็น

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

  3. สร้างเซ็นเซอร์วัดความชื้นในดิน:

    1. ในกล่อง Create sensor ในแถบ Sensors ให้เลือกประเภทเซ็นเซอร์จากเมนูแบบเลื่อนลง และเลือก Soil Moisture

    2. ปล่อยให้ Units ตั้งค่าเป็น NoUnits

    3. ตรวจสอบให้แน่ใจว่า Pin ตั้งค่าเป็น 0

    4. กดปุ่ม Add เพื่อสร้างเซ็นเซอร์ Soil Moisture บน Pin 0

    การตั้งค่าเซ็นเซอร์วัดความชื้นในดิน

    เซ็นเซอร์วัดความชื้นในดินจะถูกสร้างขึ้นและปรากฏในรายการเซ็นเซอร์

    เซ็นเซอร์วัดความชื้นในดินที่ถูกสร้างขึ้น

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

ตอนนี้คุณสามารถเขียนโปรแกรมสำหรับแอปเซ็นเซอร์วัดความชื้นในดินโดยใช้เซ็นเซอร์ของ CounterFit ได้แล้ว

งาน - เขียนโปรแกรมสำหรับแอปเซ็นเซอร์วัดความชื้นในดิน

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

  1. ตรวจสอบให้แน่ใจว่าแอป soil-moisture-sensor เปิดอยู่ใน VS Code

  2. เปิดไฟล์ app.py

  3. เพิ่มโค้ดต่อไปนี้ที่ด้านบนของ app.py เพื่อเชื่อมต่อแอปกับ CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. เพิ่มโค้ดต่อไปนี้ในไฟล์ app.py เพื่อเรียกใช้ไลบรารีที่จำเป็น:

    import time
    from counterfit_shims_grove.adc import ADC
    

    คำสั่ง import time ใช้ในการนำเข้าโมดูล time ซึ่งจะถูกใช้งานในภายหลังในงานนี้

    คำสั่ง from counterfit_shims_grove.adc import ADC ใช้ในการนำเข้า ADC class เพื่อโต้ตอบกับตัวแปลงอนาล็อกเป็นดิจิทัลเสมือนที่สามารถเชื่อมต่อกับเซ็นเซอร์ของ CounterFit

  5. เพิ่มโค้ดต่อไปนี้ด้านล่างเพื่อสร้างอินสแตนซ์ของ ADC class:

    adc = ADC()
    
  6. เพิ่มลูปแบบไม่มีที่สิ้นสุดที่อ่านค่าจาก ADC บน pin 0 และเขียนผลลัพธ์ลงในคอนโซล ลูปนี้จะหยุดพัก 10 วินาทีระหว่างการอ่านแต่ละครั้ง

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  7. จากแอป CounterFit เปลี่ยนค่าของเซ็นเซอร์วัดความชื้นในดินที่แอปจะอ่านค่า คุณสามารถทำได้สองวิธี:

    • ใส่ตัวเลขในกล่อง Value สำหรับเซ็นเซอร์วัดความชื้นในดิน จากนั้นกดปุ่ม Set ตัวเลขที่คุณใส่จะเป็นค่าที่เซ็นเซอร์ส่งกลับมา

    • เลือกช่อง Random และใส่ค่า Min และ Max จากนั้นกดปุ่ม Set ทุกครั้งที่เซ็นเซอร์อ่านค่า จะอ่านตัวเลขสุ่มระหว่าง Min และ Max

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

    (.venv) ➜ soil-moisture-sensor $ python app.py 
    Soil moisture: 615
    Soil moisture: 612
    Soil moisture: 498
    Soil moisture: 493
    Soil moisture: 490
    Soil Moisture: 388
    

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

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


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