友善RK3399/NanoPC-T4开发板wiringPi Python库访问GPIO外设实例讲解 -【申嵌视频】
1 wiringPi for Python简介
wiringPi for Python是wiringPi的Python语言扩展,用于在Python程序中操作GPIO/I2C/SPI库/UART/PWM等硬件资源,功能非常强大。
FriendlyELEC移植的wiringPi for Python现已支持FriendlyELEC-RK3399平台,目前支持NanoPi M4、NanoPi 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通过连接至开发板,引脚的连接对应如下:


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 原理图

5.3 实物线路连接图

接下来我们用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外设实例讲解 -【申嵌视频】的更多相关文章
- 友善RK3399/NanoPC-T4开发板wiringPi的C语言访问GPIO外设实例讲解 -【申嵌视频】
1 wiringPi简介 wiringPi库最早是由Gordon Henderson所编写并维护的一个用C语言写成的类库,除了GPIO库,还包括了I2C库.SPI库.UART库和软件PWM库等,由于w ...
- RK3399 友善NanoPC-T4开发板使用sysfs方法控制status LED状态灯-【申嵌视频-RK3399篇】
实验1:sysfs 操作方法控制NanoPC-T4开发板上LED灯 (status LED状态灯:GPIO0_B5/LED1_OUT)root@NanoPC-T4: cd /sys/class/led ...
- RK3399/NanoPC-T4开发板使用/sys/class/gpio操作外接GPIO设备-【申嵌视频-RK3399篇】
实验2:RK3399/NanoPC-T4开发板使用/sys/class/gpio操作外接GPIO设备,比如外接一个LED模块,通过GPIO1_A0管脚 1 介绍 LED模块 Matrix-LE ...
- 友善之臂tiny4412-1306开发板安卓系统烧写
折腾了很久,终于烧写成功.不废话,咱们说说流程吧. 首先,我们需要有一个基于tiny4412的kernel,从友善之臂官网获取. 然后解压: 1.tar -xvf linux-3.5 .... 然后 ...
- #2020征文-开发板#使用Python开发鸿蒙应用--2021.01.07直播图文
写在前面: 每年的过年前夕,手中的项目一定会告急...而自己又缺乏三头六臂七十二变等特技,所以只能在鸿蒙社区先消失一阵子了.今天再看社区的帖子,发现大家的进步可不一般,各种案例示例层出不穷,一片欣欣向 ...
- 手把手教你从零实现Linux misc设备驱动一(基于友善之臂4412开发板)
关于怎样来写一个misc设备,在前面有篇文章已经介绍了大致的流程,如今就让我们来实现一个最简单的misc设备驱动. http://blog.csdn.net/morixinguan/article/d ...
- TurnipBit开发板掷骰子小游戏DIY教程实例
转载请以链接形式注明文章来源(MicroPythonQQ技术交流群:157816561,公众号:MicroPython玩家汇) 0x00前言 下面带大家用TurnipBit开发板实现一个简单的小游戏- ...
- 织女星开发板使用RISC-V核驱动GPIO
前言 织女星开发板是OPEN-ISA社区为中国大陆地区定制的一款体积小.功耗超低和功能丰富的 RISC-V评估开发板,基于NXP半导体四核异构RV32M1主控芯片. 两个RISC-V核:RI5CY + ...
- 手把手教你写Linux设备驱动---中断(三)--workqueue实现(基于友善之臂4412开发板) 【转】
转自:http://blog.csdn.net/morixinguan/article/details/69680909 上节,我们讲到如何来实现tasklet小任务机制 http://blog.cs ...
随机推荐
- Xcode Archive打包失败问题
ionic3项目 完成 模拟器 真机测试均可以打包安装成功 在Archive的时候报错了 错误如下 code signing is required for product type 'Applic ...
- 2016/12/21 dplの课练
1.将/etc/passwd第行的最后一段全部改成/bin/bash cat 1 |sed -n '1,$p' |egrep '.*:' -o |sed 's/$/\bin\/bash/' 2.将/e ...
- IP通信基础课堂笔记----第四章(重点中的重点)
IPv4编址方法 一个IPv4地址可表示为一个32位的二进制数. IP地址前面的网络部分表示一个网段,后面部分(主机位)表示这个网段上的一台设备. 常用IP地址分为四类:A.B.C.D. 每类的网络地 ...
- shell脚本定义输出字符颜色
#-------------------定义输入颜色---------------------# RED='\033[1;31m' GREEN='\033[1;32m' YELLOW='\033[1; ...
- 手动调用run方法和普通方法调用没有区别
手动调用run方法和普通方法调用没有区别
- Java的URL类(二)
转:https://www.cnblogs.com/brokencolor/p/8575440.html Java的URL类(二) 实例: Java 通过HttpURLConnection Post方 ...
- Python 多线程的程序不结束多进程的程序不结束的区别
import time from threading import Thread from multiprocessing import Process #守护进程:主进程代码执行运行结束,守护进程随 ...
- kafka工作原理介绍
两张图读懂kafka应用: Kafka 中的术语 broker:中间的kafka cluster,存储消息,是由多个server组成的集群. topic:kafka给消息提供的分类方式.brok ...
- 聊聊pytorch中的DataLoader
实际上pytorch在定义dataloader的时候是需要传入很多参数的,比如,number_workers, pin_memory, 以及shuffle, dataset等,其中sampler参数算 ...
- Team416
软件工程小组今天成立了! 成员:计科1704 杨璐华 俞天耀 杨通玉 王旭 分工: 项目经理: 杨璐华 需求分析: 俞天耀 运行维护: 杨通玉 软件架构: 王旭 我们团队关于此次软件工程项目的分工大 ...