14 KiB
วัดอุณหภูมิ - ฮาร์ดแวร์ IoT เสมือนจริง
ในส่วนนี้ของบทเรียน คุณจะเพิ่มเซ็นเซอร์วัดอุณหภูมิลงในอุปกรณ์ IoT เสมือนจริงของคุณ
ฮาร์ดแวร์เสมือนจริง
อุปกรณ์ IoT เสมือนจริงจะใช้เซ็นเซอร์จำลอง Grove Digital Humidity และ Temperature sensor ซึ่งทำให้ห้องทดลองนี้เหมือนกับการใช้งาน Raspberry Pi กับเซ็นเซอร์ Grove DHT11 จริงๆ
เซ็นเซอร์นี้รวม เซ็นเซอร์วัดอุณหภูมิ กับ เซ็นเซอร์วัดความชื้น แต่ในห้องทดลองนี้คุณจะสนใจเฉพาะส่วนของเซ็นเซอร์วัดอุณหภูมิเท่านั้น ในอุปกรณ์ IoT จริง เซ็นเซอร์วัดอุณหภูมิจะเป็น thermistor ที่วัดอุณหภูมิผ่านการเปลี่ยนแปลงของความต้านทานเมื่ออุณหภูมิเปลี่ยนแปลง เซ็นเซอร์วัดอุณหภูมิมักจะเป็นเซ็นเซอร์ดิจิทัลที่แปลงค่าความต้านทานที่วัดได้เป็นอุณหภูมิในหน่วยองศาเซลเซียส (หรือเคลวิน หรือฟาเรนไฮต์) ภายในตัวเซ็นเซอร์
เพิ่มเซ็นเซอร์ลงใน CounterFit
เพื่อใช้เซ็นเซอร์วัดความชื้นและอุณหภูมิเสมือนจริง คุณต้องเพิ่มเซ็นเซอร์ทั้งสองลงในแอป CounterFit
งาน - เพิ่มเซ็นเซอร์ลงใน CounterFit
เพิ่มเซ็นเซอร์วัดความชื้นและอุณหภูมิลงในแอป CounterFit
-
สร้างแอป Python ใหม่บนคอมพิวเตอร์ของคุณในโฟลเดอร์ชื่อ
temperature-sensor
พร้อมไฟล์เดียวชื่อapp.py
และสภาพแวดล้อมเสมือน Python จากนั้นเพิ่มแพ็กเกจ pip ของ CounterFit⚠️ คุณสามารถดู คำแนะนำในการสร้างและตั้งค่าโปรเจกต์ Python สำหรับ CounterFit ในบทเรียนที่ 1 หากจำเป็น
-
ติดตั้งแพ็กเกจ Pip เพิ่มเติมเพื่อเพิ่ม CounterFit shim สำหรับเซ็นเซอร์ DHT11 ตรวจสอบให้แน่ใจว่าคุณกำลังติดตั้งจากเทอร์มินัลที่เปิดใช้งานสภาพแวดล้อมเสมือน
pip install counterfit-shims-seeed-python-dht
-
ตรวจสอบให้แน่ใจว่าแอปเว็บ CounterFit กำลังทำงานอยู่
-
สร้างเซ็นเซอร์วัดความชื้น:
-
ในกล่อง Create sensor ในแถบ Sensors เลือก Sensor type เป็น Humidity
-
ตั้งค่า Units เป็น Percentage
-
ตรวจสอบให้แน่ใจว่า Pin ตั้งค่าเป็น 5
-
กดปุ่ม Add เพื่อสร้างเซ็นเซอร์วัดความชื้นบน Pin 5
เซ็นเซอร์วัดความชื้นจะถูกสร้างและปรากฏในรายการเซ็นเซอร์
-
-
สร้างเซ็นเซอร์วัดอุณหภูมิ:
-
ในกล่อง Create sensor ในแถบ Sensors เลือก Sensor type เป็น Temperature
-
ตั้งค่า Units เป็น Celsius
-
ตรวจสอบให้แน่ใจว่า Pin ตั้งค่าเป็น 6
-
กดปุ่ม Add เพื่อสร้างเซ็นเซอร์วัดอุณหภูมิบน Pin 6
เซ็นเซอร์วัดอุณหภูมิจะถูกสร้างและปรากฏในรายการเซ็นเซอร์
-
เขียนโปรแกรมแอปเซ็นเซอร์วัดอุณหภูมิ
ตอนนี้คุณสามารถเขียนโปรแกรมแอปเซ็นเซอร์วัดอุณหภูมิได้โดยใช้เซ็นเซอร์ CounterFit
งาน - เขียนโปรแกรมแอปเซ็นเซอร์วัดอุณหภูมิ
เขียนโปรแกรมแอปเซ็นเซอร์วัดอุณหภูมิ
-
ตรวจสอบให้แน่ใจว่าแอป
temperature-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_seeed_python_dht import DHT
คำสั่ง
from seeed_dht import DHT
นำเข้า classDHT
เพื่อโต้ตอบกับเซ็นเซอร์ Grove วัดอุณหภูมิเสมือนจริงโดยใช้ shim จากโมดูลcounterfit_shims_seeed_python_dht
-
เพิ่มโค้ดต่อไปนี้หลังโค้ดด้านบนเพื่อสร้าง instance ของ class ที่จัดการเซ็นเซอร์วัดความชื้นและอุณหภูมิเสมือนจริง:
sensor = DHT("11", 5)
โค้ดนี้ประกาศ instance ของ class
DHT
ที่จัดการเซ็นเซอร์ Digital Humidity และ Temperature เสมือนจริง พารามิเตอร์แรกบอกโค้ดว่าเซ็นเซอร์ที่ใช้คือเซ็นเซอร์เสมือน DHT11 พารามิเตอร์ที่สองบอกโค้ดว่าเซ็นเซอร์เชื่อมต่ออยู่ที่พอร์ต5
💁 CounterFit จำลองเซ็นเซอร์วัดความชื้นและอุณหภูมิรวมกันโดยเชื่อมต่อกับเซ็นเซอร์ 2 ตัว เซ็นเซอร์วัดความชื้นบนพินที่กำหนดเมื่อสร้าง class
DHT
และเซ็นเซอร์วัดอุณหภูมิที่ทำงานบนพินถัดไป หากเซ็นเซอร์วัดความชื้นอยู่บนพิน 5 shim จะคาดว่าเซ็นเซอร์วัดอุณหภูมิจะอยู่บนพิน 6 -
เพิ่มลูปแบบไม่สิ้นสุดหลังโค้ดด้านบนเพื่อดึงค่าจากเซ็นเซอร์วัดอุณหภูมิและแสดงผลในคอนโซล:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
การเรียก
sensor.read()
จะคืนค่าทูเพิลของความชื้นและอุณหภูมิ คุณต้องการเฉพาะค่าของอุณหภูมิ ดังนั้นค่าความชื้นจะถูกละเลย ค่าของอุณหภูมิจะถูกแสดงผลในคอนโซล -
เพิ่มการพักการทำงานเล็กน้อยเป็นเวลา 10 วินาทีที่ท้าย
loop
เนื่องจากระดับอุณหภูมิไม่จำเป็นต้องตรวจสอบอย่างต่อเนื่อง การพักการทำงานช่วยลดการใช้พลังงานของอุปกรณ์time.sleep(10)
-
จากเทอร์มินัลใน VS Code ที่เปิดใช้งานสภาพแวดล้อมเสมือน ให้รันคำสั่งต่อไปนี้เพื่อรันแอป Python ของคุณ:
python app.py
-
จากแอป CounterFit เปลี่ยนค่าของเซ็นเซอร์วัดอุณหภูมิที่แอปจะอ่านค่า คุณสามารถทำได้สองวิธี:
-
ใส่ตัวเลขในกล่อง Value สำหรับเซ็นเซอร์วัดอุณหภูมิ จากนั้นกดปุ่ม Set ตัวเลขที่คุณใส่จะเป็นค่าที่เซ็นเซอร์คืนกลับมา
-
เลือกช่อง Random และใส่ค่า Min และ Max จากนั้นกดปุ่ม Set ทุกครั้งที่เซ็นเซอร์อ่านค่า มันจะอ่านค่าตัวเลขสุ่มระหว่าง Min และ Max
คุณควรเห็นค่าที่คุณตั้งปรากฏในคอนโซล เปลี่ยนค่า Value หรือการตั้งค่า Random เพื่อดูค่าที่เปลี่ยนแปลง
(.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C
-
💁 คุณสามารถค้นหาโค้ดนี้ได้ในโฟลเดอร์ code-temperature/virtual-device
😀 โปรแกรมเซ็นเซอร์วัดอุณหภูมิของคุณสำเร็จแล้ว!
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้