Cài đặt thư viện python raspberry Pi

Các thư viện CircuitPython và adaf nhung-blinka sẽ hoạt động trên mọi bo mạch Raspberry Pi. Điều đó có nghĩa là 1 ban đầu, Pi 2, Pi 3, Pi 4, Pi Zero, Pi Zero 2 W hoặc thậm chí là mô-đun máy tính

Tại thời điểm này, Blinka yêu cầu phiên bản Python 3. 7 trở lên, có nghĩa là ít nhất bạn sẽ cần chạy Raspberry Pi OS Bullseye

Thiết lập Pi tiên quyết

Trong trang này, chúng tôi giả định rằng bạn đã cài đặt và chạy Raspberry Pi của mình và có thể đăng nhập vào dòng lệnh

Đây là cách bắt đầu nhanh cho những người có một số kinh nghiệm

  1. Tải Raspberry Pi OS hoặc Raspberry Pi OS Lite mới nhất về máy tính của bạn
  2. Ghi hình ảnh hệ điều hành vào thẻ MicroSD bằng máy tính của bạn
  3. Cắm lại thẻ SD vào máy tính của bạn [chưa sử dụng Pi của bạn. ] và thiết lập kết nối wifi của bạn bằng cách chỉnh sửa supplicant. conf
  4. Kích hoạt hỗ trợ SSH
  5. Cắm thẻ SD vào Pi
  6. Nếu bạn có màn hình HDMI, chúng tôi khuyên bạn nên kết nối nó để bạn có thể thấy rằng Pi đang khởi động OK
  7. Cắm nguồn cho Pi - bạn sẽ thấy đèn LED màu xanh lục nhấp nháy một chút. Pi sẽ khởi động lại trong khi thiết lập, vì vậy hãy đợi 10 phút
  8. Nếu bạn đang chạy Windows trên máy tính của mình, hãy cài đặt hỗ trợ Bonjour để bạn có thể sử dụng. tên cục bộ, bạn sẽ cần khởi động lại Windows sau khi cài đặt
  9. Sau đó, bạn có thể ssh vào raspberry pi. địa phương

Pi Foundation cũng có rất nhiều hướng dẫn

Chúng tôi thực sự thực sự khuyên dùng hệ điều hành Raspberry Pi mới nhất. Nếu bạn đã cài đặt hệ điều hành Raspberry Pi cũ hơn, hãy chạy "sudo apt-get update" và "sudo apt-get upgrade" để tải hệ điều hành mới nhất

Cập nhật Pi và Python của bạn

Chạy các bản cập nhật tiêu chuẩn

Sao chép văn bản

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-pip
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-pip

Sao chép văn bản

sudo pip3 install --upgrade setuptools
sudo pip3 install --upgrade setuptools

Hỗ trợ Python2 đã bị loại bỏ, vì vậy bạn sẽ cần sử dụng pip3 và python3 làm lệnh hoặc đặt Python 3 làm cài đặt python mặc định

Chúng tôi tập hợp một tập lệnh để dễ dàng đảm bảo Pi của bạn được định cấu hình chính xác và cài đặt Blinka. Nó chỉ cần một vài lệnh để chạy. Hầu hết là cài đặt các phụ thuộc

Sao chép văn bản

cd ~
sudo pip3 install --upgrade adafruit-python-shell
wget //raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/raspi-blinka.py
sudo python3 raspi-blinka.py
cd ~
sudo pip3 install --upgrade adafruit-python-shell
wget //raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/raspi-blinka.py
sudo python3 raspi-blinka.py

Nếu Python mặc định của hệ thống là Python 2 [có thể là trong lần cài đặt đầu tiên], nó sẽ yêu cầu xác nhận rằng bạn muốn tiếp tục. C chọn .

Có thể mất vài phút để chạy. Xong nó hỏi bạn có muốn khởi động lại không. Chọn .

Khi nó khởi động lại, kết nối sẽ đóng. Sau vài phút, bạn có thể kết nối lại

Kiểm tra I2C và SPI

Tập lệnh sẽ tự động kích hoạt I2C và SPI. Bạn có thể chạy lệnh sau để xác minh

Sao chép văn bản

