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...

123 lines
10 KiB

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "2bf65f162bcebd35fbcba5fd245afac4",
"translation_date": "2025-08-27T21:45:38+00:00",
"source_file": "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md",
"language_code": "th"
}
-->
# วัดความชื้นในดิน - ฮาร์ดแวร์ 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) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้