Skip to content

tioncico/phpPi

Repository files navigation

phpPI

基于wiringPi控制树莓派io的php扩展

安装流程:

  • 先安装wiringPi,安装教程可百度 wiringPi官网:http://wiringpi.com/
  • phpize
  • ./configure --with-php-config=php-config路径 LDFLAGS=-lwiringPi
  • make
  • make install
  • php -m 即可查看扩展

函数参考

该扩展函数大多数都和wiringPi命名相同,目前只实现了以下函数:

初始化

  • wiringPiSetup 初始化成功返回true,否则返回false 当使用这个函数初始化树莓派引脚时,程序使用的是wiringPi 引脚编号表。引脚的编号为 0~16需要root权限
  • wiringPiSetupGpio 初始化成功返回true,否则返回false 当使用这个函数初始化树莓派引脚时,程序中使用的是BCM GPIO 引脚编号表。 需要root权限

gpio控制函数

  • pinMode(pin,model) pin:配置的引脚 mode:指定引脚的IO模式 可取的值:PI_INPUT、PI_OUTPUT、PI_PWM_OUTPUT,PI_GPIO_CLOCK 作用:配置引脚的IO模式

注意:只有wiringPi 引脚编号下的1脚(BCM下的18脚) 支持PWM输出 只有wiringPi编号下的7(BCM下的4号)支持GPIO_CLOCK输出

  • digitalWrite(pin,value) pin:控制的引脚 value:引脚输出的电平值。 可取的值:PI_HIGH,PI_LOW分别代表高低电平

让对一个已近配置为输出模式的 引脚 输出指定的电平信号

  • digitalRead(pin) pin:读取的引脚 返回:引脚上的电平,可以是PI_LOW PI_HIGH 之一

  • pwmWrite(pin,value) pin:引脚 value:写入到PWM寄存器的值,范围在0~1024之间。

pin:引脚 value:写入到PWM寄存器的值,范围在0~1024之间。 输出一个值到PWM寄存器,控制PWM输出。 pin只能是wiringPi 引脚编号下的1脚(BCM下的18脚)

  • pullUpDnControl(pin,pud) pin:引脚 pud:拉电阻模式 可取的值:PI_PUD_OFF 不启用任何拉电阻。关闭拉电阻。PI_PUD_DOWN 启用下拉电阻,引脚电平拉到GND PI_PUD_UP 启用上拉电阻,引脚电平拉到3.3v

对一个设置IO模式为 INPUT 的输入引脚设置拉电阻模式。 与Arduino不同的是,树莓派支持的拉电阻模式更丰富。 树莓派内部的拉电阻达50K欧姆

时间控制函数

  • piMillis();

这个函数返回 一个 从你的程序执行 wiringPiSetup 初始化函数(或者wiringPiSetupGpio ) 到 当前时间 经过的 毫秒数。 返回类型是unsigned int,最大可记录 大约49天的毫秒时长。

  • piMicros();

这个函数返回 一个 从你的程序执行 wiringPiSetup 初始化函数(或者wiringPiSetupGpio ) 到 当前时间 经过的 微秒数。返回类型是unsigned int,最大可记录 大约71分钟的时长。

  • piDelay(howLong);

将当前执行流暂停 指定的毫秒数。因为Linux本身是多线程的,所以实际暂停时间可能会长一些。参数是unsigned int 类型,最大延时时间可达49天

  • piDelayMicroseconds(howLong);

将执行流暂停 指定的微秒数(1000微秒 = 1毫秒 = 0.001秒)。因为Linux本身是多线程的,所以实际暂停时间可能会长一些。参数是unsigned int 类型,最大延时时间可达71分钟

常量

  • PI_INPUT= 0
  • PI_OUTPUT= 1
  • PI_PWM_OUTPUT= 2
  • PI_GPIO_CLOCK= 3
  • PI_LOW= 0
  • PI_HIGH= 1
  • PI_PUD_OFF= 0
  • PI_PUD_DOWN= 1
  • PI_PUD_UP= 2

树莓派引脚对照表

pi

About

php控制树莓派io的扩展

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published