Bạn có thể chạy python 3 trên raspberry pi không?

Kích thước nhỏ và các khía cạnh kết nối của Raspberry Pi Zero W khiến nó trở thành một ứng cử viên tuyệt vời cho các kịch bản IoT Hub. Nó có thể dễ dàng lập trình bằng Python, vì vậy nó có tiềm năng rất lớn. Dự án này chủ yếu giải thích cách cài đặt hệ điều hành Raspbian và Python không đầu bằng cách sử dụng Windows và VS Code. Nó sẽ giúp bạn bắt đầu

Thiết lập Raspberry Pi Zero W

Tải xuống Raspbian Buster Lite để cài đặt không đầu. Nếu bạn muốn phiên bản dành cho máy tính để bàn, vui lòng chọn phiên bản khác

  • Khi Ứng dụng khởi động, hãy chọn Raspbian Lite làm HĐH để cài đặt không đầu
  • Chọn ổ thẻ SD và bắt đầu cài đặt
  • Khi quá trình cài đặt hoàn tất, bạn có thể phải tháo và lắp lại thẻ SD

Có thể truy cập Headless Pi bằng SSH qua WiFi

  • Để bật SSH, hãy tạo một tệp trống có tên ssh trong thư mục gốc. Ghi chú. Không gia hạn
  • Đối với kết nối WiFi, hãy tạo tệp wpa_supplicant.conf trong thư mục gốc với các nội dung sau được điều chỉnh theo WiFi của bạn
  • Lưu ý rằng nó phải có kết thúc dòng kiểu Linux. Trong mã VS, có thể thực hiện bằng cách thay đổi CRLF thành LF ở dưới cùng bên phải
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="YOUR_SSID"
scan_ssid=1
psk="YOUR_SSID_PASSWORD"
key_mgmt=WPA-PSK
}

Ngoài SSID và mật khẩu, tệp có thể cần một số thay đổi khác. Dưới đây là một số lời khuyên

  • Đăng nhập vào cổng WiFi của bạn để xem nó thuộc loại WPA-PSK hay WPA2-PSK
  • Nếu là WPA2-PSK, setkey_mgmt=WPA2-PSKKiểm tra cách mã hóa được thực hiện trong cổng thông tin. Nếu là AES, hãy thêm dòng sau vào trước key_mgmtpairwise=CCMP
  • Nếu bạn muốn chia sẻ thêm mẹo, vui lòng thêm chúng vào phần bình luận

Vui lòng lưu các tệp cục bộ. Vì tệp wpa_supplicant.conf có thể cần chỉnh sửa. Và sau khi bạn cắm thẻ SD vào Raspberry Pi Zero và cắm lại vào PC, bạn có thể thấy rằng các tệp bạn tạo đã biến mất. Đó là bình thường

  • Cắm thẻ SD của bạn vào Raspberry Pi và kết nối nó với PC bằng cáp USB. Phải mất vài phút để nó khởi động

Mở Terminal trong VS Code bằng Powershell

  • Gõ lệnh ssh pi@raspberrypi.local
  • Nếu bạn nhận được phản hồi như không thể tìm thấy máy chủ, một số mẹo khắc phục sự cố được liệt kê ở trên
  • Theo mặc định, tên người dùng là pi và mật khẩu là raspberry
  • Nếu bạn đăng nhập thành công, quá trình cài đặt ban đầu và kết nối với Wi-Fi đã thành công. ]

Cài đặt Python 3

Trước khi cài đặt Python, bạn có thể muốn đảm bảo rằng hệ điều hành Raspbian đã được cập nhật. Để có được bản cập nhật mới nhất, hãy chạy lệnh sau

