让树莓派摄像头模块的led不亮

作者: 时间: 2015-10-02

在raspberry pi 的摄像头模块上面有一个红色的led灯,当摄像头工作的时候它就会亮起来,而且亮度还是蛮大的。要让他在工作的时候不亮,一般如下:

把sd卡插在电脑上(windows系统),打开sd卡盘,修改里面的config.txt文件,修改或者增加下面这一句:

disable_camera_led=1

好了,至此摄像头的led灯不亮了。

又或者,不必把卡拔出来,其实那个文件的地址是:/boot/config.txt 直接这样也可以修改,修改后记得重启:

sudo nano /boot/config.txt

树莓派摄像头使用

作者: 时间: 2014-11-06

树莓派官方推出的摄像头Camera Module,能够拍摄500万像素图片和录制1080p的视频,使用的是树莓派板子上的csi接口。

在淘宝上以118元买了一个,价格比起usb摄像头是贵了不少,下面来测试一下。raspberrypiCamera.png

阅读全文»

使用RPi.GPIO在树莓派上点灯

作者: 时间: 2014-05-12

点LED灯就和学程序写Hello World一样。入门必学的基础功。RPi.GPIO是一个python包装的GPIO类库,使用它可以很方便的控制io口信号。

一、安装RPi 的python库

如果使用的是debian版本的树莓派系统,应该是已经安装了该库。打开终端输入"python"进入python交互界面,输入“import RPi.GPIO",如果没有报告“ImportError: No module named RPi.GPIO”错误的话,就已经安装了该库,直接使用即可。

安装的方法1:命令 “sudo apt-get install RPi.GPIO”

安装方法2:到该页面下载最新的库文件:https://pypi.python.org/pypi/RPi.GPIO 并安装。

二、认识GPIO端口

树莓派的一边有2排共26个针脚,以SD插卡卡口方向向上,如图所示的io口说明图,其实在电路板上,也有标了“p1”字样,代表该处的针脚为第一针。

说明图有2中排号法,就是端口的命名不同,一个叫做“Raspberry Pi”命名,一个叫“Broadcom”命名。2套命名法猜测是为了和arduino一样使用数字抽象化端口,这样以后电路规格发生变化后代码具有通用性。

如图所示,绿色的为通用io端口,粉红为spi端口。其中的红色5V端口要说一下,实际测试是没有5V电压的,4点几伏特而已。

Raspberry pi gpio

 

三、 代码

先进入python的交互命令行:sudo python

需要使用管理员权限,不然无法访问gpio。

[codesyntax lang="python"]

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

GPIO.setup(17,GPIO.OUT)
GPIO.setup(18,GPIO.OUT)
GPIO.setup(22,GPIO.OUT)

GPIO.output(17,1)
GPIO.output(18,1)
GPIO.output(22,1)
def onebyone(delay):
    delay=1
    GPIO.output(17,0)
    time.sleep(delay)
    GPIO.output(17,1)
    GPIO.output(18,0)
    time.sleep(delay)
    GPIO.output(18,1)
    GPIO.output(22,0)
    time.sleep(delay)
    GPIO.output(22,1)

for i in range(10):
    onebyone(i)
print 'ok'
GPIO.cleanup()

[/codesyntax]

 

其中的代码最后一句 GPIO.cleanup() 需要特别注意。它应该在你操作完gpio或者程序结束前使用。不然会导致你下次使用gpio的时候提示该channel is use,端口被占用无法使用。

阅读全文»

Raspberry pi 安装无线usb网卡

作者: 时间: 2013-02-27

Raspberry Pi 虽然提供网口,但是被线束缚的感觉还是不够好。所以在网上花了28元买了块“腾达(TENDA)811M 150M mini无线网卡”,直接插上Raspberry的usb口,发现灯不亮,也就是说网卡不工作。于是才有下面的安装过程。

一、安装驱动

首先确保usb网卡已经插好。输入lsusb命令查看存在的设备。

>>lsusb

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

可以看见最后一行“Ralink Technology, Corp. RT5370 Wireless Adapter”,这就是腾达的网卡。

搜索相应驱动,

>>sudo apt-cache ralink

firmware-ralink - Binary firmware for Ralink wireless cards

根据搜索结果,驱动的名字为:firmware-ralink,将它安装。

>>sudo apt-get install firmware-ralink

安装完毕后,我重启了一下Raspberry。然后运行命令

>>iwlist wlan0 scan

发现已经可以扫描到当前环境下的wifi信号了。

 

二、配置wifi

编辑配置文件 /etc/network/interfaces

内容大致如下(注:不一定都相同)

auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0  #系统启动时,自动连接
allow-hotplug wlan0  #支持热插拔
iface wlan0 inet dhcp  #使用dhcp方式获取ip地址,如果要静态ip的话,将dhcp改为 static
wpa-ssid 你的wifi名字
wpa-psk 你的wifi密码

#如果不是上面的dhcp,而是静态ip的话,就改成下面这样的

#iface wlan0 inet static
#address 192.168.1.9
#netmask 255.255.255.0
#broadcast 192.168.1.255
#gateway 192.168.1.1
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

 

三、启动吧

命令:

>>sudo ifup wlan0

如果无意外,usb网卡的指示灯应该亮起来。并且成功获得ip地址。至此网卡安装成功。

让golang在Raspberry Pi上飞一会

作者: 时间: 2013-02-12

最近在玩2样东西,一样是go语言(golang),一样是Raspberry Pi(树莓派)。那么能在Raspberry上运行go语言程序吗?

Golang的文档上说是支持多平台的,其中也包括了ARM,看来有戏了,兴冲冲打开http://code.google.com/p/go/downloads/list (golang编译器的下载页面) ,却发现没有arm平台的二进制大包下载。所以arm平台下的需要下载源码自己编译。

 

Raspberry上编译前准备及配置

一。俗话说巧妇难为无米之炊,要编译源码先得下源码,下载后这里解压到 /home/pi/go 目录下。

二。确认需要的工具系统已经具备了:mercurial 、gcc 和 libc6-dev 。如果不确定有没有只需输入下列命令:

sudo apt-get install -y mercurial gcc libc6-dev

以上命令实现安装3个必需的工具。

三。配置环境变量。因为第一点的时候我把下载下来的源码解压到/home/pi/go 目录下了,所以将GOROOT变量值设置为该路径:

export GOROOT=/home/pi/go

export GOARCH=arm

但其实不设置的话也是可以的,它默认是等一下命令行执行位置的父目录。

四。也是配置环境变量。GOARM 变量可以不设置,默认值为:“6"。但是实际中证明,如果不设置为值为“5"的话,编译会出现如下的错误:SIGILL: illegal instruction 。那么设置为5和6有什么区别呢?将 GOARM 设置为5会引起连接器发出指令来调用软件浮点数实现,而非使用硬件浮点数支持。

export GOARM="5"

五。分配更多的内存给cpu使用。这不是必须的,更大的内存有助于缩减编译时间。使用:sudo raspi-config 中的memory_split功能来实现。

阅读全文»