关于RPi.GPIO、BCM2835 c library、WiringPi、Gertboard
1.RPi.GPIO//RPi.GPIO-0.5.5.tar.gz
开发者:python官网:https://www.python.org/
官网:https://pypi.python.org/pypi/RPi.GPIO
RPi.GPIO安装
- sudo aptitude install python-dev
- # 下载
- $ wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.5.5.tar.gz
- # 解压缩
- $ tar xvzf RPi.GPIO-0.5.3a.tar.gz
- # 进入解压之后的目录
- $ cd RPi.GPIO-0.5.3a
- # 启动安装
- $ sudo python setup.py install
python官网简介:Python Docs PyPI
python 文档 Python Package Index=python软件包目录
点开PyPI,然后再搜索框内搜索RPi.GPIO-0.5.5.tar.gz
2.BCM2835 c library
官网:http://www.airspayce.com/mikem/bcm2835/ //看看最新i2c实例
安装:
- # 下载
- $ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.36.tar.gz
- # 解压缩
- $ tar xvzf bcm2835-1.35.tar.gz
- # 进入解压之后的目录
- $ cd bcm2835-1.35
- # 配置
- ./configure
- # 从源代码生成安装包
- make
- # 执行检查
- sudo make check
- # 安装 bcm2835库
- sudo make install
3.WiringPi
官网:http://wiringpi.com/
开发者:
安装:见另一篇博文
以下原文:http://blog.csdn.net/xukai871105/article/details/12684617
0.前言
更多树莓派学习笔记请参考——【树莓派学习笔记——索引博文】
树莓派来自国外,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个。
1.硬件准备
2.程序实现
2.1 Python
- sudo aptitude install python-dev
- # 下载
- $ wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.5.3a.tar.gz
- # 解压缩
- $ tar xvzf RPi.GPIO-0.5.3a.tar.gz
- # 进入解压之后的目录
- $ cd RPi.GPIO-0.5.3a
- # 启动安装
- $ sudo python setup.py install
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import RPi.GPIO as GPIO
- import time
- GPIO.setmode(GPIO.BOARD)
- # need to set up every channel which are using as an input or an output
- GPIO.setup(11, GPIO.OUT)
- while True:
- GPIO.output(11, GPIO.HIGH)
- time.sleep(1)
- GPIO.output(11, GPIO.LOW)
- time.sleep(1)
2.2 wiringPi
- #include <wiringPi.h>
- main ()
- {
- wiringPiSetup () ;
- pinMode (0, OUTPUT) ;
- for (;;)
- {
- digitalWrite (0, HIGH) ; delay (500) ;
- digitalWrite (0, LOW) ; delay (500) ;
- }
- }
2.3 BCM2835 C Library
BCM2835 C Library 安装
- # 下载
- $ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.35.tar.gz
- # 解压缩
- $ tar xvzf bcm2835-1.35.tar.gz
- # 进入解压之后的目录
- $ cd bcm2835-1.35
- # 配置
- ./configure
- # 从源代码生成安装包
- make
- # 执行检查
- sudo make check
- # 安装 bcm2835库
- sudo make install
- #include <bcm2835.h>
- // Blinks on RPi Plug P1 pin 11 (which is GPIO pin 17)
- #define PIN RPI_GPIO_P1_11
- int main(int argc, char **argv)
- {
- if (!bcm2835_init())
- return 1;
- // Set the pin to be an output
- bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);
- // Blink
- while (1)
- {
- bcm2835_gpio_write(PIN, HIGH);
- bcm2835_delay(100);
- bcm2835_gpio_write(PIN, LOW);
- bcm2835_delay(100);
- }
- bcm2835_close();
- return 0;
- }
3.未来想法
4.树莓派博文链接
关于RPi.GPIO、BCM2835 c library、WiringPi、Gertboard的更多相关文章
- RPi.GPIO 和 HM
后续笔记不再记录导入的模块和硬件的连接方法,请根据关键词自行搜索. RPi.GPIO模块 GPIO:General Purpose Input Output 即 通用输入/输出 RPi.GPIO是一个 ...
- 【玩转开源】BananaPi R2——移植RPi.GPIO 到 R2
1. 首先给大家介绍一下什么是RPi.GPIO. 简单去讲,RPi.GPIO就是一个运行在树莓派开发板上可以通过Python去控制GPIO的一个中间件. 现在我这边做了一个基础功能的移植,接下来大家可 ...
- 树莓派 - RPi.GPIO
RPi.GPIO是通过Python/C API实现的,C代码操作底层寄存器, python通过Python/C API调用这些C接口. 这是关于RPi.GPIO项目的介绍. 其中提到了有python ...
- nanopi NEO2 学习笔记 3:python 安装 RPi.GPIO
如果我要用python控制NEO2的各种引脚,i2c 或 spi ,RPi.GPIO模块是个非常好的选择 这个第三方模块是来自树莓派的,好像友善之臂的工程师稍作修改移植到了NEO2上,就放在 /roo ...
- 树莓派RPi.GPIO+Flask构建WebApi实现远程控制
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import RPi.GPIO as GPIO from flask import Flask, requ ...
- 友善RK3399/NanoPC-T4开发板wiringPi的C语言访问GPIO外设实例讲解 -【申嵌视频】
1 wiringPi简介 wiringPi库最早是由Gordon Henderson所编写并维护的一个用C语言写成的类库,除了GPIO库,还包括了I2C库.SPI库.UART库和软件PWM库等,由于w ...
- 树莓派 -- bcm2835 library (1)
bcm2835 library提供了user space 操作IO的代码. 本文不涉及代码分析,先直观的按照user guide完成操作. 1. 在Raspberry中安装bcm2835 librar ...
- RPi 2B GPIO 测试
/************************************************************************************** * RPi 2B GPI ...
- 树莓派学习路程No.1 GPIO功能初识 wiringPi安装
WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3.wiringPi使用C或者C++开发并且可以被其他语言包转,例如python.ruby或者PHP等.Wiri ...
随机推荐
- Python-DB接口规范
threadsafety 线程安全级别.threadsafety 这是一个整数, 取值范围如下: 0:不支持线程安全, 多个线程不能共享此模块 1:初级线程安全支持: 线程可以共享模块, 但不能共享连 ...
- 【转】Java重构-策略模式、状态模式、卫语句
前言 当代码中出现多重if-else语句或者switch语句时.弊端之一:如果这样的代码出现在多处,那么一旦出现需求变更,就需要把所有地方的if-else或者switch代码进行更改,要是遗漏了某一处 ...
- lru缓存测试类
package demo.mytest; import java.io.Serializable;import java.util.LinkedHashMap;import java.util.con ...
- 字符串数组 输入3个字符串,要求按由小到大的字母顺序输出; 输入n个学生的姓名和学号到字符串数组中,在输入一个姓名,如果班级有该生则返回其信息,否则返回本班无此人
输入3个字符串,要求按由小到大的字母顺序输出 如 输入franch england china,输出结果是china england franch 三个数排序输出,比较三个数的大小怎么做? a=18 ...
- VUE +element el-table运用sortable 拖拽table排序,实现行排序,列排序
Sortable.js是一款轻量级的拖放排序列表的js插件(虽然体积小,但是功能很强大) 项目需求是要求能对element中 的table进行拖拽行排序 这里用到了sorttable Sortable ...
- js之数组知识
一.数组的定义(来源于Array.prototype) 1.构造函数方法: (1)var arr = new Array();//没有参数等价于 var arr = []; (2)var arr = ...
- C++系统学习之四:数组
与vector的异同 相同:都是存放类型相同对象的容器 不同:数组的大小确定不变,不能随意向数组中增加元素 1.定义和初始化内置数组 数组中元素的个数也属于数组类型的一部分,编译的时候维度应该是已知的 ...
- UNIX环境C语言进程控制
一.进程ID 进程ID即是进程标识,每一个进程都会有一个唯一的非负整数来作为它的进程ID. ID为0的进程通常是调度进程,也可称为交换进程,该进程是内核的一部分,不执行硬盘上的程序,因此也被称为系统进 ...
- Python-约瑟夫环
n个人(以编号0,1,2,3...n-1分别表示)围坐在一张圆桌周围.从编号为0的人开始报数1,数到m的那个人出列: 他的下一个人又从1开始报数,数到m的那个人又出列:依此规律重复下去,直到圆桌周围的 ...
- PAT Basic 1041
1041 考试座位号 每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码 ...