【试验项目】使用python第三方库控制GPIO笔记
【时间】:2016-01-10
【器材】nanopi2开发板,LED(含限流电阻),杜邦线若干
【软件环境】nanopi2 debian (1231版),开发板安装xrdp,PC端VNC viewer
【python库】gpio 0.1.2,来自https://pypi.python.org/pypi/gpio/0.1.2
Home Page: https://github.com/cloudformdesign/gpio
基本原理:gpio 通过标准的linux sysfs 接口控制GPIO。
得到接口(CPU)的gpio编码,就可以直接控制。
详见:http://bbs.elecfans.com/jishu_527063_1_1.html
## Supported Features
- get pin values with `read(pin)` or `input(pin)`
- set pin values with `set(pin, value)` or `output(pin)`
- get the pin mode with `mode(pin)`
- set the pin mode with `setup(pin, mode)`
- `mode` can currently equal `sysfs.IN` or `sysfs.OUT`
【试验步骤】
因为以前玩过一段时间的树莓,这次得到nanopi2这样高配置的开发板
首先想到的,还是使用python以及GUI来玩gpio,pyserial,甚至json。
但是目前看,由于npi2刚刚推出,还没有针对npi2写的python专用库。
这样对我们这样软硬件水平都很“平平”,只有一腔爱好的玩家来说,入门不易。
好在python有着丰富的第三方库,所以在https://pypi.python.org/pypi找到了
这个使用标准的linux sysfs 接口控制GPIO的库。确切说,只要明确GPIO的寄存器
就可以控制gpio,其他工作库替你完成了细节。下面我们就开始用python玩玩gpio吧。
第一步:安装python环境(npi2内置2.7),安装gpio 0.1.2库。
两种方法:一是下载到开发板上,运行#python setup.py install
二是pip安装,参见:https://wiki.python.org/moin/CheeseShopTutorial
第二步:(1)计算gpio编码,本试验我们使用P12,查阅友善wiki可知,
P12使用GPIOB26,对应的控制编码就是32+26=58
计算方法详见https://bbs.icxbk.com/group-topic-id-64243.html
(2)/sys/class/gpio/export
通知系统需要导出控制的GPIO引脚编号,本次导出58pin
echo 58 > /sys/class/gpio/export
命令成功后生成/sys/class/gpio/gpio58目录,你可以查看并且确认。
第三步:编写一个实例,demo1.py,控制P12上面的LED
led的接法:串接限流电阻(220欧姆),接GND与Pin12
demo1.py代码
#-*- coding: utf-8 -*-
#python2.7x
#date:2016-01-10
#gpio.py
import gpio
import time
gpio.setup(58,\'out\')
gpio.set(58, 1)
time.sleep(3)
gpio.set(58, 0)
time.sleep(3)
gpio.set(58, 1)
time.sleep(3)
gpio.set(58, 0)
print "Good bye!"
代码很简单,就不注释了。闪亮三秒
如何使用gpio 0.1.2的API,打开gpio.py,读一下函数即可。
第四步:在python环境下运行demo1.py,观察led的闪亮。
接线来,控制小车、电磁阀都是相通的。
利用python的GUI工具库,如wxpython,可以编写GUI控制界面。。。。
【其他】刚开始学习GPIO控制,这个笔记实际上是综合了论坛里网友的经验,敬请指教。
感谢ickey.cn社区,http://bbs.elecfans.com/社区
本笔记参考了很多网友的帖子,如疏漏未标明引用的,表示歉意。一并致谢。
整理了一张图表,就是gpio的对照表。
【试验项目】使用python第三方库控制GPIO笔记
【时间】:2016-01-10
【器材】nanopi2开发板,LED(含限流电阻),杜邦线若干
【软件环境】nanopi2 debian (1231版),开发板安装xrdp,PC端VNC viewer
【python库】gpio 0.1.2,来自https://pypi.python.org/pypi/gpio/0.1.2
Home Page: https://github.com/cloudformdesign/gpio
基本原理:gpio 通过标准的linux sysfs 接口控制GPIO。
得到接口(CPU)的gpio编码,就可以直接控制。
详见:http://bbs.elecfans.com/jishu_527063_1_1.html
## Supported Features
- get pin values with `read(pin)` or `input(pin)`
- set pin values with `set(pin, value)` or `output(pin)`
- get the pin mode with `mode(pin)`
- set the pin mode with `setup(pin, mode)`
- `mode` can currently equal `sysfs.IN` or `sysfs.OUT`
【试验步骤】
因为以前玩过一段时间的树莓,这次得到nanopi2这样高配置的开发板
首先想到的,还是使用python以及GUI来玩gpio,pyserial,甚至json。
但是目前看,由于npi2刚刚推出,还没有针对npi2写的python专用库。
这样对我们这样软硬件水平都很“平平”,只有一腔爱好的玩家来说,入门不易。
好在python有着丰富的第三方库,所以在https://pypi.python.org/pypi找到了
这个使用标准的linux sysfs 接口控制GPIO的库。确切说,只要明确GPIO的寄存器
就可以控制gpio,其他工作库替你完成了细节。下面我们就开始用python玩玩gpio吧。
第一步:安装python环境(npi2内置2.7),安装gpio 0.1.2库。
两种方法:一是下载到开发板上,运行#python setup.py install
二是pip安装,参见:https://wiki.python.org/moin/CheeseShopTutorial
第二步:(1)计算gpio编码,本试验我们使用P12,查阅友善wiki可知,
P12使用GPIOB26,对应的控制编码就是32+26=58
计算方法详见https://bbs.icxbk.com/group-topic-id-64243.html
(2)/sys/class/gpio/export
通知系统需要导出控制的GPIO引脚编号,本次导出58pin
echo 58 > /sys/class/gpio/export
命令成功后生成/sys/class/gpio/gpio58目录,你可以查看并且确认。
第三步:编写一个实例,demo1.py,控制P12上面的LED
led的接法:串接限流电阻(220欧姆),接GND与Pin12
demo1.py代码
#-*- coding: utf-8 -*-
#python2.7x
#date:2016-01-10
#gpio.py
import gpio
import time
gpio.setup(58,\'out\')
gpio.set(58, 1)
time.sleep(3)
gpio.set(58, 0)
time.sleep(3)
gpio.set(58, 1)
time.sleep(3)
gpio.set(58, 0)
print "Good bye!"
代码很简单,就不注释了。闪亮三秒
如何使用gpio 0.1.2的API,打开gpio.py,读一下函数即可。
第四步:在python环境下运行demo1.py,观察led的闪亮。
接线来,控制小车、电磁阀都是相通的。
利用python的GUI工具库,如wxpython,可以编写GUI控制界面。。。。
【其他】刚开始学习GPIO控制,这个笔记实际上是综合了论坛里网友的经验,敬请指教。
感谢ickey.cn社区,http://bbs.elecfans.com/社区
本笔记参考了很多网友的帖子,如疏漏未标明引用的,表示歉意。一并致谢。
整理了一张图表,就是gpio的对照表。
python什么版本?