树莓派我们编程一般都直接用高效的python,针对于GPIO编程,python也是有这一方面的库的,这里最有名也是最常用的就是RPI.GPIO了.这个库是专门为树莓派GPIO编程所设计的,利用它你可以愉快的像Arduino那样轻松控制GPIO管脚. 安装: sudo apt-get -y python-pip #安装pip sudo pip install rpi.gpio #安装RPI.GPIO 安装完成后在实际运用的时候,我们也会像arduino那样去设置输入输出,设置高低电平,获取针脚值等…
国外的设计接口设计得很棒,包括问题:读脏与防抖,还包括读这个数据提供了两种方式,一种是阻塞等待方式,还有一种是回调函数,前一种是通讯中常用的方式,后一种来自系统架构设计的整体性考虑.这种硬件接口设计的思路值得我们学习. Inputs(输入) There are several ways of getting GPIO input into your program. The first and simplest way is to check the input value at a point…
[前言] 一个热爱技术的人一定向往有一个科技感十足的环境吧,那何不亲自实践一下属于技术人的座右铭:“技术改变世界”. 就让我们一步步动手搭建一个属于自己的“智能家居平台”吧(不要对这个名词抬杠啦,技术在手,怎么设计实现因人而异),本文只做抛砖引玉,各路大神如果有更好的想法可以各显神通,当然能在评论区留下更好的想法让大家共同学习是再好不过啦. 在文章最后附有所有源代码,有需要的可以自行下载,感谢Star~ [系列目录] 树莓派GPIO简介(Python版) 温湿度数据采集存储(DHT11,MySq…
网上的教程,一般Python用RPi.GPIO来控制树莓派的GPIO,而C/C++一般用wringpi库来操作GPIO,RPi.GPIO过于简单,很多高级功能不支持,比如i2c/SPI库等,也缺乏高精度定时等高级特性.相比之下,wiringpi则功能丰富的多,其实wringpi已经有了python绑定,可以非常简单的在python中使用这个库.鉴于网上基本没有这个库的中文说明,我一边学习,一边以做笔记的形式,写几篇关于这个库的基本使用的文章. 安装:首先安装python-pip: 我用的Arch…
学过单片机的同学应该清楚,我们在编写传感器驱动时,需要用到高精度的定时器.延时等功能,wiringpi提供了一组函数来实现这些功能,这些函数分别是: micros() #返回当前的微秒数,这个数在调用wiringPiSetup()后被清零并重新计时 millis() #返回当前的毫秒数,同上,这个数在调用wiringPiSetup()后被清零并重新计时 delayMicroseconds() #高精度微秒延时 delay() #毫秒延时. python相对于C,一个很大的问题就是执行速度慢,所以…
sudo pip install rpi.gpio #!/usr/bin/env python # encoding: utf-8 import RPi.GPIO as GPIO import time # 指定GPIO口的选定模式为GPIO引脚编号模式 GPIO.setmode(GPIO.BCM) # 指定GPIO14的模式为输出模式,且初始状态为低电平. # 如果上面GPIO口的选定模式指定为主板模式的话,这里就应该指定8号而不是14号. GPIO.setup(14, GPIO.OUT,in…
DHT11是一款有已校准数字信号输出的温湿度传感器. 精度湿度+-5%RH, 温度+-2℃,量程湿度20-90%RH, 温度0~50℃. 我买的封装好的模块,上边自带了上拉电阻,直接查到树莓派上即可灰.紫.蓝分别代表数据.3.3V.0V,接到树莓派的3,1,10脚,分别对应PIN8,3.3V,0V. DHT11与单片机通讯协议为单线协议(1-wire),其实单线协议蛮厉害的,一个GPIO就能实现数据的读取,但是这个协议没有同步脉冲,所以对时序要求比较高,比如DHT11对高低电平定义如下: 低电平…
GPIO库的核心功能,当然就是操作GPIO了,GPIO就是"通用输入/输出"接口,比如点亮一个LED.继电器等,或者通过iic spi 1-wire等协议,读取.写入数据,这都是GPIO的用处,可以说没有GPIO,树莓派只能当小电脑用,有了GPIO,就升级成一个控制器了.先来说说怎么操作一个数字量(高低电平). 先看代码: import wiringpi2 as gpio from wiringpi2 import GPIO gpio.wiringPiSetup() #初始化 gpio…
树莓派的优势在于Liunx操作系统加GPIO口,其中IO口时物联网组成中不可缺少的,高低电平的控制是很有必要的存在,再加有python的支持,玩转GPIO相对就容易多了 管脚编号 BCM: 编号侧重 CPU 寄存器,根据 BCM2835 的 GPIO 寄存器编号. wpi: 编号侧重实现逻辑,把扩展 GPIO 端口从 0 开始编号,这种编号方便编程.正如下图 WiringPi 栏. 引脚物理编号排序:方形焊接口为1脚,两两为序,先短后长 配置GIPO为输出 1.首先对 RPi.GPIO 进行设置…
树莓派使用GPIO接口来控制LED灯,自制五彩炫光的节日彩灯. 1.硬件准备 a. 树莓派(Raspberry Pi)一个 b. 彩色RGB二极管 c. 杜邦线 d. 5V电源引脚 以上所有零件均可在某宝上 买到,都很便宜. LED灯上的4根引脚分别是VCC,R,G,B. VCC需要接到电源正极.我们把它连到树莓派的5V引脚上. R,G,B分别是红绿蓝灯的负极接口.我们把它们连接到树莓派的GPIO口上. 然后跟前一篇一样,使用PWM来控制3个小灯的明暗程度即可混合出各种不同颜色的光. 2.组装图…