开启SPI
打开PowerShell, 连接SSH.
ssh username@192.168.x.x
输入命令,打开SPI
sudo raspi-config
选择3.
选择I3,开启SPI.
配置Python环境
尝试使用
sudo pip install adafruit-circuitpython-bme280
但是报错:
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
For more information visit http://rptl.io/venv
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
于是创建Python虚拟环境,再安装:
x@raspberrypi:~/Documents/Hardware/BME280 $ python -m venv .env
x@raspberrypi:~/Documents/Hardware/BME280 $ source .env/bin/activate
(.env) x@raspberrypi:~/Documents/Hardware/BME280 $ pip install adafruit-circuitpython-bmp280
Python测试代码:
import board
import digitalio
from adafruit_bme280 import basic as adafruit_bme280
import time
spi = board.SPI()
cs = digitalio.DigitalInOut(board.D5)
bme280 = adafruit_bme280.Adafruit_BME280_SPI(spi, cs)
while True:
print("\nTemperature: %0.1f C" % bme280.temperature)
time.sleep(1)
print("Humidity: %0.1f %%" % bme280.humidity)
time.sleep(1)
print("Pressure: %0.1f hPa" % bme280.pressure)
time.sleep(1)
接线图