文档章节

raspberry pi 树莓派从入门到精通(SmartlinkCloud.com,智联网云平台)

quanpower
 quanpower
发布于 2013/11/27 21:14
字数 4033
阅读 2962
收藏 38
这篇帖子我打算用Q&A的方式来编写,这样大家更容易一目了然的看明整个帖子的内容,层次分明,调理清晰,以下均是我个人拿到树莓派之后实际使用中碰到的问题和解决办法。

1. Q:树莓派怎么启动?
    A:使用win32diskimager将系统镜img文件写入SD卡中,然后插到树莓派的卡槽中,上电,即可启动系统。需要注意的是,我最初使用的是 TF小卡套上SD卡套来实现启动的,一开始也的确使用正常,后来在使用过程中发现系统无法启动,一度以为是RPI坏了,发回爱板网让小鸟帮我检测,得出结 论是SD卡套的问题。这个卡套在电脑上读写的时候是正常的,但是树莓派却无法读出系统。因此建议各位还是尽量直接用SD卡,或者是用U大的TF转SD变形 卡,比市面上2块钱的SD卡套质量要好的多.


2. Q:没有屏幕,没有键盘,怎么玩树莓派?
    A:没有屏幕和键盘,只要你有一根最大负载至少750ma的5V电源适配器和一根网线,你就可以使用电脑通过SSH连上树莓派。这里,我要说明的是,树莓 派官方系统Raspbian自2012-9-18版本之后,均设置了ssh服务随系统自动启动,我使用的是最新的2012-10-28版本的。插上SD 卡,插上网线,上电,树莓派启动约30秒之后,应该就启动完成了。我们只需要一个SSH客户端来连接树莓派就可以。这里推荐putty.exe这个小巧的 ssh客户端软件,整个程序就一个exe文件,很精简。   


ssh.jpg


      IP地址填上树莓的IP,其他设置不用更改,点击OPEN。这时会提示需要输入账号和密码,树莓派的默认账号是pi,默认密码是raspberry,注意密码输入的时候是没有*号来告诉你输了几位的。ssh连接成功后如图所示

ssh2.jpg


3. Q:如何让你的电脑远程连接上树莓派桌面?
    A:树莓派的官方系统raspbian自带了x window,因此是可以使用它的类WIN风格的GUI界面的。但是ssh是不支持GUI图形界面的,因此我们这次要用到是vnc。首先按照问题2的操作,连接上树莓派。然后输入以下命令
  1. sudo apt-get install tightvncserver

之后树莓派就会自动从网上下载vnc的服务器端,安装过程中会提示是否安装,按小写的y后回车,继续安装。安装完成后会让你设置一个VNC登陆的密码,输入密码后还会问你是否输入个只能观看不能操作的密码,一般选择n,也就是不设置。整个安装完成之后输入
  1. vncserver -geometry 1024x768

后面那个参数就是你想显示的分辨率。命令成功执行后,ssh里会显示

ssh3.jpg


这里说明一点,每执行一次上面的命令,就打开了一个VNC的端口。VNC默认的端口是5901,也就是说,上面命令执行完成后的编号表示你当前可以连接的 端口号。这时候VNC的服务端已经安装完成了,你需要一个客户端来连接这个服务端。这里可以使用tightvnc view或者RealVNC,这两个软件可以自行谷歌搜下。启动VNC view,这里以tightvnc举例
tightvnc.jpg

IP是你的树莓派的IP,端口号就是上面ssh中New 'X' desktop is raspberrypi:1加上5900,因此现在可以连接的端口号是5901。当然你可以再次执行 vncserver -geometry 1024x768,那么New 'X' desktop is raspberrypi:2,可以连接的端口号就是5901和5902,以此类推。点击连接按钮,需要输入前面设置过的VNC登陆密码,登陆成功后的效果

vnc成功.jpg


