树莓派学习
Posted 王信平
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派学习相关的知识,希望对你有一定的参考价值。
一 树莓派配置
1 安装树莓派
1)在树莓派的官方网站http://www.raspberrypi.org/downloads/下载操作系统。
2)下载系统镜像之后,将Micro SD卡插入电脑,借助Win32 Disk Imager 将镜像文件写入到Micro SD卡之中。
2 树莓派(raspberry)启用root账户
树莓派使用的linux是debian系统,所以树莓派启用root和debian是相同的。debian里root账户默认没有密码,但账户锁定。
当需要root权限时,由默认账户经由sudo执行,Raspberry pi 系统中的Raspbian默认用户是pi 密码为raspberry。
重新开启root账号,可由pi用户登录后,在命令行下执行
sudo passwd root
执行此命令后系统会提示输入两遍的root密码,输入你想设的密码即可,然后在执行
sudo passwd --unlock root
这样就可以解锁root账户了。使用 su root 切换到 root账户。现在树莓派就有以下默认账户/默认密码:
pi / raspberry
root / 自定义密码
3 树莓派无线网卡配置
1)通过配置 /etc/network/interfaces 文件实现
sudo nano /etc/network/interfaces
修改后文件内容如下:
auto lo iface lo inet loopback iface eth0 inet dhcp auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid “你的wifi名称” wpa-psk “你的wifi密码”
具体各行配置的意思如下:
auto lo //表示使用localhost iface eth0 inet dhcp //表示如果有网卡ech0, 则用dhcp获得IP地址 (这个网卡是本机的网卡,而不是WIFI网卡) auto wlan0 //表示如果有wlan设备,使用wlan0设备名 allow-hotplug wlan0 //表示wlan设备可以热插拨 iface wlan0 inet dhcp //表示如果有WLAN网卡wlan0 (就是WIFI网卡), 则用dhcp获得IP地址 wpa-ssid “你的wifi名称”//表示连接SSID名 wpa-psk “你的wifi密码”//表示连接WIFI网络时,使用wpa-psk认证方式,认证密码
上述定义后,如果有网线连接,则采取DHCP自动连接获得地址,使用命令
sudo /etc/init.d/networking restart
或使用如下命令
sudo service networking restart
成功后,用 ifconfig 命令可以看到 wlan0 设备,且有了IP地址。
更新源测试,有线或者无线网络连通过,我们后面对软件更新是,需要首先进行更新列表更新,执行以下命令即可:
sudo apt-get update
2)修改树莓派软件源
例如大连东软信息学院的软件源镜像地址为——http://mirrors.neusoft.edu.cn/raspbian/raspbian
在修改之前先把源列表备份,然后再修改sources.list
cd /etc/apt
cp sources.list sources.list.bak
修改 /etc/apt/sources.list
sudo nano sources.list
例如使用大连东软信息学院软件源镜像,修改之后的内容如下:
deb http://mirrors.neusoft.edu.cn/raspbian/raspbian wheezy main contrib non-free rpi
更新软件源
sudo apt-get update
更新软件
sudo apt-get upgrade
4 进入配置菜单
如果当前树莓派已经登录了图形桌面系统,打开终端,输入进入配置菜单。
sudo raspi-config
说明一下:
expand_rootfs – 将根分区扩展到整张SD卡,因为整个Image才400多兆,但是现在的SD卡基本都是几个G的,除非SD卡有其他用途,一般建议选择这项,这样可以有足够多的空间来安装各种程序。
overscan – 可以扩充或者缩小屏幕的设置,除非一启动就发现显示的内容能刚好填满整个电视的画面。大部分情况下是不能填满或者超过,如果这样就要enable这个,然后在系统启动之后,更改config.txt中的overscan_left、overscan_right、overscan_top和overscan_bottom的内容,如果显示内容超出屏幕的范围(显示不全),就要设置这些值为正值,如果是1080p,一般设置为48。如果显示的内容不能填满屏幕,则设置这些值为负值,如果是1080p,一般设置为-48。具体可以更加显示的结果,以16为步长进行调整。
configure_keyboard - 这个很重要,前面的屏幕选默认值:Generic 105-key (Intl) PC,但在Keyboard layout:时,显示出来的都是English(UK)的,要选择Other,然后在里面选择English(US),否则会出现键盘的一些符号不对或者对调,比如引号”和@符号对调,#号变成英镑符号等等。之后的两个屏幕都选择默认值就可以了,到了:Use Control+Alt+Backspace to terminate the X server? 时,选择Yes,表示用这个可以终止X Server,当整个X-Window死掉的时候可以用。
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,没错是Shanghai,木有Beijing,这是Unix的传统。缩写是CST,不知道是China Shanghai Time还是China Standard Time。
memory_split – 按照网上的说法,这个功能有Bug,会导致/boot/start.elf损坏使系统无法启动,所以不要使用这个功能。可以通过拷贝/boot/下的arm128_start.elf、arm192_start.elf、arm224_start.elf覆盖start.elf来实现显存和内存的划分。为了能播放高清1080p的视频,至少要分配64M显存给GPU。所以arm224就不能播放1080p高清视频。
ssh – 是否激活sshd服务,应该选择激活,这是当界面死掉后唯一进入机器的通道(如果Kernel没死的话),可以找另外一部机器,用putty或者其他ssh的工具连接到这部机器上,用pi这个用户登录,至少可以实现安全重启。
boot_behaviour – 设置启动时启动图形界面,如果需要开机就进入图形界面的话就选yes
update – 这就是更新软件啦,听说清华大学有个镜像源,如果感觉更新速度不给力的话可以试试
5 安装中文支持及输入法
更新数据源
sudo apt-get update
安装中文字库
sudo apt-get install ttf-wqy-microhei
更改系统中的菜单界面
sudo dpkg-reconfigure locales
用空格键勾选前面带有 “zhCN.UTF-8” 的选项,这些表示是中文字库。然后重启系统。
reboot
安装智能通用输入法 sudo apt-get install scim (如遇用户选择,选择y)
安装智能拼音中文表格 sudo apt-get install scim-table-zh (如遇用户选择,选择y)
安装智能拼音输入法 sudo apt-get install scim-pinyin (如遇用户选择,选择y)
重启
切换方法Ctil+空格面.
6 旋转屏幕,支持HDMI热插拔
修改/boot/config.txt 文件
sudo nano /boot/config.txt
要旋转显示器,在这文件内加上以下一行代码:
display_rotate=1
要让显示器连接更加可靠,支持 HDMI 热插拔,在文件内加上以下一行代码:
hdmi_force_hotplug=1
然后重新启动系统。
reboot
7 修改分辨率
修改 /boot/config.txt ,找到 hdmi_mode=16行。查找以下列表中你要的分辨率的mode值,修改“hdmi_mode=16”为你要的mode值:
比如:640x480 60Hz就是修改为“hdmi_mode=4”
These values are valid if hdmi_group=2 (DMT) hdmi_mode=1 640x350 85Hz hdmi_mode=2 640x400 85Hz hdmi_mode=3 720x400 85Hz hdmi_mode=4 640x480 60Hz hdmi_mode=5 640x480 72Hz hdmi_mode=6 640x480 75Hz hdmi_mode=7 640x480 85Hz hdmi_mode=8 800x600 56Hz hdmi_mode=9 800x600 60Hz hdmi_mode=10 800x600 72Hz hdmi_mode=11 800x600 75Hz hdmi_mode=12 800x600 85Hz hdmi_mode=13 800x600 120Hz hdmi_mode=14 848x480 60Hz hdmi_mode=15 1024x768 43Hz DO NOT USE hdmi_mode=16 1024x768 60Hz hdmi_mode=17 1024x768 70Hz hdmi_mode=18 1024x768 75Hz hdmi_mode=19 1024x768 85Hz hdmi_mode=20 1024x768 120Hz hdmi_mode=21 1152x864 75Hz hdmi_mode=22 1280x768 reduced blanking hdmi_mode=23 1280x768 60Hz hdmi_mode=24 1280x768 75Hz hdmi_mode=25 1280x768 85Hz hdmi_mode=26 1280x768 120Hz reduced blanking hdmi_mode=27 1280x800 reduced blanking hdmi_mode=28 1280x800 60Hz hdmi_mode=29 1280x800 75Hz hdmi_mode=30 1280x800 85Hz hdmi_mode=31 1280x800 120Hz reduced blanking hdmi_mode=32 1280x960 60Hz hdmi_mode=33 1280x960 85Hz hdmi_mode=34 1280x960 120Hz reduced blanking hdmi_mode=35 1280x1024 60Hz hdmi_mode=36 1280x1024 75Hz hdmi_mode=37 1280x1024 85Hz hdmi_mode=38 1280x1024 120Hz reduced blanking hdmi_mode=39 1360x768 60Hz hdmi_mode=40 1360x768 120Hz reduced blanking hdmi_mode=41 1400x1050 reduced blanking hdmi_mode=42 1400x1050 60Hz hdmi_mode=43 1400x1050 75Hz hdmi_mode=44 1400x1050 85Hz hdmi_mode=45 1400x1050 120Hz reduced blanking hdmi_mode=46 1440x900 reduced blanking hdmi_mode=47 1440x900 60Hz hdmi_mode=48 1440x900 75Hz hdmi_mode=49 1440x900 85Hz hdmi_mode=50 1440x900 120Hz reduced blanking hdmi_mode=51 1600x1200 60Hz hdmi_mode=52 1600x1200 65Hz hdmi_mode=53 1600x1200 70Hz hdmi_mode=54 1600x1200 75Hz hdmi_mode=55 1600x1200 85Hz hdmi_mode=56 1600x1200 120Hz reduced blanking hdmi_mode=57 1680x1050 reduced blanking hdmi_mode=58 1680x1050 60Hz hdmi_mode=59 1680x1050 75Hz hdmi_mode=60 1680x1050 85Hz hdmi_mode=61 1680x1050 120Hz reduced blanking hdmi_mode=62 1792x1344 60Hz hdmi_mode=63 1792x1344 75Hz hdmi_mode=64 1792x1344 120Hz reduced blanking hdmi_mode=65 1856x1392 60Hz hdmi_mode=66 1856x1392 75Hz hdmi_mode=67 1856x1392 120Hz reduced blanking hdmi_mode=68 1920x1200 reduced blanking hdmi_mode=69 1920x1200 60Hz hdmi_mode=70 1920x1200 75Hz hdmi_mode=71 1920x1200 85Hz hdmi_mode=72 1920x1200 120Hz reduced blanking hdmi_mode=73 1920x1440 60Hz hdmi_mode=74 1920x1440 75Hz hdmi_mode=75 1920x1440 120Hz reduced blanking hdmi_mode=76 2560x1600 reduced blanking hdmi_mode=77 2560x1600 60Hz hdmi_mode=78 2560x1600 75Hz hdmi_mode=79 2560x1600 85Hz hdmi_mode=80 2560x1600 120Hz reduced blanking hdmi_mode=81 1366x768 60Hz hdmi_mode=82 1080p 60Hz hdmi_mode=83 1600x900 reduced blanking hdmi_mode=84 2048x1152 reduced blanking hdmi_mode=85 720p 60Hz hdmi_mode=86 1366x768 reduced blanking
8 更新 vim
树莓派自带的vim不是很好用,比如默认不支持小键盘及方向键等,可以使用以下命令更新一下
sudo apt-get install vim
9 使用远程桌面
通过windows自带的远程桌面软件,可以远程访问树莓派桌面应用,使用windows命令 mstsc
sudo apt-get install xrdp
10 访问到局域网里的树莓派
为了能用raspberrypi.local来访问到局域网里的树莓派
sudo apt-get install avahi-daemon
11 安装 lrzsz
通常linux服务器是通过ssh客户端来进行远程登录和管理的。然而如何方便的实现客户端与linux服务器端的文件交互呢?这就需要用到rz(上传)、sz(下载)工具。
sz/rz除了需要在Linux上面安装程序,还需要有支持sz/rz命令的终端软件,SecureCRT和Xmanager都支持sz/rz命令。
sudo apt-get install lrzsz
解决SecureCRT无法用非root账号登录ssh,使用rz传输文件时会出现以下问题:
The server has disconnected with an error. Server message reads:
A protocol error occurred. Change of username or service not allowed: (root,ssh-connection) -> (zoujiaqing,ssh-connection)
解决方法:
这是因为SecureCRT设置中的用户名和你登录时候输入的用户名不相符,在这里改一下就可以:
选项 -> 会话选项 -> 连接 -> SSH2 -> 用户名
修改后登录正常,这样可以禁用服务器的ROOT登录了(为了安全)
12 更改键盘布局
树莓派(raspberry pi)用了几次后,发现键盘老是按错,一些字符打不出来或打错 ,发现是键盘布局不对,树莓派(raspberry pi)是英国产品,默认键盘布局是英国(GB),我们用的键盘布局一般是美国(US)。更改键盘布局,命令如下:
sudo dpkg-reconfigure keyboard-configuration
进入后,选通用的101键PC键盘
按tab键,到OK,按Enter确定,在键盘layout选择中,选Other
按tab键,到OK,按Enter确定,然后在选项中,选English(US)
按tab键,到OK,按Enter确定,再选English(US, alternative international)
按tab键,到OK,按Enter确定,然后一路按OK,退出后,重启系统
reboot
13 安装浏览器
使用以下命令安装浏览器
sudo apt-get install x11-xserver-utils unclutter
开机启动某个特定程序
cd~/.config
mkdir autostart
cd autostar
生成一个*.desktop文件(比如:my.desktop),命令如下:
vim my.desktop
输入以下文件内容:
[Desktop Entry] Type=Application Exec=chromium --user-data-dir=~/chromium --kiosk --incognito http://127.0.0.1/index.html
14 树莓派 Wifi 掉线问题
在使用过程中发现过一阵 SSH 和 FTP 就链接不上了,这怎么行?Wifi 断了这个镜子不就不能工作了。解决这个问题很简单,创建并编辑文件 /etc/modprobe.d/8192cu.conf 并且粘贴下列内容:
#Disable power saving options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1
然后使用 sudo reboot
进行重启就可以了。
15 开机启动某个程序
linux启动时,用户登录后,会执行/etc/rc.local脚本文件,一般我们把要自动执行的命令放在该文件中,所以修改该脚本在文件尾部(在exit0前)加上以下代码
cd /home/pi/xinping/apache-tomcat-8.0.22/bin
./startup.sh
比如:以root身份登录,就添加以下一句:
sudo –s startx
使用 commond(Alt) + d 切换程序
16 安装ftp服务器
在终端输入以下命令:
sudo apt-get install vsftpd
然后再编辑一下配置文件,这样就可以设置访问限制了。
sudo vi /etc/vsftpd.conf
推荐以下配置
# 不允许匿名访问 anonymous_enable=NO # 设定可以进行写操作 write_enable=YES # 设定本地用户可以访问 local_enable=YES ascii_upload_enable=YES ascii_download_enable=YES
重启服务
sudo service vsftpd restart
参考资料:
http://www.cnblogs.com/ma6174/archive/2013/01/25/2875617.html
http://www.cnblogs.com/imfanqi/p/4370025.html
http://www.cnblogs.com/Elvin/p/3916437.html
http://blog.csdn.net/xdw1985829/article/details/38818193
http://www.jianshu.com/p/f9397672d5fd
以上是关于树莓派学习的主要内容,如果未能解决你的问题,请参考以下文章