Raspbian đi kèm với Python 2. 7. xx đã cài đặt [tại thời điểm viết bài này]. Bạn nên gỡ cài đặt đó và cài đặt Python 3. Để gỡ cài đặt Python 2. 7. xx, hãy chạy các lệnh sau

  • sudo apt-get remove python
  • # import library for GPIO
    import RPi.GPIO as GPIO
    # print GPIO info
    print[GPIO.RPI_INFO]

    # time library
    import time

    # Port of PIR
    pir_port = 14

    # Setup GPIO mode to Broadcom
    GPIO.setmode[GPIO.BCM]

    # configure the pin as input pin
    GPIO.setup[pir_port, GPIO.IN]

    # do the loop
    try:
    while [True]:
    # if the input is zero, nobody is there at the sensor
    if GPIO.input[pir_port] == 0:
    print["000"]
    else:
    # found somebody at the sensor
    print["111"]
    # wait for 1 sec whether you detect someone or not
    time.sleep[1]
    # If user presses ^C cleanup the GPIO
    except KeyboardInterrupt:
    GPIO.cleanup[]
    print["Exiting"]

    0

Bây giờ hãy bắt đầu cài đặt Python 3 và các gói cần thiết

  • # import library for GPIO
    import RPi.GPIO as GPIO
    # print GPIO info
    print[GPIO.RPI_INFO]

    # time library
    import time

    # Port of PIR
    pir_port = 14

    # Setup GPIO mode to Broadcom
    GPIO.setmode[GPIO.BCM]

    # configure the pin as input pin
    GPIO.setup[pir_port, GPIO.IN]

    # do the loop
    try:
    while [True]:
    # if the input is zero, nobody is there at the sensor
    if GPIO.input[pir_port] == 0:
    print["000"]
    else:
    # found somebody at the sensor
    print["111"]
    # wait for 1 sec whether you detect someone or not
    time.sleep[1]
    # If user presses ^C cleanup the GPIO
    except KeyboardInterrupt:
    GPIO.cleanup[]
    print["Exiting"]

    1
  • # import library for GPIO
    import RPi.GPIO as GPIO
    # print GPIO info
    print[GPIO.RPI_INFO]

    # time library
    import time

    # Port of PIR
    pir_port = 14

    # Setup GPIO mode to Broadcom
    GPIO.setmode[GPIO.BCM]

    # configure the pin as input pin
    GPIO.setup[pir_port, GPIO.IN]

    # do the loop
    try:
    while [True]:
    # if the input is zero, nobody is there at the sensor
    if GPIO.input[pir_port] == 0:
    print["000"]
    else:
    # found somebody at the sensor
    print["111"]
    # wait for 1 sec whether you detect someone or not
    time.sleep[1]
    # If user presses ^C cleanup the GPIO
    except KeyboardInterrupt:
    GPIO.cleanup[]
    print["Exiting"]

    2
  • # import library for GPIO
    import RPi.GPIO as GPIO
    # print GPIO info
    print[GPIO.RPI_INFO]

    # time library
    import time

    # Port of PIR
    pir_port = 14

    # Setup GPIO mode to Broadcom
    GPIO.setmode[GPIO.BCM]

    # configure the pin as input pin
    GPIO.setup[pir_port, GPIO.IN]

    # do the loop
    try:
    while [True]:
    # if the input is zero, nobody is there at the sensor
    if GPIO.input[pir_port] == 0:
    print["000"]
    else:
    # found somebody at the sensor
    print["111"]
    # wait for 1 sec whether you detect someone or not
    time.sleep[1]
    # If user presses ^C cleanup the GPIO
    except KeyboardInterrupt:
    GPIO.cleanup[]
    print["Exiting"]

    0

Bây giờ bạn đã sẵn sàng để lập trình Raspberry Pi Zero W. Trước khi bạn kết nối mạch của mình, hãy tắt Pi khỏi SSH bằng lệnh sau và ngắt kết nối USB

Xây dựng dự án Cảm biến PIR