这里有几个问题我需要说明下。有时候VNC连上去,不出来桌面,而是灰色的面板,整个时候滑动几下鼠标的滚轮,可能会解决问题,这个是无意中发现的,不保 证一定有效。还有一个情况是,我使用tightvnc view和Realvnc view连上去,点鼠标右键出来的菜单不一样,到现在还不知道是什么原因,而且两个view都无法用界面上的按钮输入ctrl+alt+del来调出任务 管理器。

realvnc.jpg     tightvncyoujian.jpg


安装VNC需要使用命令行。如果需要远程操作安装VNC,就必须通过SSH登录到命令行界面。请先阅读本论坛SSH的相关教程。

安装
树莓派命令行:

  1. sudo apt-get install tightvncserver
复制代码

开机自动启动
安装好之后请一定先使用此命令设置一个VNC密码:
  1. vncpasswd
复制代码
(先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要。)

设置开机启动,需要在/etc/init.d/中创建一个文件。例如tightvncserver:
(注:启动脚本的名称,有和程序名一致的习惯)
  1. sudo nano /etc/init.d/tightvncserver
复制代码
内容如下:(putty窗口中按右键=粘贴)
#!/bin/sh
### BEGIN INIT INFO
# Provides:          tightvncserver
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO

# More details see:
# http://www.penguintutor.com/linux/tightvnc

### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='pi'
### End customization required

eval cd ~$USER

case "$1" in
  start)
    # 启动命令行。此处自定义分辨率、控制台号码或其它参数
    su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1'
    echo "Starting TightVNC server for $USER "
    ;;
  stop)
    # 终止命令行。此处控制台号码与启动一致。
    su $USER -c '/usr/bin/tightvncserver -kill :1'
    echo "Tightvncserver stopped"
    ;;
  *)
    echo "Usage: /etc/init.d/tightvncserver {start|stop}"
    exit 1
    ;;
esac
exit 0

注: 少数玩家默认用户不是pi的请自行更改USER变量
按Ctrl+X,回答Y(存盘)退出nano编辑器。
然后给tightvncserver文件加执行权限,并更新开机启动列表。
  1. sudo chmod 755 /etc/init.d/tightvncserver
  2. sudo update-rc.d tightvncserver defaults

复制代码

电脑登录VNC
Windows客户端RealVNC Viewer下载:
VNC-Viewer-5.0.3-Windows-32bit.exe (2.65 MB, 下载次数: 746)
(SHA-1:86039c6b8927a1cc1ffda426dae43d779a0b06c5)
节省论坛资源,推荐从百度网盘下载
http://pan.baidu.com/share/link?shareid=170467&uk=153758759

功能就不做介绍了。
登录地址输入 “IP地址:控制台号码”,0号控制台可不加号码。

也有Linux版本,参考官网 www.realvnc.com


安卓登录VNC
安卓客户端androidVNC下载:
http://android.d.cn/software/19334.html

同样不用介绍了。苹果客户端哪位用过???求补充~




附:手工启动与参数

以下用处不大,没兴趣请略过。
使用此命令手工启动VNC服务器程序:
  1. tightvncserver -geometry 800x600 :1
复制代码
如果首次启动,并且未曾使用vncpasswd命令设置密码,程序会要求设置一个。

开机启动很方便。如果没理由,真的不推荐手工启动。

命令行参数说明:
一、:1,指定控制台的号码。
启动多个控制台,可以提供互不影响的多个桌面环境。(大多数人不用多用户操作所以没意义)
可以不加此参数,tightvncserver会自动寻找从1开始的下一个空闲控制台。
加上此参数,会强制使用指定的控制台,如果此控制台已经启动则报错。加此参数可有效防止无意多次启动程序(会启动多个控制台)白白浪费系统资源。

特殊的0号控制台
0号控制台就是连接真实显示器真正输出图像的那个桌面。
对于VNC客户端,不输入端口号登录,默认就登录到0号控制台,方便。
但是因为0号是真正的桌面,所以和开机启动桌面环境,或者自己用startx命令,都存在啰嗦的冲突。
到头来是个麻烦。因此自动启动的配置教程中,一律使用1号控制台。


