Project

Raspberry Pi: 结合BH1750FVI光强计自动控制5110背光

感觉直接上python程序吧。。 #!/usr/bin/python # -*- encoding: utf-8 -*- import time import smbus import RPi.GPIO bus = smbus.SMBus(1) # BH1750FVI的i2c地址就是0x23 addr = 0x23 port = 25 RPi.GPIO.setmode(RPi.GPIO.BCM) RPi.GPIO.setup(port, RPi.GPIO.OUT) pwm = RPi.GPIO.PWM(port, 50) pwm.start(0) try: while True: data = bus.read_i2c_block_data(addr,0x11) # 计算光照度值lux lux = (data[1] + (256 * data[0])) / 1.2 # Read more…

Project

Raspberry Pi & RTC DS3231

  尝试了好久终于弄好了。。当初买3231就是看它走时比1307更准。。。 1  接线 这个只要对准接口插上树莓派就可以了,我这个vcc是5v的。至于32k和sqw可以不用接线,还有就是板子的两端都是可以接线的。   2  调试 2.1  首先需要改写 /etc/init.d/hwclock.sh 文件 这步可能为非必要步骤,具体修改可以 sudo nano /etc/init.d/hwclock.sh 按照这个文件改写即可,也可以直接拷贝过去。 2.2  设置i2c 这个步骤如果做过就不用重复了 sudo nano /etc/modules 修改下面两行,保存重启即可 i2c-bcm2708  i2c-dev 2.3  设置 查看i2c设备,成功的话就能看到0x68和0x57这两个地址,其实只要有0x68就可以了 sudo i2cdetect -y 1  #如果是1代树莓派的话吧1改成0 载入模块 sudo modprobe rtc-ds1307 echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_devic  #如果提示权限不足用sudo bash。1代树莓派需要把i2c-1改成i2c-0   3  常用命令 这个只要搜索hwclock相关的命令就可以了,必要的话直接help,主要是调整下3231的时间   4  开机同步 Read more…

Project

Raspberry Pi&5110&视频播放

具体思路: a. 读取视频文件 – 读取帧 – 转换image – 播放 b. 当初就想到树莓派的cpu太弱,肯定会很卡,结果就是卡的我无法直视了。。。。 c. 而且使用了openCV来解码视频,无限报错“No accelerated colorspace conversion found from yuv420p to bgr24”,重新下载编译都花了大半天还是报错,坑了。 d. 反正也实现了基本功能,干脆就贴下吧。视频解码使用openCV的。 1  openCV的安装 如果以上安装了报错,就采用下面的方法,不过编译要花很多时间,要有心理准备,当然也可以用pc来编译会快些 sudo aptitude remove ffmpeg cd /usr/src sudo mkdir ffmpeg sudo chown `whoami`:users ffmpeg git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg cd ffmpeg ./configure make sudo make install Read more…

Project

Raspberry Pi 驱动5110播放Bad Apple – 改进

原来的代码需要读取每帧,一个视频有几千帧,这样拷贝文件就很慢了。。。。 所以我就把所有bmp文件打包为zip压缩文件,这样拷贝就无压力了,更胜着还可以把音频也放进zip文件中,这样看起来就是一个文件了。。。。。。 import time import Adafruit_Nokia_LCD as LCD import Adafruit_GPIO.SPI as SPI import Image import zipfile import StringIO # In order to play music import pygame print ‘Press Ctrl-C to quit.’ # Raspberry Pi hardware SPI config: DC = 23 RST = 24 SPI_PORT = 0 SPI_DEVICE = 0 # Read more…

Project

Raspberry Pi 驱动5110播放Bad Apple

