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/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md

24 KiB

คอมพิวเตอร์บอร์ดเดี่ยวเสมือน

แทนที่จะซื้ออุปกรณ์ IoT พร้อมกับเซ็นเซอร์และแอคชูเอเตอร์ คุณสามารถใช้คอมพิวเตอร์ของคุณเพื่อจำลองฮาร์ดแวร์ IoT ได้ โครงการ CounterFit ช่วยให้คุณสามารถรันแอปในเครื่องที่จำลองฮาร์ดแวร์ IoT เช่น เซ็นเซอร์และแอคชูเอเตอร์ และเข้าถึงเซ็นเซอร์และแอคชูเอเตอร์จากโค้ด Python ในเครื่องที่เขียนในลักษณะเดียวกับโค้ดที่คุณจะเขียนบน Raspberry Pi โดยใช้ฮาร์ดแวร์จริง

การตั้งค่า

ในการใช้ CounterFit คุณจะต้องติดตั้งซอฟต์แวร์ฟรีบางตัวบนคอมพิวเตอร์ของคุณ

งาน

ติดตั้งซอฟต์แวร์ที่จำเป็น

  1. ติดตั้ง Python ดูคำแนะนำในการติดตั้งเวอร์ชันล่าสุดของ Python ได้ที่ หน้า Python downloads

  2. ติดตั้ง Visual Studio Code (VS Code) ซึ่งเป็นโปรแกรมแก้ไขที่คุณจะใช้เขียนโค้ดอุปกรณ์เสมือนใน Python ดูคำแนะนำในการติดตั้ง VS Code ได้ที่ เอกสาร VS Code

    💁 คุณสามารถใช้ Python IDE หรือโปรแกรมแก้ไขใด ๆ ที่คุณชอบสำหรับบทเรียนนี้ได้ แต่บทเรียนจะให้คำแนะนำโดยอิงจากการใช้ VS Code

  3. ติดตั้งส่วนขยาย VS Code Pylance ซึ่งเป็นส่วนขยายสำหรับ VS Code ที่ให้การสนับสนุนภาษา Python ดูคำแนะนำในการติดตั้งส่วนขยายนี้ใน VS Code ได้ที่ เอกสารส่วนขยาย Pylance

คำแนะนำในการติดตั้งและกำหนดค่าแอป CounterFit จะมีให้ในเวลาที่เหมาะสมในคำแนะนำของงาน เนื่องจากจะติดตั้งในแต่ละโปรเจกต์

Hello world

ตามธรรมเนียมเมื่อเริ่มต้นกับภาษาโปรแกรมหรือเทคโนโลยีใหม่ ๆ เราจะสร้างแอป 'Hello World' ซึ่งเป็นแอปเล็ก ๆ ที่แสดงข้อความ เช่น "Hello World" เพื่อแสดงว่าเครื่องมือทั้งหมดได้รับการกำหนดค่าอย่างถูกต้อง

แอป Hello World สำหรับฮาร์ดแวร์ IoT เสมือนจะช่วยให้คุณมั่นใจได้ว่า Python และ Visual Studio Code ได้รับการติดตั้งอย่างถูกต้อง นอกจากนี้ยังจะเชื่อมต่อกับ CounterFit สำหรับเซ็นเซอร์และแอคชูเอเตอร์ IoT เสมือน โดยไม่ใช้ฮาร์ดแวร์ใด ๆ เพียงแค่เชื่อมต่อเพื่อพิสูจน์ว่าทุกอย่างทำงานได้

แอปนี้จะอยู่ในโฟลเดอร์ชื่อ nightlight และจะถูกนำมาใช้ซ้ำพร้อมโค้ดที่แตกต่างกันในส่วนถัดไปของงานนี้เพื่อสร้างแอปพลิเคชัน nightlight

กำหนดค่าสภาพแวดล้อมเสมือน Python

หนึ่งในคุณสมบัติที่ทรงพลังของ Python คือความสามารถในการติดตั้ง Pip packages ซึ่งเป็นแพ็กเกจโค้ดที่เขียนโดยผู้อื่นและเผยแพร่บนอินเทอร์เน็ต คุณสามารถติดตั้งแพ็กเกจ Pip ลงในคอมพิวเตอร์ของคุณด้วยคำสั่งเดียว จากนั้นใช้แพ็กเกจนั้นในโค้ดของคุณ คุณจะใช้ Pip เพื่อติดตั้งแพ็กเกจสำหรับการเชื่อมต่อกับ CounterFit

