30 KiB
Raspberry Pi
Raspberry Pi คือคอมพิวเตอร์บอร์ดเดี่ยว คุณสามารถเพิ่มเซ็นเซอร์และแอคชูเอเตอร์ได้โดยใช้หลากหลายอุปกรณ์และระบบนิเวศ และสำหรับบทเรียนนี้จะใช้ระบบนิเวศฮาร์ดแวร์ที่เรียกว่า Grove คุณจะเขียนโค้ดบน Pi และเข้าถึงเซ็นเซอร์ Grove โดยใช้ Python
การตั้งค่า
หากคุณใช้ Raspberry Pi เป็นฮาร์ดแวร์ IoT ของคุณ คุณมีสองตัวเลือก - คุณสามารถทำตามบทเรียนทั้งหมดนี้และเขียนโค้ดโดยตรงบน Pi หรือคุณสามารถเชื่อมต่อระยะไกลกับ Pi ที่ไม่มีหน้าจอ ('headless') และเขียนโค้ดจากคอมพิวเตอร์ของคุณ
ก่อนเริ่มต้น คุณต้องเชื่อมต่อ Grove Base Hat กับ Pi ของคุณด้วย
งาน - การตั้งค่า
ติดตั้ง Grove Base Hat บน Pi ของคุณและกำหนดค่า Pi
-
เชื่อมต่อ Grove Base Hat กับ Pi ของคุณ ซ็อกเก็ตบน Hat จะครอบคลุม GPIO pins ทั้งหมดบน Pi โดยเลื่อนลงไปจนสุดเพื่อให้แน่นหนา มันจะครอบคลุม Pi ทั้งหมด
-
ตัดสินใจว่าคุณต้องการเขียนโค้ดบน Pi อย่างไร และไปยังส่วนที่เกี่ยวข้องด้านล่าง:
ทำงานโดยตรงบน Pi ของคุณ
หากคุณต้องการทำงานโดยตรงบน Pi ของคุณ คุณสามารถใช้เวอร์ชันเดสก์ท็อปของ Raspberry Pi OS และติดตั้งเครื่องมือทั้งหมดที่คุณต้องการ
งาน - ทำงานโดยตรงบน Pi ของคุณ
ตั้งค่า Pi ของคุณสำหรับการพัฒนา
- ทำตามคำแนะนำใน คู่มือการตั้งค่า Raspberry Pi เพื่อเตรียม Pi ของคุณ เชื่อมต่อกับคีย์บอร์ด/เมาส์/จอภาพ เชื่อมต่อกับเครือข่าย WiFi หรือ Ethernet และอัปเดตซอฟต์แวร์
เพื่อเขียนโค้ดบน Pi โดยใช้เซ็นเซอร์และแอคชูเอเตอร์ Grove คุณจะต้องติดตั้งโปรแกรมแก้ไขเพื่อเขียนโค้ดอุปกรณ์ และไลบรารีและเครื่องมือต่างๆ ที่ทำงานร่วมกับฮาร์ดแวร์ Grove
-
เมื่อ Pi ของคุณรีบูตแล้ว ให้เปิด Terminal โดยคลิกที่ไอคอน Terminal บนแถบเมนูด้านบน หรือเลือก Menu -> Accessories -> Terminal
-
รันคำสั่งต่อไปนี้เพื่อให้แน่ใจว่า OS และซอฟต์แวร์ที่ติดตั้งอยู่เป็นเวอร์ชันล่าสุด:
sudo apt update && sudo apt full-upgrade --yes
-
รันคำสั่งต่อไปนี้เพื่อติดตั้งไลบรารีทั้งหมดที่จำเป็นสำหรับฮาร์ดแวร์ Grove:
sudo apt install git python3-dev python3-pip --yes git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install . sudo raspi-config nonint do_i2c 0
คำสั่งนี้เริ่มต้นด้วยการติดตั้ง Git และ Pip สำหรับติดตั้งแพ็กเกจ Python
หนึ่งในคุณสมบัติที่ทรงพลังของ Python คือความสามารถในการติดตั้ง Pip packages - ซึ่งเป็นแพ็กเกจโค้ดที่เขียนโดยผู้อื่นและเผยแพร่บนอินเทอร์เน็ต คุณสามารถติดตั้งแพ็กเกจ Pip ลงในคอมพิวเตอร์ของคุณด้วยคำสั่งเดียว และใช้แพ็กเกจนั้นในโค้ดของคุณ
ไลบรารี Seeed Grove Python จำเป็นต้องติดตั้งจากซอร์สโค้ด คำสั่งเหล่านี้จะโคลน repo ที่มีซอร์สโค้ดของแพ็กเกจนี้ จากนั้นติดตั้งในเครื่อง
💁 โดยปกติเมื่อคุณติดตั้งแพ็กเกจ มันจะสามารถใช้งานได้ทุกที่ในคอมพิวเตอร์ของคุณ ซึ่งอาจทำให้เกิดปัญหาเกี่ยวกับเวอร์ชันของแพ็กเกจ เช่น แอปพลิเคชันหนึ่งต้องการเวอร์ชันหนึ่งของแพ็กเกจที่อาจใช้งานไม่ได้เมื่อคุณติดตั้งเวอร์ชันใหม่สำหรับแอปพลิเคชันอื่น เพื่อแก้ปัญหานี้ คุณสามารถใช้ Python virtual environment ซึ่งเป็นสำเนาของ Python ในโฟลเดอร์เฉพาะ และเมื่อคุณติดตั้งแพ็กเกจ Pip มันจะถูกติดตั้งเฉพาะในโฟลเดอร์นั้น คุณจะไม่ได้ใช้ virtual environments เมื่อใช้ Pi ของคุณ สคริปต์ติดตั้ง Grove จะติดตั้งแพ็กเกจ Grove Python แบบ global ดังนั้นหากคุณต้องการใช้ virtual environment คุณจะต้องตั้งค่า virtual environment แล้วติดตั้งแพ็กเกจ Grove ใหม่ใน environment นั้น การใช้แพ็กเกจแบบ global จะง่ายกว่า โดยเฉพาะอย่างยิ่งเมื่อผู้พัฒนา Pi หลายคนจะทำการแฟลช SD card ใหม่สำหรับแต่ละโปรเจกต์
สุดท้ายนี้ คำสั่งนี้จะเปิดใช้งานอินเทอร์เฟซ I2C
-
รีบูต Pi โดยใช้เมนูหรือรันคำสั่งต่อไปนี้ใน Terminal:
sudo reboot
-
เมื่อ Pi รีบูตแล้ว ให้เปิด Terminal อีกครั้งและรันคำสั่งต่อไปนี้เพื่อติดตั้ง Visual Studio Code (VS Code) - ซึ่งเป็นโปรแกรมแก้ไขที่คุณจะใช้เขียนโค้ดอุปกรณ์ใน Python
sudo apt install code
เมื่อการติดตั้งเสร็จสิ้น VS Code จะสามารถใช้งานได้จากเมนูด้านบน
💁 คุณสามารถใช้ Python IDE หรือโปรแกรมแก้ไขใดๆ ที่คุณชื่นชอบสำหรับบทเรียนนี้ได้ แต่คำแนะนำในบทเรียนจะอ้างอิงจากการใช้ VS Code
-
ติดตั้ง Pylance ซึ่งเป็นส่วนขยายสำหรับ VS Code ที่ให้การสนับสนุนภาษา Python ดูคำแนะนำใน เอกสารส่วนขยาย Pylance สำหรับวิธีการติดตั้งส่วนขยายนี้ใน VS Code
การเข้าถึงระยะไกลเพื่อเขียนโค้ดบน Pi
แทนที่จะเขียนโค้ดโดยตรงบน Pi คุณสามารถใช้งาน Pi ในโหมด 'headless' ซึ่งหมายถึงไม่เชื่อมต่อกับคีย์บอร์ด/เมาส์/จอภาพ และตั้งค่าและเขียนโค้ดจากคอมพิวเตอร์ของคุณโดยใช้ Visual Studio Code
ตั้งค่า Pi OS
เพื่อเขียนโค้ดระยะไกล จำเป็นต้องติดตั้ง Pi OS บน SD Card
งาน - ตั้งค่า Pi OS
ตั้งค่า Pi OS แบบ headless
-
ดาวน์โหลด Raspberry Pi Imager จาก หน้าซอฟต์แวร์ Raspberry Pi OS และติดตั้ง
-
ใส่ SD card ลงในคอมพิวเตอร์ของคุณ โดยใช้อะแดปเตอร์หากจำเป็น
-
เปิด Raspberry Pi Imager
-
จาก Raspberry Pi Imager เลือกปุ่ม CHOOSE OS จากนั้นเลือก Raspberry Pi OS (Other) และตามด้วย Raspberry Pi OS Lite (32-bit)
💁 Raspberry Pi OS Lite เป็นเวอร์ชันของ Raspberry Pi OS ที่ไม่มี UI เดสก์ท็อปหรือเครื่องมือที่ใช้ UI ซึ่งไม่จำเป็นสำหรับ Pi แบบ headless และทำให้การติดตั้งมีขนาดเล็กลงและเวลาเริ่มต้นเร็วขึ้น
-
เลือกปุ่ม CHOOSE STORAGE จากนั้นเลือก SD card ของคุณ
-
เปิด Advanced Options โดยกด
Ctrl+Shift+X
ตัวเลือกเหล่านี้ช่วยให้สามารถกำหนดค่า Raspberry Pi OS ล่วงหน้าก่อนที่จะเขียนลง SD card-
ทำเครื่องหมายที่ช่อง Enable SSH และตั้งรหัสผ่านสำหรับผู้ใช้
pi
นี่คือรหัสผ่านที่คุณจะใช้เข้าสู่ระบบ Pi ในภายหลัง -
หากคุณวางแผนที่จะเชื่อมต่อกับ Pi ผ่าน WiFi ให้ทำเครื่องหมายที่ช่อง Configure WiFi และป้อน SSID และรหัสผ่าน WiFi ของคุณ รวมถึงเลือกประเทศ WiFi ของคุณ คุณไม่จำเป็นต้องทำเช่นนี้หากคุณจะใช้สาย Ethernet ตรวจสอบให้แน่ใจว่าเครือข่ายที่คุณเชื่อมต่อเป็นเครือข่ายเดียวกับคอมพิวเตอร์ของคุณ
-
ทำเครื่องหมายที่ช่อง Set locale settings และตั้งค่าประเทศและเขตเวลา
-
เลือกปุ่ม SAVE
-
-
เลือกปุ่ม WRITE เพื่อเขียน OS ลงใน SD card หากคุณใช้ macOS คุณจะถูกขอให้ป้อนรหัสผ่านของคุณเนื่องจากเครื่องมือพื้นฐานที่เขียนภาพดิสก์ต้องการสิทธิ์การเข้าถึงระดับสูง
OS จะถูกเขียนลงใน SD card และเมื่อเสร็จสิ้น การ์ดจะถูกดีดออกโดย OS และคุณจะได้รับการแจ้งเตือน นำ SD card ออกจากคอมพิวเตอร์ของคุณ ใส่ลงใน Pi เปิด Pi และรอประมาณ 2 นาทีเพื่อให้บูตอย่างสมบูรณ์
เชื่อมต่อกับ Pi
ขั้นตอนต่อไปคือการเข้าถึง Pi ระยะไกล คุณสามารถทำได้โดยใช้ ssh
ซึ่งมีอยู่ใน macOS, Linux และ Windows เวอร์ชันล่าสุด
งาน - เชื่อมต่อกับ Pi
เข้าถึง Pi ระยะไกล
-
เปิด Terminal หรือ Command Prompt และป้อนคำสั่งต่อไปนี้เพื่อเชื่อมต่อกับ Pi:
ssh pi@raspberrypi.local
หากคุณใช้ Windows เวอร์ชันเก่าที่ไม่มี
ssh
ติดตั้ง คุณสามารถใช้ OpenSSH คุณสามารถค้นหาคำแนะนำการติดตั้งได้ใน เอกสารการติดตั้ง OpenSSH -
คำสั่งนี้ควรเชื่อมต่อกับ Pi ของคุณและขอรหัสผ่าน
การค้นหาคอมพิวเตอร์ในเครือข่ายของคุณโดยใช้
<hostname>.local
เป็นฟีเจอร์ที่เพิ่มเข้ามาใน Linux และ Windows เมื่อไม่นานมานี้ หากคุณใช้ Linux หรือ Windows และได้รับข้อผิดพลาดเกี่ยวกับการไม่พบ Hostname คุณจะต้องติดตั้งซอฟต์แวร์เพิ่มเติมเพื่อเปิดใช้งาน ZeroConf networking (หรือที่ Apple เรียกว่า Bonjour):-
หากคุณใช้ Linux ให้ติดตั้ง Avahi โดยใช้คำสั่งต่อไปนี้:
sudo apt-get install avahi-daemon
-
หากคุณใช้ Windows วิธีที่ง่ายที่สุดในการเปิดใช้งาน ZeroConf คือการติดตั้ง Bonjour Print Services for Windows คุณยังสามารถติดตั้ง iTunes for Windows เพื่อรับเวอร์ชันใหม่กว่าของยูทิลิตี้นี้ (ซึ่งไม่มีให้ดาวน์โหลดแยกต่างหาก)
💁 หากคุณไม่สามารถเชื่อมต่อโดยใช้
raspberrypi.local
คุณสามารถใช้ IP address ของ Pi ได้ ดูคำแนะนำใน เอกสาร IP address ของ Raspberry Pi สำหรับวิธีการต่างๆ ในการรับ IP address -
-
ป้อนรหัสผ่านที่คุณตั้งไว้ใน Raspberry Pi Imager Advanced Options
กำหนดค่าซอฟต์แวร์บน Pi
เมื่อคุณเชื่อมต่อกับ Pi แล้ว คุณต้องตรวจสอบให้แน่ใจว่า OS เป็นเวอร์ชันล่าสุด และติดตั้งไลบรารีและเครื่องมือต่างๆ ที่ทำงานร่วมกับฮาร์ดแวร์ Grove
งาน - กำหนดค่าซอฟต์แวร์บน Pi
กำหนดค่าซอฟต์แวร์ที่ติดตั้งบน Pi และติดตั้งไลบรารี Grove
-
จากเซสชัน
ssh
ของคุณ รันคำสั่งต่อไปนี้เพื่ออัปเดตและรีบูต Pi:sudo apt update && sudo apt full-upgrade --yes && sudo reboot
Pi จะถูกอัปเดตและรีบูต เซสชัน
ssh
จะสิ้นสุดเมื่อ Pi รีบูต ดังนั้นรอประมาณ 30 วินาทีแล้วเชื่อมต่อใหม่ -
จากเซสชัน
ssh
ที่เชื่อมต่อใหม่ รันคำสั่งต่อไปนี้เพื่อติดตั้งไลบรารีทั้งหมดที่จำเป็นสำหรับฮาร์ดแวร์ Grove:sudo apt install git python3-dev python3-pip --yes git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install . sudo raspi-config nonint do_i2c 0
คำสั่งนี้เริ่มต้นด้วยการติดตั้ง Git และ Pip สำหรับติดตั้งแพ็กเกจ Python
หนึ่งในคุณสมบัติที่ทรงพลังของ Python คือความสามารถในการติดตั้ง Pip packages - ซึ่งเป็นแพ็กเกจโค้ดที่เขียนโดยผู้อื่นและเผยแพร่บนอินเทอร์เน็ต คุณสามารถติดตั้งแพ็กเกจ Pip ลงในคอมพิวเตอร์ของคุณด้วยคำสั่งเดียว และใช้แพ็กเกจนั้นในโค้ดของคุณ
ไลบรารี Seeed Grove Python จำเป็นต้องติดตั้งจากซอร์สโค้ด คำสั่งเหล่านี้จะโคลน repo ที่มีซอร์สโค้ดของแพ็กเกจนี้ จากนั้นติดตั้งในเครื่อง
💁 โดยปกติเมื่อคุณติดตั้งแพ็กเกจ มันจะสามารถใช้งานได้ทุกที่ในคอมพิวเตอร์ของคุณ ซึ่งอาจทำให้เกิดปัญหาเกี่ยวกับเวอร์ชันของแพ็กเกจ เช่น แอปพลิเคชันหนึ่งต้องการเวอร์ชันหนึ่งของแพ็กเกจที่อาจใช้งานไม่ได้เมื่อคุณติดตั้งเวอร์ชันใหม่สำหรับแอปพลิเคชันอื่น เพื่อแก้ปัญหานี้ คุณสามารถใช้ Python virtual environment ซึ่งเป็นสำเนาของ Python ในโฟลเดอร์เฉพาะ และเมื่อคุณติดตั้งแพ็กเกจ Pip มันจะถูกติดตั้งเฉพาะในโฟลเดอร์นั้น คุณจะไม่ได้ใช้ virtual environments เมื่อใช้ Pi ของคุณ สคริปต์ติดตั้ง Grove จะติดตั้งแพ็กเกจ Grove Python แบบ global ดังนั้นหากคุณต้องการใช้ virtual environment คุณจะต้องตั้งค่า virtual environment แล้วติดตั้งแพ็กเกจ Grove ใหม่ใน environment นั้น การใช้แพ็กเกจแบบ global จะง่ายกว่า โดยเฉพาะอย่างยิ่งเมื่อผู้พัฒนา Pi หลายคนจะทำการแฟลช SD card ใหม่สำหรับแต่ละโปรเจกต์
สุดท้ายนี้ คำสั่งนี้จะเปิดใช้งานอินเทอร์เฟซ I2C
-
รีบูต Pi โดยรันคำสั่งต่อไปนี้:
sudo reboot
เซสชัน
ssh
จะสิ้นสุดเมื่อ Pi รีบูต ไม่จำเป็นต้องเชื่อมต่อใหม่
กำหนดค่า VS Code สำหรับการเข้าถึงระยะไกล
เมื่อ Pi ถูกกำหนดค่าแล้ว คุณสามารถเชื่อมต่อกับมันโดยใช้ Visual Studio Code (VS Code) จากคอมพิวเตอร์ของคุณ - ซึ่งเป็นโปรแกรมแก้ไขข้อความสำหรับนักพัฒนาฟรีที่คุณจะใช้เขียนโค้ดอุปกรณ์ใน Python
งาน - กำหนดค่า VS Code สำหรับการเข้าถึงระยะไกล
ติดตั้งซอฟต์แวร์ที่จำเป็นและเชื่อมต่อกับ Pi ระยะไกล
-
ติดตั้ง VS Code บนคอมพิวเตอร์ของคุณโดยทำตาม เอกสาร VS Code
-
ทำตามคำแนะนำใน เอกสารการพัฒนา VS Code ระยะไกลโดยใช้ SSH เพื่อติดตั้งส่วนประกอบที่จำเป็น
-
ทำตามคำแนะนำเดียวกันเพื่อเชื่อมต่อ VS Code กับ Pi
-
เมื่อเชื่อมต่อแล้ว ให้ทำตามคำแนะนำใน การจัดการส่วนขยาย เพื่อติดตั้ง ส่วนขยาย Pylance ระยะไกลลงบน Pi
Hello world
เป็นธรรมเนียมเมื่อเริ่มต้นเรียนรู้ภาษาโปรแกรมหรือเทคโนโลยีใหม่ ๆ ที่จะสร้างแอปพลิเคชัน 'Hello World' ซึ่งเป็นแอปเล็ก ๆ ที่แสดงข้อความอย่างเช่น "Hello World"
เพื่อยืนยันว่าเครื่องมือทั้งหมดถูกตั้งค่าอย่างถูกต้อง
แอป Hello World สำหรับ Pi จะช่วยให้มั่นใจว่าคุณได้ติดตั้ง Python และ Visual Studio Code อย่างถูกต้อง
แอปนี้จะอยู่ในโฟลเดอร์ที่ชื่อว่า nightlight
และจะถูกนำมาใช้ซ้ำพร้อมโค้ดที่แตกต่างกันในส่วนถัดไปของงานนี้เพื่อสร้างแอปพลิเคชัน nightlight
งาน - hello world
สร้างแอป Hello World
-
เปิด VS Code โดยตรงบน Pi หรือบนคอมพิวเตอร์ของคุณและเชื่อมต่อกับ Pi โดยใช้ส่วนขยาย Remote SSH
-
เปิด Terminal ของ VS Code โดยเลือก Terminal -> New Terminal หรือกด
CTRL+`
ซึ่งจะเปิดไปยังไดเรกทอรีบ้านของผู้ใช้pi
-
รันคำสั่งต่อไปนี้เพื่อสร้างไดเรกทอรีสำหรับโค้ดของคุณ และสร้างไฟล์ Python ชื่อ
app.py
ภายในไดเรกทอรีนั้น:mkdir nightlight cd nightlight touch app.py
-
เปิดโฟลเดอร์นี้ใน VS Code โดยเลือก File -> Open... และเลือกโฟลเดอร์ nightlight จากนั้นเลือก OK
-
เปิดไฟล์
app.py
จากตัวสำรวจของ VS Code และเพิ่มโค้ดต่อไปนี้:print('Hello World!')
ฟังก์ชัน
print
จะพิมพ์สิ่งที่ถูกส่งเข้าไปในคอนโซล -
จาก Terminal ของ VS Code รันคำสั่งต่อไปนี้เพื่อรันแอป Python ของคุณ:
python app.py
💁 คุณอาจต้องเรียกใช้
python3
โดยเฉพาะเพื่อรันโค้ดนี้ หากคุณมี Python 2 ติดตั้งอยู่ควบคู่กับ Python 3 (เวอร์ชันล่าสุด) หากคุณมี Python 2 ติดตั้งอยู่ การเรียกใช้python
จะใช้ Python 2 แทนที่จะเป็น Python 3 โดยค่าเริ่มต้น Raspberry Pi OS เวอร์ชันล่าสุดจะติดตั้งเฉพาะ Python 3 เท่านั้นผลลัพธ์ต่อไปนี้จะปรากฏในเทอร์มินัล:
pi@raspberrypi:~/nightlight $ python3 app.py Hello World!
💁 คุณสามารถหาโค้ดนี้ได้ในโฟลเดอร์ code/pi
😀 โปรแกรม 'Hello World' ของคุณสำเร็จแล้ว!
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้