刚刚买了个树莓派, 不太会用,在网络上查到些好文章资料汇总于此, 备忘。
相关资源:
http://shumeipai.nxez.com/ 一个学习论坛
http://raspi.taobao.com/?spm=2013.1.1000126.3.n9tqdw 淘宝上 销售树莓派配件
http://bbs.elecfans.com/zhuti_shumeipai_1.html 学习资料
来源:http://blog.csdn.net/xdw1985829/article/details/38779437
一. 树莓派介绍
Raspberry Pi(中文名为“树莓派”,简写为RPi,或者RasPi/RPi)是为学生计算机编程教育而设计,只有信用卡 大小的卡片式电脑,其系统基于Linux。
树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"!这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。基金会期望这 一款电脑无论是在发展中国家还是在发达国家,会有更多的其它应用不断被开发出来,并应用到更多领域。一句话:树莓派是一个卡片大小的开发板,上面可以运行Linux系统,我们可以用它开发我想要的设备。
2、树莓派的种类
A型:1个USB、无有线网络接口、功率2.5W,500mA、256MB RAM(基本已经见不到了)
B型:2个USB、支持有线网络、功率3.5W,700mA、512MB RAM、26个GPIO(市售还有很多)。
B+型:4个USB口、支持有线网络,功耗1W,512M RAM 40个GPIO(2014新出的,推荐使用)
购买请在淘宝上搜一下,非常多:200到--300元之间(裸板,不含SD卡、电源)
3、树莓派参数:
B型:
处理器 | BroadcomBCM2835(CPU,GPU,DSP和SDRAM,USB) |
CPU | ARM1176JZF-S核心(ARM11系列)700MHz |
GPU | Broadcom VideoCrore IV,OpenGL ES 2.0,1080p 30 h.264/MPEG-4 AVC高清解码器 |
内存 | 512MByte |
USB 2.0 | 2(支持USB hub扩展) |
影像输出 | Composite RCA(PAL & NTSC),HDMI(rev 1.3 & 1.4),raw LCD Panels via DSI 14 HDMI resolution from 640x350 to 1920x1200 plus various PAL andNTSC standards |
音源输出 | 3.5mm插孔,HDMI |
板载存储 | SD/MMC/SDIO卡插槽 |
网络接口 | 10/100以太网接口 |
外设 | 8xGPIO、UART、I2C、带两个选择的SPI总线,+3.3V,+5V,ground(负极) |
额定功率 | 700mA(3.5W) |
电源输入 | 5V / 通过MicroUSB或GPIO头 |
总体尺寸 | 85.60 x 53.98 mm(3.370 x 2.125 in) |
操作系统 | Debian GNU/linux,Fedora,Arch Linux ARM,RISC OS, XBMC |
B+改进
• 更多的GPIO:B+将通用输入输出引脚增加到了40个,而Model B则只有26个;
• 更多的USB:B+提供了4个USB端口,对热插拔有着更好的兼容性(Model B只有2个);
• 支持microSD:旧款的SD卡插槽,已经被换成了更漂亮的推入式microSD卡槽;
• 更低的功耗:将线性式稳压器换成了开关式,功耗降低了0.5W到1W;
• 更好的音频:音频电路部分采用了专用的低噪供电;
• 简洁的外形:USB接口被推到了主板的一边,复合视频移到了3.5mm音频口的位置,此外还增加了4个独立的安装孔。
4、树莓派分布图
B型,B+类似,请自行对比参考
二. 树莓派上手使用
树莓派开发板没有配置板载FLASH,因为它支持SD卡启动,所有我们需要下载相应镜像,并将其烧写在SD上,启动系统即可(这个镜像里包含了我们通常所说的bootloader、kernel、文件系统)
树莓派由于其开源特性,支持非常多的系统类型(指的文件系统):Raspbian、Arch Linux ARM、Debian Squeeze、Firefox OS、Gentoo Linux
Google Chrome OS、Raspberry Pi Fedora Remix、Slackware ARM
QtonPi、Slackware ARM、WebOS、RISC OS、FreeBSD
NetBSD、Android 4.0(Ice Cream Sandwich)详细介绍请看维基百科:http://zh.wikipedia.org/wiki/%E6%A0%91%E8%8E%93%E6%B4%BE
2、树莓派镜像下载地址
http://www.raspberrypi.org/
官网(速度较慢)
http://pan.baidu.com/share/home?uk=671504480#category/type=0
树莓派论坛提供的下载地址 (百度网盘速度较快)
建议下载:wheezy-raspbian
笔者更新时,最新版本为:2014.6.20(B+版建议使用此版本,笔者将旧版烧入B+版中貌似网卡及USB驱动不能识别)
3、镜像烧写:
准备:
笔者建议最好4G以上,否则后续开发会使用经常不够用
同样在上一步的网址下载3)上一步下载好的镜像
然后就开始安装系统了,根据你的SD速度,安装过程有快有慢。5)安装结束后会弹出完成对话框,说明安装就完成了,如果不成功,请关闭防火墙一类的软件,重新插入SD进行安装
请注意安装完,win系统下看到SD只有74MB了,这是正常现象,因为linux下的分区win下是看不到的!
4、开发板供电:树莓派开发板有两种供电方式:
1)使用micro usb供电:所有android手机的充电线都可以给他供电
2)外接电源直接供电:B型(B+型)GPIO 左上角的2、4管角为电源正极,6管角为地
5、树莓派访问方式
1)初始启动:
a、外接HDMI或者AV显示器,USB鼠标、键盘
把树莓派当作一个小电脑,可以用外接键盘、鼠标操作树莓派,树莓派启动界面会显示在HDMI或者AV显示器上
笔者不太建议这种启动方式——抱着个显示、鼠标键盘太不方便了,而且带HDMI的显示器不好找
(虽然可以用HDMI转VGA接在电脑显示器上代替)
b、使用USB转ttl 串口线通过串口访问树莓派
树莓派默认支持串口启动,我们只需要一根:usb转ttl线(淘宝上很多,10几块钱一根)连接树莓派与电脑,即可通过串口控制调试树莓派(电脑上使用超级终端或者其它串口调试工具,笔者建议使用Xshell4.0)
树莓派串口连接口请见下图中所示
在终端中会显示类似启动信息,如下:
中间会提示输出用户名和密码:
默认用户名:pi
默认密码:raspberry
octopi login: pi
Password:
Last login: Fri Jun 20 09:32:38 UTC 2014 on ttyAMA0
Linux octopi 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
NOTICE: the software on this Raspberry Pi has not been fully configured. Please run 'sudo raspi-config'
pi@octopi:~$
2)其它访问方式:
SSH:
由于树莓派只有一个串口,当我们开发中需要占用这个串口或者我们希望进行远程开发(通过一个根网线或无线连接到树莓派)
可以借助Linux系统特有的一种服务SSH来完成(请见后面的文章)
VNC:
VNC是linux下面常用的远程桌面,用它可以在windows或者unix主机上方便的通过网络操作远程主机而不需要一个额外的显示器,非常实用(请见后面的文章)
远程桌面:
远程桌面是windows自带的一个远程桌面登陆系统,很好用(请见后面的文章)
以上三种方式都是通过网络对树莓派进行控制,可以说只要知道了树莓派的ip地址,一切控制so easy
三. 树莓派rasp-config配置
经过前面两步我们的树莓派已经正常的工作起来了,但是在真正用它开发之前还需要进行一些列的配置以及软件的安装,这样开发起来才会得心应手,下面我们介绍一下常用的软件和服务
1、配置选项:
树莓派第一次使用的时候需要进行一个简单的配置,在命令行模式下运行以下命令:
$sudo raspi-config
新旧版本的配置界面不太一样,下面列举两种比较常见的:
1)旧版本
- expand_rootfs –将根分区扩展到整张SD卡(树莓派默认不使用SD卡的全部空间,有一部分保留,建议选中)
- overscan–可以扩充或缩小屏幕(旧版不能自适应屏幕,新版没有这个选项,貌似可以自适应,没仔细研究)
- configure_keyboard - 键盘配置界面
- change_pass – 默认的用户名是pi,密码是raspberry,用ssh远程连接或串口登录时要用到这个用户名和密码,这里可以更改密码。
- change_locale – 更改语言设置。在Locales to be generated: 中,选择en_US.UTF-8和zh_CN.UTF-8。在Default locale for the system environment:中,选择en_US.UTF-8(等启动完机器,装完中文字体,再改回zh_CN.UTF-8,否则第一次启动会出现方块)。
- change_timezone –因为树莓派没有内部时钟,是通过网络获取的时间,选择Asia – Shanghai。
- memory_split –配置给桌面显示的显存。
- ssh – 是否激活sshd服务。
- boot_behaviour – 设置启动时启动图形界面,正常肯定是Yes。
2)新版本(比较新的镜像大部分是这个界面,做了不少改变)
1 Expand Filesystem 扩展文件系统(同旧版)。
2 Change User Password 改变默认pi用户的密码,按回车后输入pi用户的新密码。
3 Enable Boot to Desktop/Scratch 启动时进入的环境选择
Console Text console, requiring login(default)
启动时进入字符控制台,需要进行登录(默认项)。
Desktop log in as user 'pi' at the graphical desktop
启动时进入LXDE图形界面的桌面。
Scratch Start the Scratch programming environment upon boot
启动时进入Scratch编程环境。
4 Internationalisation Options 国际化选项,可以更改默认语言
I1 Change Locale
语言和区域设置,建议不要改,默认英文就好。想改中文,最好选安装了中文字体再进行这步,安装中文字体的方法:
sudo apt-get update
sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei
移动到屏幕底部,用空格键选中zh-CN GB2312,zh-CN GB18030,zh-CN UTF-8,然后按回车,然后默认语言选中zh-cn然后回车
I2 Change Timezone
设置时区,如果不进行设置,PI的时间就显示不正常。选择Asia(亚洲)再选择Chongqing(重庆)即可。
I3 Change Keyboard Layout
改变键盘布局
5 Enable Camera
启动PI的摄像头模块,如果想启用,选择Enable,禁用选择Disable就行了
6 Add to Rastrack
把你的PI的地理位置添加到一个全世界开启此选项的地图,建议还是不要开了,免得被跟踪。
7 Overclock
None 不超频,运行在700Mhz,核心频率250Mhz,内存频率400Mhz,不增加电压
Modest 适度超频,运行在800Mhz,核心频率250Mhz,内存频率400Mhz,不增加电压
Medium 中度超频,运行在900Mhz,核心频率250Mhz,内存频率450Mhz,增加电压2
High 高度超频,运行在950Mhz,核心频率250Mhz,内存频率450Mhz,增加电压6
Turbo 终极超频,运行在1000Mhz,核心频率500Mhz,内存频率600Mhz,增加电压6
8 Advanced Options 高级设置
A1 Overscan 是否让屏幕内容全屏显示
A2 Hostname 在网上邻居或者路由器能看到的主机名称
A3 Memory Split 内存分配,选择给GPU多少内存
A4 SSH 是否运行SSH登录,建议开户此选项,以后操作PI方便,有网络就行,不用开屏幕了。
A5 SPI 是否默认启动SPI内核驱动,新手就不用管了。
A6 Audio 选择声音默认输出到模拟口还是HDMI口
0 Auto 自动选择
1 Force 3.5mm ('headphone') jack强制输出到3.5mm模拟口
2 Force HDMI 强制输出到HDMI
A7 Update 把raspi-config这个工具自动升级到最新版本
9 About raspi-config 关于raspi-config的信息。
四. 树莓派网络与更新配置(有线、无线)
树莓派的使用无法离开网络,如果没有网络,建议大家洗洗睡吧,没有网路就不要玩树莓派了~
1、有线网络:
1)自动获取IP:树莓派默认有线网卡是使能的,只需将网线插入树莓派网卡,即可自动获得IP(要求在局域网内)
2)手动设定IP:如果是电脑与树莓派直连,不能自动获得IP,可以使用:ifconfig eth0 192.168.1.123设定ip(下次重启就没了)
3)设置静态IP:如果担心在同网络情况下ip或者不固定,可以讲电脑设置为静态ip,方法如下:
在终端中打开一下文件:
sudo vi /etc/network/interfaces(需要学习VI基本操作,树莓派自带的vi不是很好用,请先参考下面文档更新一下vi)
auto lo
iface lo inet loopback
iface eth0 inet dhcp
讲以上内容改为:
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.1
2、无线网络
有线网络需要受到网线的限制,现在无线网络已经非常的普及,通过一个无线网卡与无线路由器链接起来岂不是更加无拘无束,下面介绍一下无线网络的配置。
1)无线网卡驱动的确认
树莓派内置了很多无线网卡的驱动,大家可以在这个网站查找所支持的型号
http://elinux.org/RPi_VerifiedPeripherals#USB_Wi-Fi_Adapters
笔者手里面有一个:8188CUS(网卡芯片)的验证支持
验证方法:
将USB无线网卡插入树莓派USB接口(旧版系统会自动重启,新版不会),敲入:
$lsusb:
lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
或者敲入:
$ifconfig:
wlan0 Link encap:Ethernet HWaddr 00:0b:81:87:e5:f9
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:3 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
说明树莓派支持你的无线网卡,可进行下一步设置
2)无线网卡的配置
使用vi打开以下文件进行修改:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "360WiFi"
wpa-psk "hellworld"
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
重启即可连入:网络名为360WIFI,密码为helloworld的网络,
如果想要设置为静态ip,类似有线网卡,修改相应代码即可
3、更新源测试:
有线或者无线网络连通过,我们后面对软件更新是,需要首先进行更新列表更新,执行以下命令即可:
sudo apt-get update
Get:1 http://raspberrypi.collabora.com wheezy Release.gpg [836 B]
Get:2 http://archive.raspberrypi.org wheezy Release.gpg [490 B]
Get:3 http://raspberrypi.collabora.com wheezy Release [7,532 B]
Get:4 http://mirrordirector.raspbian.org wheezy Release.gpg [490 B]
Get:5 http://mirrordirector.raspbian.org wheezy Release [14.4 kB]
Get:6 http://raspberrypi.collabora.com wheezy/rpi armhf Packages [2,214 B]
Get:7 http://archive.raspberrypi.org wheezy Release [7,263 B]
....
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
Fetched 6,992 kB in 1min 12s (96.6 kB/s)
Reading package lists... Done
改变更新源:
笔者测试这个默认的网址还是挺快的,网络上有人建议改变更新源为国内的(我没发现快多少,大家根据自己网络选择):
sudo vi /etc/apt/sources.list
将默认的用#号屏蔽,改为
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
或者
deb http://mirror.nus.edu.sg/raspbian/raspbian wheezy main contrib non-free rpi
或者用以下地址代替上面的地址栏
中山大学
Raspbian http://mirror.sysu.edu.cn/raspbian/raspbian/
中国科学技术大学
Raspbian http://mirrors.ustc.edu.cn/raspbian/raspbian/
清华大学
Raspbian http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/
华中科技大学
Raspbian http://mirrors.hustunique.com/raspbian/raspbian/
Arch Linux ARM http://mirrors.hustunique.com/archlinuxarm/
大连东软信息学院源(北方用户)
Raspbian http://mirrors.neusoft.edu.cn/raspbian/raspbian/
五. 树莓派常用软件及服务(vi、远程桌面、ssh、samba、u盘)
树莓派自带的vim不是很好用,比如默认不支持小键盘及方向键等,我们可以更新一下
通过windows自带的远程桌面软件,可以远程访问树莓派桌面应用
ssh服务默认已经安装完毕
只需要安装一个ssh客户端即可,笔者推荐xshell4.0(Xmanage4.0的一个组件)
host填入:开发板ip即可
用户名、密码同串口登陆一致(默认:pi、raspberry)
通过samba服务,可以自由、访问修改树莓派家目录下的文件、代码
任意打开一个文件浏览器,输入ip地址:\\172.20.223.91\pi
5、挂载U盘
当需要大容量外接存储设备时,可使用U盘挂载
挂载命令:
每次开机就会自动挂载3)热插挂载
需要希望想电脑一样,插上自动识别挂载在某一目录下,拔下自动umount,请按一下操作
sudo vi /etc/udev/rules.d/10-usbstorage.rules(此文件默认没有,需要新建)
赋值以下内容即可,会自动在/mnt/udisk目录下挂载U盘
- KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"
- SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"
- IMPORT{program}="/sbin/blkid -o udev -p %N"
- ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end"
- ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
- ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k"
- ACTION=="add", ENV{mount_options}="relatime,sync"
- ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umaskk
- =000"
- ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umaskk
- =000"
- ACTION=="add", RUN+="/bin/mkdir -p /mnt/udisk/", RUN+="/bin/mount -o $env{mount__
- options} /dev/%k /mnt/udisk/"
- ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /mnt/udisk/}", RUN+="//
- bin/rmdir /mnt/udisk/"
- LABEL="media_by_label_auto_mount_end"
参考文章
树莓派通过Java实现远程控制电灯
树莓派上搭建SVN及配置
树莓派上Java程序作为linux服务并开机自动启动