友善RK3399/NanoPC-T4开发板wiringPi Python库访问GPIO外设实例讲解 -【申嵌视频】

时间:2022-06-28 13:47:41

1 wiringPi for Python简介

wiringPi for Python是wiringPi的Python语言扩展,用于在Python程序中操作GPIO/I2C/SPI库/UART/PWM等硬件资源,功能非常强大。
FriendlyELEC移植的wiringPi for Python现已支持FriendlyELEC-RK3399平台,目前支持NanoPi M4NanoPi NEO4、和NanoPC-T4开发板。

当前提供的WiringPi版本:2.44
WiringPi项目主页: http://wiringpi.com

wiringPi的C语言版本,请前往这里查看: WiringPi for RK3399/zh

2 支持的OS

  • FriendlyCore
  • FriendlyDesktop

3 支持的开发板

4 wiringPi for Python在T4/M4/NEO4上的安装

通过ssh,或者串口终端进入开发板的命令行,然后根据你所用的Python版本,在命令行下安装:

4.1 Python3安装方法

apt install git python-dev python-setuptools python3-dev python3-setuptools swig
wget https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zip
unzip setuptools-33.1.1.zip
cd setuptools-33.1.1
python3 setup.py install
wget http://112.124.9.243:8888/wiringpi/friendlyelec-rk3399/wiringpi-2.44.4-py3.6-linux-aarch64.egg
easy_install wiringpi-2.44.4-py3.6-linux-aarch64.egg

4.2 Python2安装方法

wget https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zip
unzip setuptools-33.1.1.zip
cd setuptools-33.1.1
python2 setup.py install
wget http://112.124.9.243:8888/wiringpi/friendlyelec-rk3399/wiringpi-2.44.4-py2.7-linux-aarch64.egg
easy_install-2.7 wiringpi-2.44.4-py2.7-linux-aarch64.egg

5 wiringPi for Python示例

将一个Matrix - LED通过连接至开发板,引脚的连接对应如下:

友善RK3399/NanoPC-T4开发板wiringPi Python库访问GPIO外设实例讲解 -【申嵌视频】

友善RK3399/NanoPC-T4开发板wiringPi Python库访问GPIO外设实例讲解 -【申嵌视频】

Matrix-LED是一个简单的发光二极管模块。3-Pin 2.54mm排针,V接电源,G接地,S信号通过一个三极管放大控制LED的导通或关闭。您可以向S输出静态的高低电平信号,也可以输出变化的PWM信号,信号电平可以是3.3V或5V。当您向S输出高电平时LED以最大亮度发光,低电平就完全熄灭,可变占空比的PWM信号可以调节发光的亮度。

5.1 工作原理

3-Pin 2.54mm排针,V接电源,G接地,S信号通过一个三极管放大控制LED的导通或关闭。您可以向S输出静态的高低电平信号,也可以输出变化的PWM信号,信号电平可以是3.3V或5V。当您向S输出高电平时LED以最大亮度发光,低电平就完全熄灭,可变占空比的PWM信号可以调节发光的亮度。

5.2 原理图

友善RK3399/NanoPC-T4开发板wiringPi Python库访问GPIO外设实例讲解 -【申嵌视频】

5.3 实物线路连接图

友善RK3399/NanoPC-T4开发板wiringPi Python库访问GPIO外设实例讲解 -【申嵌视频】

接下来我们用wiringPi实现一个LED闪烁的例子, 
在代码中使用数字7来操作Pin7这个引脚:

5.1 Python语言示例

创建一个python源文件:

vi led.py

然后键入如下代码:

import wiringpi as wpi
import time
 
wpi.wiringPiSetup()
wpi.pinMode(7, 1)
 
while True:
    wpi.digitalWrite(7, 1)
    time.sleep(1)
    wpi.digitalWrite(7, 0)
    time.sleep(1)

运行:

python3 led.py

看到LED灯一闪一闪的,就表示成功了,如果你使用的是python2,请将python3改成python2。

--------------------------------------------------------------------------------------------------------------------------------------------------------------

上海嵌入式家园-开发板代理商城 
http://embedclub.taobao.com/

专业销售瑞芯微RK3399系列开发板,友善之臂NanoPC-T4, NanoPi M4, NanoPi NEO4开发板

友善RK3399/NanoPC-T4开发板wiringPi Python库访问GPIO外设实例讲解 -【申嵌视频】