Đây là một dự án nhỏ hiển thị giao tiếp với cổng GPIO và in một thông báo. Nó bao gồm một cảm biến chuyển động PIR phát hiện xem có người ở phía trước nó không. Dựa vào đó, nó đặt cổng thành Cao khi có thứ gì đó ở gần nó và thành thấp khi không có gì ở gần. Chương trình sẽ in 111 hoặc 000 tùy thuộc vào trạng thái của cổng. [Tại sao lại gặp khó khăn khi bật/tắt đèn LED, nếu bạn có thể nhìn thấy thông báo in?]

Kết nối mạch như sau [Tham khảo phần Sơ đồ cho tệp Fritzing]

Giả định rằng bạn đã quen thuộc với Python. Trong chương trình, các cổng GPIO được khai báo bằng quy ước BCM và được khởi tạo bằng thư viện RPI. Vòng lặp theo dõi cổng với khoảng thời gian 1 giây và in thông báo tương ứng. Đây là mã

# import library for GPIO
import RPi.GPIO as GPIO
# print GPIO info
print[GPIO.RPI_INFO]

# time library
import time

# Port of PIR
pir_port = 14

# Setup GPIO mode to Broadcom
GPIO.setmode[GPIO.BCM]

# configure the pin as input pin
GPIO.setup[pir_port, GPIO.IN]

# do the loop
try:
while [True]:
# if the input is zero, nobody is there at the sensor
if GPIO.input[pir_port] == 0:
print["000"]
else:
# found somebody at the sensor
print["111"]
# wait for 1 sec whether you detect someone or not
time.sleep[1]
# If user presses ^C cleanup the GPIO
except KeyboardInterrupt:
GPIO.cleanup[]
print["Exiting"]

Mã này có thể được lưu cục bộ trên máy Windows của bạn và được chuyển sang Raspberry Pi. Chuyển tệp

# import library for GPIO
import RPi.GPIO as GPIO
# print GPIO info
print[GPIO.RPI_INFO]

# time library
import time

# Port of PIR
pir_port = 14

# Setup GPIO mode to Broadcom
GPIO.setmode[GPIO.BCM]

# configure the pin as input pin
GPIO.setup[pir_port, GPIO.IN]

# do the loop
try:
while [True]:
# if the input is zero, nobody is there at the sensor
if GPIO.input[pir_port] == 0:
print["000"]
else:
# found somebody at the sensor
print["111"]
# wait for 1 sec whether you detect someone or not
time.sleep[1]
# If user presses ^C cleanup the GPIO
except KeyboardInterrupt:
GPIO.cleanup[]
print["Exiting"]

1 sang Raspberry Pi bằng WinSCP. [Ngoài ra, tệp có thể được chỉnh sửa trong Raspberry Pi bằng trình chỉnh sửa nano. ]

Chuyển xong vào VS Code -> Terminal, SSH vào Raspberry Pi

Với lệnh

# import library for GPIO
import RPi.GPIO as GPIO
# print GPIO info
print[GPIO.RPI_INFO]

# time library
import time

# Port of PIR
pir_port = 14

# Setup GPIO mode to Broadcom
GPIO.setmode[GPIO.BCM]

# configure the pin as input pin
GPIO.setup[pir_port, GPIO.IN]

# do the loop
try:
while [True]:
# if the input is zero, nobody is there at the sensor
if GPIO.input[pir_port] == 0:
print["000"]
else:
# found somebody at the sensor
print["111"]
# wait for 1 sec whether you detect someone or not
time.sleep[1]
# If user presses ^C cleanup the GPIO
except KeyboardInterrupt:
GPIO.cleanup[]
print["Exiting"]

2, bạn sẽ thấy tệp được chuyển ở đó. Bây giờ hãy chạy lệnh sau

Bạn sẽ thấy 000 và 111 được in dựa trên những gì ở phía trước cảm biến PIR

Hy vọng điều này sẽ giúp bạn bắt đầu trên Raspberry Pi Zero W với Python 3. Hãy chia sẻ bài viết để lan tỏa

Chủ Đề