如何使用树莓派驱动Nokia5110 LCD在之前已经提及,还是使用adafruit的驱动方案。 这里不得不提的是在Raspbmc中是无法使用Hardware SPI的,在装了Raspbian后,终于用上了Hardware SPI,刷新速度一下子上去了,但是有一个bug还是存在的,就是第一次运行没显示,需要运行其他的py程序之后才能在5110上显示画面。。。。 具体方法 由于该方案本身就可以显示图片文字等等,所以思路也就是让它不断显示图片罢了,然后再伴上音乐,就是这样。。 1  帧的获得 我使用了MATLAB来获取视频文件的所有帧,因为它实在是太方便了。 首先要将视频文件载入,导入为矩阵(MATLAB支持少数几种视频格式,所以如果格式不支持还得转下码) clear;clc; xyloObj = VideoReader(‘ba.mp4’); nFrames = xyloObj.NumberOfFrames; vidHeight = xyloObj.Height; vidWidth = xyloObj.Width; % Read one frame at a time. for k = 1 : nFrames % Read a frame and convert it to 48×84 ls = im2bw(imresize(read(xyloObj, k), Read more…

Project

Raspberry Pi 控制电扇

原本想要命名为“Raspberry Pi 控制的智能电扇”的,但一想原理实在过于简单,未免太过嚣张了- -。 原理比较简单,主要通过一个红外传感器和温度传感器来控制继电器的开关。 插座已经被我改装过了,毕竟不能拆了电扇或者剪了电线把继电器给加上去。。。所以我直接改装了插线板,默认开关是打开的,所以不影响平时使用的。 我也是python入门,代码比较简单,不加注释啦,添加开机启动后可以使用start和stop来管理服务,具体实现可以看RASPBERRY PI&5110。 import time import RPi.GPIO as GPIO import w1 import temperature import pir w1.load() time.sleep(1) pin = 17 GPIO.setmode(GPIO.BCM) GPIO.setup(pin, GPIO.OUT) GPIO.output(pin, GPIO.HIGH) state = 0 print ‘Press Ctrl-C to quit.’ while True: if temperature.get_env_tmp() > 30.3: if pir.get_pir(): if state == 0: Read more…

Project

Raspberry Pi&5110

网上驱动5110的教程还是蛮多的,我选择的是adafruit官网上提供的教程(主要是移植adafruit了的驱动),由于是在Raspbmc上装,搞了好久发现没spi的驱动- -汗。所以只好用Software SPI了。此次主要使用5510来显示CPU的使用情况、CPU温度、内存使用、环境温度等等。 PS:代码太多,就直接最后附上文件吧。 1. CPU&MEMORY信息:sys_info.py 2. 载入DS18B20所需的驱动:w1.py 3. 环境温度:temperature.py 4. 主程序:lcd_info.py 5. 添加开机启动: #! /bin/sh ### BEGIN INIT INFO # Provides: python # Required-Start: $remote_fs $syslog $network # Required-Stop: $remote_fs $syslog $network # X-Start-Before: rmnologin # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Provide Read more…

Project

使用webiopi控制树莓派的GPIO引脚电平(WEB在线管理)(引)

1、必须安装python开发版,即python-dev,不然后面很多软件都会安装不成功,提示目录无法找到之类的。(教训) sudo apt-get install python-dev 正常情况下,以上在线安装命令即可安装成功,但运气不好的是,笔者在安装时,在线命令安装资源包404。 python2.7-dev_2.7.3~rc2-2.1_armhf.deb找不到,后来只能手动找了以下包安装。 wget http://ftp.debian.org/debian/pool/main/p/python2.7/python2.7-dev_2.7.3-6_armhf.deb sudo dpkg -i python2.7-dev_2.7.3-6_armhf.deb 2、安装python的GPIO模块 Google Code项目地址:http://raspberry-gpio-python.googlecode.com wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.4.1a.tar.gz tar -xvzf RPi.GPIO-0.4.1a.tar.gz cd RPi.GPIO-0.4.1a sudo python setup.py install 3、安装webopio Google Code项目地址:http://code.google.com/p/webiopi/ wget http://webiopi.googlecode.com/files/WebIOPi-0.5.3.tar.gz tar xvzf WebIOPi-0.5.3.tar.gz cd WebIOPi-0.5.3 sudo ./setup.sh 4、首先设置或修改webopio的密码 sudo webiopi-passwd 用户名是:webiopi 如不修改密码,默认密码是:raspberry 5、启动webopio sudo python -m webiopi 8000 Read more…

Project

玩转树莓派 – Raspbmc

简介 Raspbmc = Raspberry + XBMC 简单的说就是在树莓派上运行的XBMC多媒体系统,相对于OpenELEC和XBian, Raspbmc是基于官方Debian的,虽然精简了部分无用功能,但大部分还是保留了下来,原版系统本身已经安装了samba、FTP、SSH等服务,后续的应用还可以通过“sudo apt-get install”来获得,你懂的。   1  安装 网上安装Raspbmc的方法有若干种,比较推荐的是使用Win32DiskImager直接将由官方系统解压后的“sd.img”烧录至SD卡,然后等待它自动安装即可。虽然一系列的安装步骤都是自动化的(包括扩展SD卡的剩余空间等等),但最好还是使用网线将树莓派连接到路由器或者计算机,因为它还是需要下载一些文件的。 其次的话,就是准备一个键盘或鼠标,安装好后还是需要一些设置的。   2  XBMC设置 2.1  语言 最开始的话当然是设置语言了,点击Setting – Appearance,将语言设置成Chinese(Simplified),再将字体设置成Arial就可以正确显示中文了。 2.2  无线网络 无线网络设置之前,首先需要将USB无线网卡插入关机状态下的树莓派,进入系统后,点击 设置 – Raspbmc,选择网络为WLAN,然后设置相关的SSID等信息,当然为了以后操作方便,最好给树莓派一个固定的IP。选中设置选项中的Update Now,然后确定,树莓派会立即更新。 2.3  Add-ons插件 这块的话,最好是安装国内的一些软件安装源,然后就能安装优酷、土豆、PPTV、CNTV之类的应用。这也是XBMC的核心功能,以后要看要听的全靠它了。这里的话我会提供一些软件安装源,具体更多的可以去国内的一些论坛上找,那里会更全更详细。 插件源:addons.zip 2.4  远程控制 有了屏幕肯定得有遥控器,目前能够遥控树莓派的方案大致有三种:硬件方式实现、通过网页控制、移动设备上的客户端控制。 个人比较推荐的当然是移动客户端啦,毕竟人人基本都有智能机,而且很方便。 在远程控制之前,需要打开树莓派的远程控制功能(可以到 设置 里面去找),然后设置好具体的登录用户名和密码。 客户端方面,我比较推荐Yatse,这款App各方面基本都完爆官方App,具体设置比较简单,大家可以自行摸索。需要说明的是在 文件/播放列表 里面观看视频时,可能有同学会发现为什么我明明有视频在树莓派上的,但怎么不显示呢?原因在于还需要将含视频的文件夹添加到Vidoes中去,在XBMC界面中进入 视频 – 文件,添加视频即可。 推荐论坛:HDPFANS高清范 – XBMC交流区 Read more…

Translate »