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/1-predict-plant-growth/virtual-device-temp.md

14 KiB

วัดอุณหภูมิ - ฮาร์ดแวร์ IoT เสมือนจริง

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

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

อุปกรณ์ IoT เสมือนจริงจะใช้เซ็นเซอร์จำลอง Grove Digital Humidity และ Temperature sensor ซึ่งทำให้ห้องทดลองนี้เหมือนกับการใช้งาน Raspberry Pi กับเซ็นเซอร์ Grove DHT11 จริงๆ

เซ็นเซอร์นี้รวม เซ็นเซอร์วัดอุณหภูมิ กับ เซ็นเซอร์วัดความชื้น แต่ในห้องทดลองนี้คุณจะสนใจเฉพาะส่วนของเซ็นเซอร์วัดอุณหภูมิเท่านั้น ในอุปกรณ์ IoT จริง เซ็นเซอร์วัดอุณหภูมิจะเป็น thermistor ที่วัดอุณหภูมิผ่านการเปลี่ยนแปลงของความต้านทานเมื่ออุณหภูมิเปลี่ยนแปลง เซ็นเซอร์วัดอุณหภูมิมักจะเป็นเซ็นเซอร์ดิจิทัลที่แปลงค่าความต้านทานที่วัดได้เป็นอุณหภูมิในหน่วยองศาเซลเซียส (หรือเคลวิน หรือฟาเรนไฮต์) ภายในตัวเซ็นเซอร์

เพิ่มเซ็นเซอร์ลงใน CounterFit

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

งาน - เพิ่มเซ็นเซอร์ลงใน CounterFit

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

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

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

  2. ติดตั้งแพ็กเกจ Pip เพิ่มเติมเพื่อเพิ่ม CounterFit shim สำหรับเซ็นเซอร์ DHT11 ตรวจสอบให้แน่ใจว่าคุณกำลังติดตั้งจากเทอร์มินัลที่เปิดใช้งานสภาพแวดล้อมเสมือน

    pip install counterfit-shims-seeed-python-dht
    
  3. ตรวจสอบให้แน่ใจว่าแอปเว็บ CounterFit กำลังทำงานอยู่

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

    1. ในกล่อง Create sensor ในแถบ Sensors เลือก Sensor type เป็น Humidity

    2. ตั้งค่า Units เป็น Percentage

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

    4. กดปุ่ม Add เพื่อสร้างเซ็นเซอร์วัดความชื้นบน Pin 5

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

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

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

  5. สร้างเซ็นเซอร์วัดอุณหภูมิ:

    1. ในกล่อง Create sensor ในแถบ Sensors เลือก Sensor type เป็น Temperature

    2. ตั้งค่า Units เป็น Celsius

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

    4. กดปุ่ม Add เพื่อสร้างเซ็นเซอร์วัดอุณหภูมิบน Pin 6

    การตั้งค่าเซ็นเซอร์วัดอุณหภูมิ

    เซ็นเซอร์วัดอุณหภูมิจะถูกสร้างและปรากฏในรายการเซ็นเซอร์

    เซ็นเซอร์วัดอุณหภูมิที่ถูกสร้าง

เขียนโปรแกรมแอปเซ็นเซอร์วัดอุณหภูมิ

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

งาน - เขียนโปรแกรมแอปเซ็นเซอร์วัดอุณหภูมิ

เขียนโปรแกรมแอปเซ็นเซอร์วัดอุณหภูมิ

  1. ตรวจสอบให้แน่ใจว่าแอป temperature-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_seeed_python_dht import DHT
    

    คำสั่ง from seeed_dht import DHT นำเข้า class DHT เพื่อโต้ตอบกับเซ็นเซอร์ Grove วัดอุณหภูมิเสมือนจริงโดยใช้ shim จากโมดูล counterfit_shims_seeed_python_dht

  5. เพิ่มโค้ดต่อไปนี้หลังโค้ดด้านบนเพื่อสร้าง instance ของ class ที่จัดการเซ็นเซอร์วัดความชื้นและอุณหภูมิเสมือนจริง:

    sensor = DHT("11", 5)
    

    โค้ดนี้ประกาศ instance ของ class DHT ที่จัดการเซ็นเซอร์ Digital Humidity และ Temperature เสมือนจริง พารามิเตอร์แรกบอกโค้ดว่าเซ็นเซอร์ที่ใช้คือเซ็นเซอร์เสมือน DHT11 พารามิเตอร์ที่สองบอกโค้ดว่าเซ็นเซอร์เชื่อมต่ออยู่ที่พอร์ต 5

    💁 CounterFit จำลองเซ็นเซอร์วัดความชื้นและอุณหภูมิรวมกันโดยเชื่อมต่อกับเซ็นเซอร์ 2 ตัว เซ็นเซอร์วัดความชื้นบนพินที่กำหนดเมื่อสร้าง class DHT และเซ็นเซอร์วัดอุณหภูมิที่ทำงานบนพินถัดไป หากเซ็นเซอร์วัดความชื้นอยู่บนพิน 5 shim จะคาดว่าเซ็นเซอร์วัดอุณหภูมิจะอยู่บนพิน 6

  6. เพิ่มลูปแบบไม่สิ้นสุดหลังโค้ดด้านบนเพื่อดึงค่าจากเซ็นเซอร์วัดอุณหภูมิและแสดงผลในคอนโซล:

    while True:
        _, temp = sensor.read()
        print(f'Temperature {temp}°C')
    

    การเรียก sensor.read() จะคืนค่าทูเพิลของความชื้นและอุณหภูมิ คุณต้องการเฉพาะค่าของอุณหภูมิ ดังนั้นค่าความชื้นจะถูกละเลย ค่าของอุณหภูมิจะถูกแสดงผลในคอนโซล

  7. เพิ่มการพักการทำงานเล็กน้อยเป็นเวลา 10 วินาทีที่ท้าย loop เนื่องจากระดับอุณหภูมิไม่จำเป็นต้องตรวจสอบอย่างต่อเนื่อง การพักการทำงานช่วยลดการใช้พลังงานของอุปกรณ์

    time.sleep(10)
    
  8. จากเทอร์มินัลใน VS Code ที่เปิดใช้งานสภาพแวดล้อมเสมือน ให้รันคำสั่งต่อไปนี้เพื่อรันแอป Python ของคุณ:

    python app.py
    
  9. จากแอป 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 แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้