二、-geometry 800x600,分辨率。可以不加。

终止VNC控制台:
  1. tightvncserver -kill :1
复制代码
查看正在运行的控制台列表:
  1. ps ax | grep Xtightvnc | grep -v grep
复制代码


4. Q:如何让树莓派显示中文?
    A:树莓派默认是采用英文字库的,而且系统里没有预装中文字库,所以即使你在locale中改成中文,也不会显示中文,只会显示一堆方块。因此需要我们手动来安装中文字体。好在有一个中文字体是免费开源使用的。ssh中输入以下命令
  1. sudo apt-get install ttf-wqy-zenhei

安装过程中如果碰到(Y/n),都选择y
中文字库安装完成之后,还需要安装一个中文输入法。输入如下命令
  1. sudo apt-get install scim-pinyin

一样的安装过程,安装完毕后输入
  1. sudo raspi-config

然后选择change_locale,在Default locale for the system environment:中选择zh_CN.UTF-8,配置完成之后,输入命令
  1. sudo reboot

重启完成好就可以在VNC连接上去后使用中文显示和中文输入法了,切换中文输入法一样也是ctrl+space

中文输入法.jpg


5. Q:如何在树莓派上安装谷歌的开源浏览器Chromium?
    A:连接ssh,输入如下命令
  1. sudo apt-get install chromium-browser  chromium-l10n

提示是否安装,输入y,等待安装完成
完成之后,进入桌面 选择菜单-〉互联网-〉Chromium网页浏览器,就可以打开熟悉的chrome浏览器了
chrome菜单.jpg


还有一种方式,是在系统发行版软件库里没有chrome的时候来安装chrome浏览器的
打开ssh,输入如下命令
  1. wget http://goo.gl/go5yx -O install.sh

成功后,打入:
  1. chmod a+x install.sh

然后,输入(注意一定要加上前面的”点斜杆”):
  1. ./install.sh

就开始下载和安装一些必要的包,还有下载整个Chrome并安装,整个过程速度飞快。
这个方式参考了这个链接里的教程http://www.leiphone.com/raspberry-pi-hands-on.html
不过这种安装方式在菜单里就没有选项可以让你点了,VNC连接后,在中端里输入
  1. chrome -disable-ipv6 &

就可以启动浏览器了

6. Q:官方Raspbian默认的自动更新的源连接速度太慢,更新常常失败,如何解决?
    A:这里需要修改源的文件sources.list。输入如下命令:
  1. sudo cp /etc/apt/sources.list /etc/apt/sources.list_bk
复制代码
备份原来的文件
  1. sudo nano /etc/apt/sources.list
复制代码
编辑sources文件,将里面的内容替换成
deb http://mirror.nus.edu.sg/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirror.nus.edu.sg/raspbian/raspbian/ wheezy main contrib non-free rpi
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb http://mirrors.neusoft.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.neusoft.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi




按ctrl+o保存,按ctrl+x退出,接着输入
  1. sudo reboot
复制代码
重启系统,完成之后ssh连入,输入
  1. sudo apt-get update
复制代码
这下速度绝对比之前要快很多了,而且不会出现找不到很多源的情况了

