wiringpi 2.0库的一个python接口,允许轻松地与raspberry pi的gpio管脚进行接口。也支持I2C和SPI。
wiringpi的Python项目详细描述
这是Gordon's Wiringpi图书馆的一个非正式港口。请不要 给戈登发邮件如果你有问题,他将无法帮助你。
如需支持、评论、问题等,请加入Wiringpi Discord 频道:https://discord.gg/SM4WUVG
python的wiringpi
wiringpi:大多数arduino布线功能的实现 覆盆子皮。
wiringpi实现了管理io扩展器的新功能。
用法
importwiringpi# One of the following MUST be called before using IO functions:wiringpi.wiringPiSetup()# For sequential pin numbering# ORwiringpi.wiringPiSetupSys()# For /sys/class/gpio with GPIO pin numbering# ORwiringpi.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 6wiringpi.digitalRead(6)# Read pin 6
设置外设:
wiringpi支持通过设置 端口扩展器。端口扩展器的实现细节将 透明地处理,并且可以写入附加的管脚 (从pin_offset>;=64开始)就好像它们是pi上的普通管脚一样。
wiringpi.mcp23017Setup(PIN_OFFSET,I2C_ADDR)
这个例子是在一个带有一个数字IO的Quick2Wire板上测试的 通过I2C连接的扩展板:
wiringpi.mcp23017Setup(65,0x20)wiringpi.pinMode(65,1)wiringpi.digitalWrite(65,1)
柔和色调:
将一个扬声器连接到您的圆周率和产生音乐软色调。阿尔索 用于生成其他用途的频率,如调制A/C。
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 IDwiringpi.serialPuts(serial,"hello")wiringpi.serialClose(serial)# Pass in ID
spi:
wiringPiSPIDataRW()函数需要传递一个bytes python 3中的对象。在python 2中,它需要一个字符串。下面应该 在Python2或3中工作:
wiringpi.wiringPiSPISetup(channel,speed)buf=bytes([yourdatahere])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代码来自它自己的存储库。
先决条件
若要重新生成绑定,必须首先安装swig, python-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