ls /dev/i2c* /dev/spi*
ls /dev/i2c* /dev/spi*

Bạn sẽ thấy phản hồi

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-pip
2

Kích hoạt SPI thứ hai

Nếu bạn đang sử dụng cổng SPI chính cho màn hình hoặc thứ gì đó và cần một cổng SPI phần cứng khác, bạn có thể kích hoạt nó bằng cách thêm dòng

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-pip
3

xuống cuối /boot/config. txt và khởi động lại. Sau đó, bạn sẽ thấy phần bổ sung của một số /dev/spidev1. thiết bị x

Kiểm tra nháy mắt

Tạo một tệp mới có tên là Blinkatest. py bằng nano hoặc trình soạn thảo văn bản yêu thích của bạn và đặt phần sau vào

Lưu ý rằng mô-đun này không phù hợp với các ứng dụng quan trọng về thời gian thực hoặc thời gian. Điều này là do bạn không thể dự đoán khi nào Python sẽ bận thu gom rác. Nó cũng chạy dưới nhân Linux, không phù hợp với các ứng dụng thời gian thực - đó là O/S đa nhiệm và một quy trình khác có thể được ưu tiên hơn CPU, gây ra hiện tượng giật hình trong chương trình của bạn. Nếu bạn đang theo đuổi hiệu suất và khả năng dự đoán thời gian thực thực sự, hãy mua cho mình một Arduino http. //www. arduino. cc

Lưu ý rằng bản phát hành hiện tại chưa hỗ trợ SPI, I2C, PWM phần cứng hoặc chức năng nối tiếp trên RPi. Điều này được lên kế hoạch cho tương lai gần - xem không gian này. Chức năng một dây cũng được lên kế hoạch

Mặc dù PWM phần cứng chưa khả dụng nhưng PWM phần mềm có sẵn để sử dụng trên tất cả các kênh

Để biết ví dụ và tài liệu, hãy truy cập http. //nguồnforge. mạng/p/mâm xôi-gpio-python/wiki/Trang chủ/

Nhật ký thay đổi

0. 7. 1

  • Bảng RPi tốt hơn + phát hiện peri_addr [số 190/191]

  • Khắc phục cảnh báo không dùng PyEval_InitThreads cho Python 3. 9 [số 188]

  • Sửa bản dựng bằng GCC 10 [số 187]

  • Sửa tài liệu để không bao gồm giấy phép

  • Xóa hỗ trợ đóng gói kéo dài Debian/Raspbian

  • Sử dụng setuptools thay vì distutils

  • Đã thêm phát hiện Zero 2 W

  • Đã thử nghiệm và làm việc với Python 2. 7, 3. 7, 3. 8, 3. 9, 3. 10

0. 7. 0

  • Đã cập nhật RPI_INFO để bao gồm RPi 4B

  • Đã sửa lỗi kéo lên/xuống cho Pi4 [vấn đề 168]

  • Sửa lỗi chính tả trong docstrings

  • Đã thử nghiệm và hoạt động trên Raspbian Buster + Python 3. 8. 0b2

  • Sửa lỗi phát hiện bảng cho aarch64 [Số 161/165]

  • Sửa lỗi kiểm tra giá trị trả về mmap trong c_gpio. c [số 166]

0. 6. 5

  • Khắc phục ngoại lệ khi xuất lại /sys/class/gpio/gpioNN

0. 6. 4

  • Lỗi dọn dẹp sự kiện [vấn đề 145]

  • Raise exception for duplicate PWM objects [issue 54 - Thijs Schreijer ]

  • Khắc phục cảnh báo bản dựng [Số 146 - Dominik George]

  • kiểm tra. py chạy không thay đổi cho cả python 2+3

  • Sửa lỗi Soft PWM ngừng chạy [Số 94, 111, 154]

  • Sửa lỗi phân tách PWM mềm [yêu cầu kéo Luke Allen]

0. 6. 3

  • Sửa mã để nó được xây dựng trong PyPy [Gasper Zejn]

  • hệ điều hành. phát hiện sự kiện phá vỡ hệ thống - Matt Kimball [số 127]

