10 KiB
วัดความชื้นในดิน - ฮาร์ดแวร์ IoT เสมือน
ในส่วนนี้ของบทเรียน คุณจะเพิ่มเซ็นเซอร์วัดความชื้นในดินแบบ capacitive ลงในอุปกรณ์ IoT เสมือน และอ่านค่าจากเซ็นเซอร์นี้
ฮาร์ดแวร์เสมือน
อุปกรณ์ IoT เสมือนจะใช้เซ็นเซอร์วัดความชื้นในดินแบบ capacitive ของ Grove ที่จำลองขึ้นมา ซึ่งทำให้การทดลองนี้เหมือนกับการใช้งาน Raspberry Pi กับเซ็นเซอร์วัดความชื้นในดินแบบ capacitive จริง
ในอุปกรณ์ IoT จริง เซ็นเซอร์วัดความชื้นในดินจะเป็นเซ็นเซอร์แบบ capacitive ที่วัดความชื้นในดินโดยการตรวจจับค่าความจุไฟฟ้าของดิน ซึ่งเป็นคุณสมบัติที่เปลี่ยนแปลงไปตามความชื้นในดิน เมื่อความชื้นในดินเพิ่มขึ้น แรงดันไฟฟ้าจะลดลง
นี่คือเซ็นเซอร์แบบอนาล็อก ซึ่งใช้ ADC แบบ 10 บิตจำลองเพื่อรายงานค่าตั้งแต่ 1-1,023
เพิ่มเซ็นเซอร์วัดความชื้นในดินลงใน CounterFit
เพื่อใช้เซ็นเซอร์วัดความชื้นในดินเสมือน คุณต้องเพิ่มเซ็นเซอร์นี้ลงในแอป CounterFit
งาน - เพิ่มเซ็นเซอร์วัดความชื้นในดินลงใน CounterFit
เพิ่มเซ็นเซอร์วัดความชื้นในดินลงในแอป CounterFit
-
สร้างแอป Python ใหม่บนคอมพิวเตอร์ของคุณในโฟลเดอร์ชื่อ
soil-moisture-sensor
โดยมีไฟล์เดียวชื่อapp.py
และสร้างสภาพแวดล้อมเสมือนของ Python พร้อมทั้งเพิ่มแพ็กเกจ pip ของ CounterFit⚠️ คุณสามารถดู คำแนะนำในการสร้างและตั้งค่าโปรเจกต์ Python ของ CounterFit ในบทเรียนที่ 1 ได้หากจำเป็น
-
ตรวจสอบให้แน่ใจว่าแอปเว็บ CounterFit กำลังทำงานอยู่
-
สร้างเซ็นเซอร์วัดความชื้นในดิน:
-
ในกล่อง Create sensor ในแถบ Sensors ให้เลือกประเภทเซ็นเซอร์จากเมนูแบบเลื่อนลง และเลือก Soil Moisture
-
ปล่อยให้ Units ตั้งค่าเป็น NoUnits
-
ตรวจสอบให้แน่ใจว่า Pin ตั้งค่าเป็น 0
-
กดปุ่ม Add เพื่อสร้างเซ็นเซอร์ Soil Moisture บน Pin 0
เซ็นเซอร์วัดความชื้นในดินจะถูกสร้างขึ้นและปรากฏในรายการเซ็นเซอร์
-
เขียนโปรแกรมสำหรับแอปเซ็นเซอร์วัดความชื้นในดิน
ตอนนี้คุณสามารถเขียนโปรแกรมสำหรับแอปเซ็นเซอร์วัดความชื้นในดินโดยใช้เซ็นเซอร์ของ CounterFit ได้แล้ว
งาน - เขียนโปรแกรมสำหรับแอปเซ็นเซอร์วัดความชื้นในดิน
เขียนโปรแกรมสำหรับแอปเซ็นเซอร์วัดความชื้นในดิน
-
ตรวจสอบให้แน่ใจว่าแอป
soil-moisture-sensor
เปิดอยู่ใน VS Code -
เปิดไฟล์
app.py
-
เพิ่มโค้ดต่อไปนี้ที่ด้านบนของ
app.py
เพื่อเชื่อมต่อแอปกับ CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
เพิ่มโค้ดต่อไปนี้ในไฟล์
app.py
เพื่อเรียกใช้ไลบรารีที่จำเป็น:import time from counterfit_shims_grove.adc import ADC
คำสั่ง
import time
ใช้ในการนำเข้าโมดูลtime
ซึ่งจะถูกใช้งานในภายหลังในงานนี้คำสั่ง
from counterfit_shims_grove.adc import ADC
ใช้ในการนำเข้าADC
class เพื่อโต้ตอบกับตัวแปลงอนาล็อกเป็นดิจิทัลเสมือนที่สามารถเชื่อมต่อกับเซ็นเซอร์ของ CounterFit -
เพิ่มโค้ดต่อไปนี้ด้านล่างเพื่อสร้างอินสแตนซ์ของ
ADC
class:adc = ADC()
-
เพิ่มลูปแบบไม่มีที่สิ้นสุดที่อ่านค่าจาก ADC บน pin 0 และเขียนผลลัพธ์ลงในคอนโซล ลูปนี้จะหยุดพัก 10 วินาทีระหว่างการอ่านแต่ละครั้ง
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
จากแอป CounterFit เปลี่ยนค่าของเซ็นเซอร์วัดความชื้นในดินที่แอปจะอ่านค่า คุณสามารถทำได้สองวิธี:
-
ใส่ตัวเลขในกล่อง Value สำหรับเซ็นเซอร์วัดความชื้นในดิน จากนั้นกดปุ่ม Set ตัวเลขที่คุณใส่จะเป็นค่าที่เซ็นเซอร์ส่งกลับมา
-
เลือกช่อง Random และใส่ค่า Min และ Max จากนั้นกดปุ่ม Set ทุกครั้งที่เซ็นเซอร์อ่านค่า จะอ่านตัวเลขสุ่มระหว่าง Min และ Max
-
-
รันแอป 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 แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้