โดยปกติเมื่อคุณติดตั้งแพ็กเกจ มันจะพร้อมใช้งานทุกที่ในคอมพิวเตอร์ของคุณ ซึ่งอาจนำไปสู่ปัญหาเกี่ยวกับเวอร์ชันของแพ็กเกจ เช่น แอปพลิเคชันหนึ่งต้องการเวอร์ชันหนึ่งของแพ็กเกจที่อาจใช้งานไม่ได้เมื่อคุณติดตั้งเวอร์ชันใหม่สำหรับแอปพลิเคชันอื่น เพื่อหลีกเลี่ยงปัญหานี้ คุณสามารถใช้ สภาพแวดล้อมเสมือน Python ซึ่งเป็นสำเนาของ Python ในโฟลเดอร์เฉพาะ และเมื่อคุณติดตั้งแพ็กเกจ Pip แพ็กเกจเหล่านั้นจะถูกติดตั้งเฉพาะในโฟลเดอร์นั้น

💁 หากคุณใช้ Raspberry Pi คุณไม่ได้ตั้งค่าสภาพแวดล้อมเสมือนบนอุปกรณ์นั้นเพื่อจัดการแพ็กเกจ Pip แต่คุณใช้แพ็กเกจแบบ global เนื่องจากแพ็กเกจ Grove ถูกติดตั้งแบบ global โดยสคริปต์ติดตั้ง

งาน - กำหนดค่าสภาพแวดล้อมเสมือน Python

กำหนดค่าสภาพแวดล้อมเสมือน Python และติดตั้งแพ็กเกจ Pip สำหรับ CounterFit

  1. จากเทอร์มินัลหรือคอมมานด์ไลน์ของคุณ รันคำสั่งต่อไปนี้ในตำแหน่งที่คุณเลือกเพื่อสร้างและนำทางไปยังไดเรกทอรีใหม่:

    mkdir nightlight
    cd nightlight
    
  2. รันคำสั่งต่อไปนี้เพื่อสร้างสภาพแวดล้อมเสมือนในโฟลเดอร์ .venv:

    python3 -m venv .venv
    

    💁 คุณต้องเรียก python3 อย่างชัดเจนเพื่อสร้างสภาพแวดล้อมเสมือนในกรณีที่คุณติดตั้ง Python 2 ไว้ด้วย หากคุณติดตั้ง Python 2 การเรียก python จะใช้ Python 2 แทน Python 3

  3. เปิดใช้งานสภาพแวดล้อมเสมือน:

    • บน Windows:

      • หากคุณใช้ Command Prompt หรือ Command Prompt ผ่าน Windows Terminal ให้รัน:

        .venv\Scripts\activate.bat
        
      • หากคุณใช้ PowerShell ให้รัน:

        .\.venv\Scripts\Activate.ps1
        

        หากคุณได้รับข้อผิดพลาดเกี่ยวกับการรันสคริปต์ที่ถูกปิดใช้งานในระบบนี้ คุณจะต้องเปิดใช้งานการรันสคริปต์โดยตั้งค่านโยบายการดำเนินการที่เหมาะสม คุณสามารถทำได้โดยเปิด PowerShell ในฐานะผู้ดูแลระบบ จากนั้นรันคำสั่งต่อไปนี้:

        Set-ExecutionPolicy -ExecutionPolicy Unrestricted
        

        กด Y เมื่อถูกถามเพื่อยืนยัน จากนั้นเปิด PowerShell ใหม่และลองอีกครั้ง

        คุณสามารถรีเซ็ตนโยบายการดำเนินการนี้ในภายหลังหากจำเป็น คุณสามารถอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ใน หน้าการตั้งค่านโยบายการดำเนินการใน Microsoft Docs

    • บน macOS หรือ Linux ให้รัน:

      source ./.venv/bin/activate
      

    💁 คำสั่งเหล่านี้ควรรันจากตำแหน่งเดียวกับที่คุณรันคำสั่งเพื่อสร้างสภาพแวดล้อมเสมือน คุณไม่จำเป็นต้องนำทางเข้าไปในโฟลเดอร์ .venv คุณควรรันคำสั่งเปิดใช้งานและคำสั่งใด ๆ เพื่อการติดตั้งแพ็กเกจหรือรันโค้ดจากโฟลเดอร์ที่คุณอยู่เมื่อคุณสร้างสภาพแวดล้อมเสมือน

  4. เมื่อสภาพแวดล้อมเสมือนถูกเปิดใช้งาน คำสั่ง python เริ่มต้นจะรันเวอร์ชันของ Python ที่ใช้สร้างสภาพแวดล้อมเสมือน รันคำสั่งต่อไปนี้เพื่อดูเวอร์ชัน:

    python --version
    

    ผลลัพธ์ควรมีดังนี้:

    (.venv) ➜  nightlight python --version
    Python 3.9.1
    

    💁 เวอร์ชัน Python ของคุณอาจแตกต่างออกไป - ตราบใดที่เป็นเวอร์ชัน 3.6 หรือสูงกว่าก็ถือว่าใช้ได้ หากไม่ใช่ ให้ลบโฟลเดอร์นี้ ติดตั้งเวอร์ชันใหม่ของ Python และลองอีกครั้ง

  5. รันคำสั่งต่อไปนี้เพื่อติดตั้งแพ็กเกจ Pip สำหรับ CounterFit แพ็กเกจเหล่านี้รวมถึงแอป CounterFit หลักและ shims สำหรับฮาร์ดแวร์ Grove shims เหล่านี้ช่วยให้คุณเขียนโค้ดเหมือนกับว่าคุณกำลังเขียนโปรแกรมโดยใช้เซ็นเซอร์และแอคชูเอเตอร์จริงจากระบบ Grove แต่เชื่อมต่อกับอุปกรณ์ IoT เสมือน

    pip install CounterFit
    pip install counterfit-connection
    pip install counterfit-shims-grove
    

    แพ็กเกจ Pip เหล่านี้จะถูกติดตั้งเฉพาะในสภาพแวดล้อมเสมือน และจะไม่สามารถใช้งานได้ภายนอก