7. Q:如何使用无线网卡,让树莓派摆脱网线束缚?
     A:首先你要确定你的无线网卡驱动是Raspbian的驱动库里包含了的,可以上这个地址查看自己的无线网卡芯片是否是支持列表里面的( http://elinux.org/RaspberryPiBoardVerifiedPeripherals#USB WiFi Adapters)。 如果你的无线网卡可以支持,那么进入正题,配置无线上网。首先发一下我的参考配置的链接(http://omer.me/2012/04 /setting-up-wireless-networks-under-debian-on-raspberry-pi/),是老外写的,英文不好的 朋友可以看我下面的讲解
     1,首先插上你USB无线网卡,插好SD卡,上电启动系统,通过外接屏幕和键盘或者SSH连接进入命令行。要注意的是,树莓派的USB供电有问题, 启动系统以后如果直接插入USB设备会导致系统重启,避免这个问题的办法是用外接有源的USB HUD。进入命令行界面,输入如下命令
  1. sudo lsusb
复制代码
可以看到命令执行完成后,会显示所有挂载的USB设备,最后一行一般就是你的无线网卡,我自己测试的结果显示的是这样
  1. pi@raspberrypi ~ $ sudo lsusb
  2. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  3. Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
  4. Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
  5. Bus 001 Device 004: ID 0cf3:1006 Atheros Communications, Inc. TP-Link TL-WN322G v3 / TL-WN422G v2 802.11g [Atheros AR9271]
复制代码
最后一行就是我的无线网卡设备号,显然我的无线网卡已经被系统识别出来了。如果还不能确认的话,输入如下命令
  1. sudo lsmod
复制代码
返回的结果如下
  1. pi@raspberrypi ~ $ lsmod
  2. Module                  Size              Used by
  3. snd_bcm2835      12808          0
  4. snd_pcm               74834         1 snd_bcm2835
  5. snd_seq                 52536         0
  6. snd_timer              19698         2 snd_seq,snd_pcm
  7. snd_seq_device     6300           1 snd_seq
  8. snd                    52489             5                 snd_seq_device,snd_timer,snd_seq,snd_pcm,snd_bcm2835
  9. snd_page_alloc      4951           1 snd_pcm
  10. arc4                       1187           2
  11. ath9k_htc              54918         0
  12. mac80211             236178       1 ath9k_htc
  13. ath9k_common     3181           1 ath9k_htc
  14. ath9k_hw              376754       2 ath9k_common,ath9k_htc
  15. ath                        16648         3 ath9k_hw,ath9k_common,ath9k_htc
  16. cfg80211              171957       3 ath,mac80211,ath9k_htc
复制代码
可以看到有mac80211,显示无线网卡已经被正确识别.

      2,现在可以测试你周围的无线网络了。输入如下命令
  1. sudo iwlist wlan0 scan
复制代码
如果搜索到了无线网络,会返回无线网络的MAC地址,SSID等相关信息。

   3,配置无线网络
     输入如下命令
  1. sudo apt-get install wpasupplicant
复制代码
安装wpasupplicant的,熟悉安卓的朋友估计看着很眼熟吧,安卓里想要让安卓连上AP热点,就得破解这个文件
   安装完成之后,创建一个配置文件,输入如下命令
  1. $ sudo nano /etc/wpa.conf

  2. network={
  3. ssid="你用的WIFI的SSID"
  4. proto=RSN
  5. key_mgmt=WPA-PSK
  6. pairwise=CCMP TKIP
  7. group=CCMP TKIP
  8. psk="WIFI的密码"
  9. }
复制代码
接下来编辑你的网络配置文件,输入如下命令
  1. $ sudo nano /etc/network/interfaces
复制代码
以上将无线网卡的配置添加到网络配置中去了,这样启动的时候无线网卡就会按照你前面配置的SSID和密码连上无线网。需要更换无线网的时候只需要在 wpa.conf中修改SSID和密码即可。

    4,重启你的树莓派
  1. sudo reboot
复制代码
记得拔掉网线,将电脑连入无线网络,这样树莓就可以无线上网了

现在你可以使用命令来查看无线网卡的状态了,输入如下命令
  1. ifconfig
复制代码
会返回有线网络和无线网络的MAC地址和IP地址状态

8.Q:我不想用VNC,想用WINDOWS的远程桌面连接树莓派,如何实现?
   A:办法已经有了,需要在raspbian下面安装一个服务xdrp,输入如下命令
  1. sudo apt-get install xrdp
复制代码
然后就可以用win的远程桌面连接了,你的电脑和树莓派在一个局域网的时候没有问题,如果是想外网访问,跟需要做好端口3389的映射,具体见我另外一个帖 子 http://www.eeboard.com/bbs/thread-5526-1-2.html

首先连接



输入pi的用户密码,就是ssh连上去的用户名密码



这样就连上去了,跟用VNC效果一样


       我还安装了一个桌面截图软件scrot:

sudo apt-get install scrot

sudo apt-get install scrot我的桌面如下:

Raspberry Pi树莓派

14. 它的默认浏览器Netsurf还可以设置代理,如下图(Edit->Preferences)

Raspberry Pi树莓派

15. 在windows电脑用Xshell远程登录它,如下图

Raspberry Pi树莓派


© 著作权归作者所有

quanpower
粉丝 65
博文 166
码字总数 104911
作品 0
嘉定
CTO(技术副总裁)
私信 提问
加载中

评论(1)

哆啦比猫
哆啦比猫
ssh 支持 gui 图形界面的
raspberrypi的相关网址

一、NOOBS安装 NOOBS使用说明书 http://www.shumeipai.net/thread-20009-1-1.html NOOBS自定义多系统启动 https://www.jianshu.com/p/afbcd17b785d NOOBS安装自定义系统 https://blog.csdn.......

mbzhong
2018/11/14
108
0
怎样从外网登录访问树莓派Raspberry Pi

外网登录访问树莓派Raspberry Pi 本地的树莓派 Raspberry Pi,只能在局域网内访问,怎样从公网也能登录访问树莓派 Raspberry Pi? 本文将介绍具体的实现步骤。 1. 准备工作 1.1 安装并启动树...

码途
2018/11/27
221
0
Banana Pi VS Raspberrry Pi,是敌是友?

现在开源硬件,已经成为了一种潮流,很多开源硬件项目不断推出各自的开源硬件产品. 市场上主流的有: raspberrry Pi, arDuino,Pcduino, CubieBoard, 在各自的发展过程中,大家都在维护各自的社区...

sinovoip
2014/07/31
696
0
树莓派使用入门:进入物理世界 —— 如何使用树莓派的 GPIO 针脚

在树莓派使用入门的第十篇文章中,我们将学习如何使用 GPIO。 到目前为止,本系列文章主要专注于树莓派的软件方面,而今天我们将学习硬件。在树莓派最初发布时,最让我感兴趣的主要特性之一就...

作者: Anderson Silva
04/05
0
0
吃『派』那些事儿——阿里云 IoT 树莓派实战集锦

树莓派是什么? 各位物联网的极客们对树莓派(Raspberry Pi)肯定不会陌生,它是一台只有信用卡大小的基于ARM的微型电脑,官方系统基于 Debian 。由于其出色的传感器兼容性以及相对低廉的价格...

cxlwill
02/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

面试官,Java8 JVM内存结构变了,永久代到元空间

在文章《JVM之内存结构详解》中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试...

程序新视界
28分钟前
17
0
读书笔记:深入理解ES6 (八)

第八章 迭代器(Iterator)与生成器(Generator) 第1节 循环语句的问题   在循环、多重循环中,通过变量来跟踪数组索引的行为容易导致程序出错。迭代器的出现旨在消除这种复杂性,并减少循...

张森ZS
28分钟前
13
0
Elasticsearch 实战(一) - 简介

官腔 Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统 基本等于没说,咱们慢慢看 1 概述 百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自己喜...

JavaEdge
32分钟前
13
0
【jQuery基础学习】11 jQuery性能简单优化

本文转载于:专业的前端网站➦【jQuery基础学习】11 jQuery性能简单优化 关于性能优化 合适的选择器 $("#id")会直接调用底层方法,所以这是最快的。如果这样不能直接找到,也可以用find方法继...

前端老手
41分钟前
12
0
重磅发布 | 全球首个云原生应用标准定义与架构模型 OAM 正式开源

导读:2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Open Application Model (OAM...

阿里云官方博客
44分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部