0. 6. 2

  • Viết lại cơ chế đóng gói Debian

  • RPI_INFO báo cáo số Pi 3

  • Đã thay đổi bố cục mô-đun - đã chuyển các thành phần C sang RPi. _GPIO

0. 6. 1

  • Cập nhật RPI_INFO để phát hiện nhiều loại bảng hơn

  • Sự cố 118 - add_event_detect đôi khi gây ra lỗi thời gian chạy với người dùng không có quyền riêng tư

  • Vấn đề 120 - setmode[] ghi nhớ chế độ không hợp lệ

0. 6. 0a3

  • Bây giờ sử dụng /dev/gpiomem nếu có để tránh bị chạy với quyền root

  • Sửa cảnh báo kéo lên/xuống trên chân 3/5

  • Địa chỉ cơ sở chính xác trên Pi 2 khi devicetree bị vô hiệu hóa

  • lỗi caddr_t khi biên dịch [Số 109]

  • Lỗi về tham số không hợp lệ để thiết lập[] [vấn đề 93]

  • Thêm thông số thời gian chờ vào wait_for_edge[] [số 91]

0. 5. 11

  • Sửa lỗi - thiếu chân > 26 khi sử dụng chế độ BOARD

  • Thêm getmode[]

  • Tăng ngoại lệ khi sử dụng kết hợp các chế độ

  • GPIO. cleanaup[] hủy đặt chế độ ghim hiện tại

0. 5. 10

  • Vấn đề 95 - hỗ trợ bảng RPi 2

  • Giới thiệu RPI_INFO

  • Ngừng sử dụng RPI_REVISION

  • Sự cố 97 - chuỗi tài liệu cố định để thiết lập[]

0. 5. 9

  • Sự cố 87 - cảnh báo về việc kéo lên/xuống trên các chân i2c

  • Sự cố 86/75 - sửa lỗi Wait_for_edge[]

  • Vấn đề 84 - nhận dạng đúng RPi khi sử dụng nhân tùy chỉnh

  • Vấn đề 90 - dọn dẹp[] trên danh sách/bộ kênh

0. 5. 8

  • Cho phép danh sách/bộ kênh trong GPIO. cài đặt[]

  • GPIO. output[] hiện cho phép liệt kê/bộ giá trị

  • GPIO. sửa lỗi wait_for_edge[] [số 78]

0. 5. 7

  • Sự cố 67 - tăng tốc các cuộc gọi lặp lại tới GPIO. wait_for_event[]

  • Đã thêm từ khóa thời gian thoát vào GPIO. wait_for_event[]

  • Đã thêm các bài kiểm tra đơn vị cạnh / ngắt bổ sung

  • GPIO. wait_for_event[] hiện có thể được kết hợp với GPIO. add_event_detect[]

  • Cải thiện dọn dẹp các sự kiện

  • Vấn đề 69 đã được giải quyết

0. 5. 6

  • Sự cố 68 - hỗ trợ cho Mô hình RPi B+

  • Sửa lỗi gpio_function[]

0. 5. 5

  • Vấn đề 52 - 'bỏ phân bổ' một kênh

  • Vấn đề 35 - sử dụng switchbounce với GPIO. event_detected[]

  • Tái cấu trúc mã sự kiện

  • Viết lại các bài kiểm tra để sử dụng cơ chế unittest và bảng kiểm tra mới với các vòng lặp

  • Đã sửa lỗi thêm sự kiện sau GPIO. dọn dẹp[]

  • Sự cố 64 - lỗi quyền/dev/mem gây hiểu nhầm

  • Vấn đề 59 - xung đột tên với hằng số PWM và lớp

0. 5. 4

  • Đã thay đổi trạng thái phát hành [từ bản alpha sang bản phát hành đầy đủ]

  • Cảnh báo khi GPIO. cleanup[] được sử dụng mà không có gì để dọn dẹp [vấn đề 44]

  • Tránh xung đột trong hằng số [e. g. CAO / TĂNG / PUD_DOWN]

  • Chấp nhận số BOARD trong gpio_function [số 34]

  • Nhiều giá trị trả về hơn cho gpio_function [INPUT, OUTPUT, SPI, I2C, PWM, SERIAL, UNKNOWN]

  • Dọn dẹp docstrings

  • Sửa lỗi truy cập /dev/mem với gpio_function