เขียนโค้ด

เมื่อสภาพแวดล้อมเสมือน Python พร้อมแล้ว คุณสามารถเขียนโค้ดสำหรับแอป 'Hello World' ได้

งาน - เขียนโค้ด

สร้างแอปพลิเคชัน Python เพื่อพิมพ์ "Hello World" ลงในคอนโซล

  1. จากเทอร์มินัลหรือคอมมานด์ไลน์ของคุณ รันคำสั่งต่อไปนี้ภายในสภาพแวดล้อมเสมือนเพื่อสร้างไฟล์ Python ชื่อ app.py:

    • บน Windows รัน:

      type nul > app.py
      
    • บน macOS หรือ Linux รัน:

      touch app.py
      
  2. เปิดโฟลเดอร์ปัจจุบันใน VS Code:

    code .
    

    💁 หากเทอร์มินัลของคุณแสดง command not found บน macOS หมายความว่า VS Code ยังไม่ได้ถูกเพิ่มใน PATH ของคุณ คุณสามารถเพิ่ม VS Code ใน PATH ได้โดยทำตามคำแนะนำใน ส่วนการเปิดใช้งานจากบรรทัดคำสั่งในเอกสาร VS Code และรันคำสั่งหลังจากนั้น VS Code จะถูกเพิ่มใน PATH โดยค่าเริ่มต้นบน Windows และ Linux

  3. เมื่อ VS Code เปิดขึ้น มันจะเปิดใช้งานสภาพแวดล้อมเสมือน Python สภาพแวดล้อมเสมือนที่เลือกจะปรากฏในแถบสถานะด้านล่าง:

    VS Code showing the selected virtual environment

  4. หากเทอร์มินัลของ VS Code กำลังทำงานอยู่เมื่อ VS Code เริ่มต้นขึ้น มันจะไม่มีสภาพแวดล้อมเสมือนเปิดใช้งานในนั้น วิธีที่ง่ายที่สุดคือปิดเทอร์มินัลโดยใช้ปุ่ม Kill the active terminal instance:

    VS Code Kill the active terminal instance button

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

    (.venv) ➜  nightlight
    

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

  5. เปิดเทอร์มินัลใหม่ใน VS Code โดยเลือก Terminal -> New Terminal หรือกด CTRL+` เทอร์มินัลใหม่จะโหลดสภาพแวดล้อมเสมือน และคำสั่งเปิดใช้งานนี้จะปรากฏในเทอร์มินัล พรอมต์จะมีชื่อของสภาพแวดล้อมเสมือน (.venv):

    ➜  nightlight source .venv/bin/activate
    (.venv) ➜  nightlight 
    
  6. เปิดไฟล์ app.py จากตัวสำรวจของ VS Code และเพิ่มโค้ดต่อไปนี้:

    print('Hello World!')
    

    ฟังก์ชัน print จะพิมพ์สิ่งที่ถูกส่งผ่านไปยังมันลงในคอนโซล

  7. จากเทอร์มินัลของ VS Code รันคำสั่งต่อไปนี้เพื่อรันแอป Python ของคุณ:

    python app.py
    

    ผลลัพธ์ต่อไปนี้จะปรากฏ:

    (.venv) ➜  nightlight python app.py 
    Hello World!
    

😀 โปรแกรม 'Hello World' ของคุณสำเร็จแล้ว!

เชื่อมต่อ 'ฮาร์ดแวร์'

ในขั้นตอน 'Hello World' ที่สอง คุณจะรันแอป CounterFit และเชื่อมต่อโค้ดของคุณกับมัน นี่คือสิ่งที่เทียบเท่ากับการเชื่อมต่อฮาร์ดแวร์ IoT เข้ากับชุดพัฒนา

งาน - เชื่อมต่อ 'ฮาร์ดแวร์'

  1. จากเทอร์มินัลของ VS Code เปิดแอป CounterFit ด้วยคำสั่งต่อไปนี้:

    counterfit
    

    แอปจะเริ่มทำงานและเปิดในเว็บเบราว์เซอร์ของคุณ:

    The Counter Fit app running in a browser

    มันจะแสดงสถานะเป็น Disconnected โดยมีไฟ LED ที่มุมขวาบนปิดอยู่

  2. เพิ่มโค้ดต่อไปนี้ที่ด้านบนของ app.py:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    

    โค้ดนี้นำเข้า CounterFitConnection class จากโมดูล counterfit_connection ซึ่งมาจากแพ็กเกจ counterfit-connection ที่คุณติดตั้งก่อนหน้านี้ จากนั้นจะเริ่มต้นการเชื่อมต่อกับแอป CounterFit ที่รันอยู่บน 127.0.0.1 ซึ่งเป็นที่อยู่ IP ที่คุณสามารถใช้เข้าถึงคอมพิวเตอร์ของคุณเองได้เสมอ (มักเรียกว่า localhost) บนพอร์ต 5000

    💁 หากคุณมีแอปอื่นที่รันอยู่บนพอร์ต 5000 คุณสามารถเปลี่ยนพอร์ตนี้ได้โดยอัปเดตพอร์ตในโค้ด และรัน CounterFit โดยใช้ CounterFit --port <port_number> โดยแทนที่ <port_number> ด้วยพอร์ตที่คุณต้องการใช้

  3. คุณจะต้องเปิดเทอร์มินัลใหม่ใน VS Code โดยเลือกปุ่ม Create a new integrated terminal เนื่องจากแอป CounterFit กำลังรันอยู่ในเทอร์มินัลปัจจุบัน

    VS Code Create a new integrated terminal button

  4. ในเทอร์มินัลใหม่นี้ รันไฟล์ app.py เหมือนเดิม สถานะของ CounterFit จะเปลี่ยนเป็น Connected และไฟ LED จะสว่างขึ้น

    Counter Fit showing as connected

💁 คุณสามารถหาโค้ดนี้ได้ในโฟลเดอร์ code/virtual-device

😀 การเชื่อมต่อกับฮาร์ดแวร์ของคุณสำเร็จแล้ว!


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาที่เป็นต้นฉบับควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้