跳转到主要内容

WiringPi 2.0库的Python接口,允许轻松与Raspberry Pi的GPIO引脚接口。还支持i2c和SPI。

项目描述

这是Gordon的WiringPi库的非官方移植。如果遇到问题,请不要给Gordon发邮件,他将无法提供帮助。

有关支持、评论、问题等,请加入WiringPi Discord频道: https://discord.gg/SM4WUVG

WiringPi for Python

WiringPi:为Raspberry Pi实现大多数Arduino Wiring功能。

WiringPi实现了管理IO扩展器的新功能。

快速安装

PyPI version badge

库已打包在PyPI上,可以使用pip安装

pip install wiringpi

使用方法

import wiringpi

# One of the following MUST be called before using IO functions:
wiringpi.wiringPiSetup()      # For sequential pin numbering
# OR
wiringpi.wiringPiSetupSys()   # For /sys/class/gpio with GPIO pin numbering
# OR
wiringpi.wiringPiSetupGpio()  # For GPIO pin numbering

通用IO

wiringpi.pinMode(6, 1)       # Set pin 6 to 1 ( OUTPUT )
wiringpi.digitalWrite(6, 1)  # Write 1 ( HIGH ) to pin 6
wiringpi.digitalRead(6)      # Read pin 6

设置外围设备

WiringPi支持通过设置端口扩展器来扩展可用的“引脚”范围。您的端口扩展器的实现细节将透明处理,您可以将额外的引脚(从PIN_OFFSET >= 64开始)写入,就像它们是Pi上的普通引脚一样。

wiringpi.mcp23017Setup(PIN_OFFSET, I2C_ADDR)

此示例在快速2wire板上进行了测试,其中一个数字IO扩展板通过I2C连接

wiringpi.mcp23017Setup(65, 0x20)
wiringpi.pinMode(65, 1)
wiringpi.digitalWrite(65, 1)

软音

将扬声器连接到您的Pi,并使用软音生成音乐。对于调制AC等其他用途生成频率也很有用。

wiringpi.softToneCreate(PIN)
wiringpi.softToneWrite(PIN, FREQUENCY)

位移位

wiringpi.shiftOut(1, 2, 0, 123)  # Shift out 123 (b1110110, byte 0-255) to data pin 1, clock pin 2

串行

serial = wiringpi.serialOpen('/dev/ttyAMA0', 9600)  # Requires device/baud and returns an ID
wiringpi.serialPuts(serial, "hello")
wiringpi.serialClose(serial)  # Pass in ID

SPI

在Python 3中,wiringPiSPIDataRW() 函数需要传递一个 bytes 对象。在Python 2中,它接受一个字符串。以下代码在Python 2和Python 3中都应该有效。

wiringpi.wiringPiSPISetup(channel, speed)
buf = bytes([your data here])
retlen, retdata = wiringpi.wiringPiSPIDataRW(0, buf)

现在,retlen 将包含调用接收/读取的字节数。 retdata 将包含实际数据,在Python 3中,buf 也将被修改以包含它(在Python 2中不会发生这种情况,因为那时 buf 是一个字符串,而字符串是不可变的)。

API的完整详情请见: http://www.wiringpi.com

手动构建

获取/设置仓库

git clone --recursive https://github.com/WiringPi/WiringPi-Python.git
cd WiringPi-Python

别忘了使用 --recursive;这是必需的,以从其自己的仓库中拉取WiringPi C代码。

先决条件

为了重新构建绑定,您首先必须安装 swigpython-dev,和 python-setuptools(或它们的 python3- 等效版本)。WiringPi 还应作为系统范围内的安装,以便访问 gpio 工具。

sudo apt-get install python-dev python-setuptools swig wiringpi

使用以下命令构建和安装:

sudo python setup.py install

或者Python 3

sudo python3 setup.py install

项目详情


下载文件

下载适合您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源分布

wiringpi-2.60.1.tar.gz (130.9 kB 查看哈希值)

上传时间 源代码

构建的发行版

wiringpi-2.60.1-cp37-cp37m-linux_armv7l.whl (285.5 kB 查看哈希值)

上传时间 CPython 3.7m

wiringpi-2.60.1-cp36-cp36m-linux_armv7l.whl (284.6 kB 查看哈希值)

上传时间 CPython 3.6m

wiringpi-2.60.1-cp35-cp35m-linux_armv7l.whl (265.6 kB 查看哈希值)

上传时间 CPython 3.5m

支持者