# วัดความชื้นในดิน - ฮาร์ดแวร์ 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 ได้หากจำเป็น](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md) 1. ตรวจสอบให้แน่ใจว่าแอปเว็บ CounterFit กำลังทำงานอยู่ 1. สร้างเซ็นเซอร์วัดความชื้นในดิน: 1. ในกล่อง *Create sensor* ในแถบ *Sensors* ให้เลือกประเภทเซ็นเซอร์จากเมนูแบบเลื่อนลง และเลือก *Soil Moisture* 1. ปล่อยให้ *Units* ตั้งค่าเป็น *NoUnits* 1. ตรวจสอบให้แน่ใจว่า *Pin* ตั้งค่าเป็น *0* 1. กดปุ่ม **Add** เพื่อสร้างเซ็นเซอร์ *Soil Moisture* บน Pin 0 ![การตั้งค่าเซ็นเซอร์วัดความชื้นในดิน](../../../../../translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.th.png) เซ็นเซอร์วัดความชื้นในดินจะถูกสร้างขึ้นและปรากฏในรายการเซ็นเซอร์ ![เซ็นเซอร์วัดความชื้นในดินที่ถูกสร้างขึ้น](../../../../../translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.th.png) ## เขียนโปรแกรมสำหรับแอปเซ็นเซอร์วัดความชื้นในดิน ตอนนี้คุณสามารถเขียนโปรแกรมสำหรับแอปเซ็นเซอร์วัดความชื้นในดินโดยใช้เซ็นเซอร์ของ CounterFit ได้แล้ว ### งาน - เขียนโปรแกรมสำหรับแอปเซ็นเซอร์วัดความชื้นในดิน เขียนโปรแกรมสำหรับแอปเซ็นเซอร์วัดความชื้นในดิน 1. ตรวจสอบให้แน่ใจว่าแอป `soil-moisture-sensor` เปิดอยู่ใน VS Code 1. เปิดไฟล์ `app.py` 1. เพิ่มโค้ดต่อไปนี้ที่ด้านบนของ `app.py` เพื่อเชื่อมต่อแอปกับ CounterFit: ```python from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000) ``` 1. เพิ่มโค้ดต่อไปนี้ในไฟล์ `app.py` เพื่อเรียกใช้ไลบรารีที่จำเป็น: ```python import time from counterfit_shims_grove.adc import ADC ``` คำสั่ง `import time` ใช้ในการนำเข้าโมดูล `time` ซึ่งจะถูกใช้งานในภายหลังในงานนี้ คำสั่ง `from counterfit_shims_grove.adc import ADC` ใช้ในการนำเข้า `ADC` class เพื่อโต้ตอบกับตัวแปลงอนาล็อกเป็นดิจิทัลเสมือนที่สามารถเชื่อมต่อกับเซ็นเซอร์ของ CounterFit 1. เพิ่มโค้ดต่อไปนี้ด้านล่างเพื่อสร้างอินสแตนซ์ของ `ADC` class: ```python adc = ADC() ``` 1. เพิ่มลูปแบบไม่มีที่สิ้นสุดที่อ่านค่าจาก ADC บน pin 0 และเขียนผลลัพธ์ลงในคอนโซล ลูปนี้จะหยุดพัก 10 วินาทีระหว่างการอ่านแต่ละครั้ง ```python while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10) ``` 1. จากแอป CounterFit เปลี่ยนค่าของเซ็นเซอร์วัดความชื้นในดินที่แอปจะอ่านค่า คุณสามารถทำได้สองวิธี: * ใส่ตัวเลขในกล่อง *Value* สำหรับเซ็นเซอร์วัดความชื้นในดิน จากนั้นกดปุ่ม **Set** ตัวเลขที่คุณใส่จะเป็นค่าที่เซ็นเซอร์ส่งกลับมา * เลือกช่อง *Random* และใส่ค่า *Min* และ *Max* จากนั้นกดปุ่ม **Set** ทุกครั้งที่เซ็นเซอร์อ่านค่า จะอ่านตัวเลขสุ่มระหว่าง *Min* และ *Max* 1. รันแอป Python คุณจะเห็นค่าการวัดความชื้นในดินแสดงในคอนโซล เปลี่ยนค่า *Value* หรือการตั้งค่า *Random* เพื่อดูค่าที่เปลี่ยนแปลง ```output (.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](../../../../../2-farm/lessons/2-detect-soil-moisture/code/virtual-device) 😀 โปรแกรมเซ็นเซอร์วัดความชื้นในดินของคุณสำเร็จแล้ว! --- **ข้อจำกัดความรับผิดชอบ**: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้