0. 5. 3a

  • Cho phép pydoc cho người dùng không root [vấn đề 27]

  • Sửa lỗi add_event_detect khi chạy dưới dạng daemon [vấn đề 32]

  • Các loại ngoại lệ đơn giản hóa

  • Đã thay đổi từ phân phối thành pip

0. 5. 2a

  • Đã thêm phần mềm PWM [thử nghiệm]

  • Đã thêm xử lý chuyển đổi bị trả lại vào các cuộc gọi lại sự kiện

  • Đã thêm tham số số kênh vào lệnh gọi lại sự kiện [vấn đề 31]

  • Tái cấu trúc nội bộ và dọn dẹp mã

0. 5. 1a

  • Đã sửa lỗi gọi lại cho nhiều GPIO [vấn đề 28]

0. 5. 0a

  • Đã thêm các sự kiện phát hiện cạnh mới [xử lý ngắt] - Đã thêm add_event_detect[] - Đã thêm remove_event_detect[] - Đã thêm add_event_callback[] - Đã thêm wait_for_edge[]

  • Đã xóa các chức năng sự kiện thử nghiệm cũ - Đã xóa set_rising_event[] - Đã xóa set_falling_event[] - Đã xóa set_high_event[] - Đã xóa set_low_event[]

  • Đã thay đổi event_detected[] cho chức năng phát hiện cạnh mới

  • input[] hiện trả về 0/LOW == False hoặc 1/CAO == True [số nguyên] thay vì False hoặc True [boolean]

  • Sửa lỗi nhập lặp lại [vấn đề 3]

  • Change SetupException to a RuntimeError so it can be caught on import [issue 25, Chris Hager ]

  • Cải thiện docstrings chức năng

0. 4. 2a

  • Sửa lỗi cài đặt trên Arch Linux [Python 3. 3] [số 20]

  • Giá trị ban đầu khi đặt kênh làm đầu ra [vấn đề 19]

0. 4. 1a

  • đã thêm PHIÊN BẢN

  • Permit input[] of channels set as outputs [Eric Ptak ]

0. 4. 0a

  • Đã thêm hỗ trợ cho bảng Sửa đổi 2

  • Đã thêm RPI_REVISION

  • Đã thêm chức năng dọn dẹp [] và loại bỏ chức năng đặt lại tự động khi thoát chương trình

  • Đã thêm get_function[] để đọc chức năng kênh GPIO hiện có [gợi ý từ Eric Ptak]

    Làm cách nào để cài đặt thư viện trong pi?

    Phương pháp 2 – Cài đặt thủ công .
    Bước 1 – Tải xuống thư viện. quên https. //pypi. con trăn. tổ chức/gói/nguồn/R/RPi. GPIO/RPi. GPIO-0. 5. 11. hắc ín. gz
    Bước 2 – Giải nén tệp lưu trữ vào một thư mục mới. .
    Bước 3 – Duyệt đến thư mục mới. .
    Bước 4 – Cài đặt thư viện. .
    Bước 5 – Xóa thư mục và tệp lưu trữ

    Pip có được cài đặt trên Raspberry Pi không?

    Tiện ích pip thường được cài đặt cùng với Python, nhưng điều này không phải lúc nào cũng đúng. Nếu bạn là người dùng Windows hoặc đang sử dụng Raspberry PI OS trên Raspberry Pi, pip sẽ có sẵn cho bạn mà không cần bất kỳ bước cài đặt bổ sung nào . Tuy nhiên, bạn sẽ cần đảm bảo rằng mình đang sử dụng phiên bản mới nhất.

    Thư viện Python nào được sử dụng cho Raspberry Pi?

    Thư viện CircuitPython và adaf nhung-blinka sẽ hoạt động trên mọi bo mạch Raspberry Pi. Điều đó có nghĩa là 1 ban đầu, Pi 2, Pi 3, Pi 4, Pi Zero, Pi Zero 2 W hoặc thậm chí là mô-đun máy tính. Tại thời điểm này, Blinka yêu cầu phiên bản Python 3. 7 trở lên, có nghĩa là ít nhất bạn sẽ cần chạy Raspberry Pi OS Bullseye.

Chủ Đề