树莓派介绍与“食用”方法

树莓派Raspberry Pi是 Raspberry Pi Foundation 推出的迷你电脑,它只有信用卡大小,但可以完成一台普通 PC 能完成的大部分工作,并且价格很便宜,是电脑爱好者的不二选择,如果你是一名 Linuxer 更应该拥有一台这样的迷你电脑。

发展

Raspberry Pi 自 2012 年发布以来,依次发布了 Raspberry Pi 1 A , Raspberry Pi 1 B ,Raspberry Pi 1 B+ ,Raspberry Pi 1 A+ ,Raspberry 2 B 五个版本,这些版本硬件上有不少变化,具体可以查阅 Wikipedia Raspberry Pi ,另外 Raspberry Pi 2 B 将支持 Windows 10 iot ,这对非 Linux 用户来说也是一个福音,因为你可以完全把 Raspberry Pi 2 B 当成你的另一台 Windows PC ,详情可以查看 Raspberry Pi Windows 10 iot。 

Raspberry Pi 的用途

Raspberry Pi 到底能拿来做什么呢?它的玩法多的数不清了,因为这取决于我们的创意,作为一块开发板,它给我们提供了很大的自由。

下面是几张引用文章内的图:

操作系统的选择

由于 Raspberry Pi 几乎是为 Linux 而生的,所以 Raspberry Pi 的操作系统也是多样的,为此以下介绍几个操作系统。

以上操作系统都可以在 Raspberry Pi 主页 找到相关信息。

个人电脑

笔者只是将 Raspberry Pi 当成个人电脑使用而已,因此,未选择 Raspbian 而是选择了 Arch Arm。

下面是我选择的配件

  • Raspberry Pi 2 B
  • 8 G 闪迪内存卡
  • USB Wi-Fi 模块(可选)
  • 亚克力外壳(可选)
  • 散热铝片或铜片
  • 电源线
  • 键盘鼠标(可选)

安装系统

首先参照 Arch Arm Installation 安装系统。

 

为 SD 卡分区(用你 Linux 上的 sd 卡设备代替 sdX ):


  1. fdisk /dev/sdX

第一步请先删除原来的分区并重新创建:

  • 输入 o 清除所有分区。
  • 输入 p 列出所有分区,此时应该没有分区。
  • 输入 n , 然后输入 p 选择主分区,1 是第一个分区 ,输入 ENTER 确定第一个扇区,然后输入 +100M 。
  • 输入 t , 然后输入 c 设置第一个分区类型为 W95 FAT32 (LBA)。
  • 输入 n , 然后输入 p 选择主分区, 2 是第二个分区, 直接输入 ENTER 确定默认的扇区和最后的扇区(剩下的所有容量作为第二个分区)
  • 输入 w 写入分区表并退出。

创建和挂载 vfat 文件系统(用你 Linux 上的 sd 卡设备代替 sdX ):


  1. mkfs.vfat /dev/sdX1
  2. mkdir boot
  3. mount /dev/sdX1 boot

创建个挂载 ext4 文件系统(用你 Linux 上的 sd 卡设备代替 sdX ):


  1. mkfs.ext4 /dev/sdX2
  2. mkdir root
  3. mount /dev/sdX2 root

使用 root 用户下载和解压 根文件系统:


  1. wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
  2. bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
  3. sync

移动启动文件到第一分区:


  1. mv root/boot/* boot

卸载挂载点:


  1. umount boot root

将 SD 卡插入 Raspberry Pi ,连接以太网和 5v 电源。

使用 SSH 登录

默认用户是 alarm 密码 alarm。(ssh 请先用此用户登录,再修改 ssh 配置允许 root 登录)

root 的默认密码是 root。

注意 :以下用到 sudo 命令的,若你未配置 sudo 请直接用 root 用户执行。

首次使用应该按如下格式 ssh 登录:


  1. $ ssh -p 22 alarm@地址

进去后使用 su 切换到 root ,并修改密码:


  1. $ sudo su -
    # password

为了能使 root 通过 ssh 登录,编辑 /etc/ssh/sshd_config


  1. $ sudo nano /etc/ssh/sshd_config

将 #PermitRootLogin 这行去掉注释,并将值设置为 yes :


  1. PermitRootLogin yes

配置源与更新系统

编辑 /etc/pacman.d/mirrorlist


  1. $ sudo nano /etc/pacman.d/mirrorlist

在顶部增加以下代码,这是中科大的源


  1. ## USTC
  2. Server = http://mirrors.ustc.edu.cn/archlinuxarm/armv7h/$repo

编辑好后按 ctrl +x ,然后按 y 保存,然后升级整个系统:


  1. $ sudo pacman -Syu

桌面化 Raspberry Pi

首先安装 xorg


  1. $ sudo pacman -S xorg
  2. $ sudo pacman -S xorg-xinit

然后安装 lxqt 桌面:


  1. $ sudo pacman -S lxqt 

使用 vncviewer 访问 Raspberry Pi

首先配置 vncviewer,本机与 Raspberry Pi 都需要安装 tigervnc


  1. $ sudo pacman -S tigervnc

在 Raspberry Pi 中执行 vncserver


  1. $ vncserver
  2. You will require a password to access your desktops.
  3. Password:
  4. Verify:
  5. Would you like to enter a view-only password (y/n)? n
  6. New 'ArchRaspi:1 (locez)' desktop is ArchRaspi:1
  7. Creating default startup script /home/locez/.vnc/xstartup
  8. Starting applications specified in /home/locez/.vnc/xstartup
  9. Log file is /home/locez/.vnc/ArchRaspi:1.log

然后编辑 ~/.vnc/xstartup ,将原来的内容替换为以下内容,你也可以直接删除原文件,再新建一个同名文件:


  1. #!/bin/sh
  2. unset SESSION_MANAGER
  3. unset DBUS_SESSION_BUS_ADDRESS
  4. exec startlxqt

然后杀掉 vnc 服务,并重启它:


  1. $ vncserver -kill :1
  2. Killing Xvnc process ID 400
  3. $ vncserver
  4. New 'ArchRaspi:1 (locez)' desktop is ArchRaspi:1
  5. Starting applications specified in /home/locez/.vnc/xstartup
  6. Log file is /home/locez/.vnc/ArchRaspi:1.log

记住上面的 :1 可能根据实际情况不同,这个端口是你用 vncviewer 连接时用的端口。

然后本机中执行:


  1. $ vncviewer address:port

然后输入密码就可以了

小屏幕显示

现在我们看见这个不是全屏的,但是可以在启动 vncserver 的时候增加参数,来指定分辨率:


  1. $ vncserver -kill :1
  2. $ vcnserver -geometry 1920x1000

这下就全屏了

全屏

其它用途

然后你可以在不另外配显示屏的情况下正常使用 Raspberry Pi ,将它配置成一个 samba 服务器,或者做成一个下载器,这仅仅取决于,你想将 Raspberry Pi 拿来干什么。

笔者还尝试将 Raspberry Pi 直接连入手机 Wi-Fi ,把手机当成路由器使用,获取手机内网 IP 后,直接在手机上 ssh 内网登录,从而实现 Raspberry Pi 使用手机流量上网,并且不用借助路由器就可以连接 Raspberry Pi。

这里笔者推荐的是 juiceSSH ,手机上简单实用的一款 ssh 工具。由于篇幅原因,此处不再详述如何使用手机直连 Raspberry Pi,动手能力强的同学可以参看上面我给的思路,自行折腾。

后来笔者,买了键盘以后,又利用 tmux 将手机纯粹当屏幕使用。

首先 手机先 ssh 登陆 Raspberry Pi,执行


  1. tmux

然后在看不见屏幕的情况下,使用键盘盲打输入 用户名 、 密码 进行登录,然后执行


  1. tmux attach

此时键盘与手机屏幕的输入已经是同步的,一台个人作品就此完成!

成果展示

下面几张图,是笔者在学校折腾的时候拍的:

本文来自合作伙伴“Linux中国”,原文发布日期:2015-10-16

时间: 2024-09-20 11:52:25

树莓派介绍与“食用”方法的相关文章

以集市卖家分层为例介绍用户研究方法

文章描述:用户分层研究方法--以集市卖家为例. 写在前面:本文是笔者以往研究的经验总结,由于涉及敏感数据,故作了虚化和符号化处理,读起来会有些费劲,但数字呈现不是主旨,本文侧重用户分层研究的方法,希望能给大家提供一套做用户分层的研究思路和操作流程. 本文讨论的是用户分层,有别于常规的用户细分,最大的区别在于分层是定序的概念,即各层之间有递进关系:而常规细分是定类的概念,即各类之间相对独立.广义上而言,细分包括分层. 现以集市卖家分层为例,介绍整个研究方法.根据以往卖家研究的经验,选取参与卖家分层

安卓UI设计与开发教程 底部菜单栏(二)Fragment的详细介绍和使用方法

由于TabActivity在Android4.0以后已经被完全弃用,那么我就不再浪费口水继续讲解它了,取而代之的是 Fragment.Fragment是Android3.0新增的概念,Fragment翻译成中文是碎片的意思,不过却和Activity十分的 相似,这一篇我花大量的篇幅来详细的讲解Fragment的介绍和使用方法. 一.Fragment的基础知识介 绍 1.1概述 1.1.1 特性 Fragment是activity的界面中的一部分或一种行为.可以把多个 Fragment组合到一个a

Lombok介绍及使用方法 lombok简介

转载 http://www.cnblogs.com/holten/p/5729226.html Lombok介绍及使用方法 lombok简介 lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下. lombok的官方地址:https://projectlombok.org/ lombok的Github地址:https://github.com/rzwitserloot/lombok 那

关于RequireJS的简单介绍即使用方法_javascript技巧

RequireJS介绍 RequireJS 是一个JavaScript模块加载器.它非常适合在浏览器中使用.使用RequireJS加载模块化脚本将提高代码的加载速度和质量. 兼容性 浏览器(browser) 是否兼容 IE 6+ 兼容 Firefox 2+ 兼容 Safari 3.2+ 兼容 Chrome 3+ 兼容 Opera 10+ 兼容 优点 实现js文件的异步加载,避免网页失去响应 管理模块之间的依赖性,便于代码的编写和维护 快速上手 step 1 引入require.js requir

python正则表达式介绍及使用方法

1.正则表达式介绍 正则表达式(RE)是一种小型的.高度专业化的编程语言,它内嵌在python中,并通过re模块实现.     可以为想要匹配的相应字符串集指定规则     该字符串集可能包含英文语句.email地址.命令或任何你想搞定的东西     可以问诸如"这个字符串匹配该模式吗"     "在这个字符串中是否有部分匹配该模式呢"     你也可以使用RE以各种方式来修改或者分割字符串 正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行 正则表

新浪微博个性域名介绍及设置方法详解

给各位新浪微博软件的使用者们来详细的解析分享一下新浪微博个性域名介绍及设置的方法. 方法分享: 新浪微博个性域名是什么 个性域名是属于自己特有的专属名字,不会与他人重复,当申请新浪微博之后,用户会有一个域名号,是一串数字,这个就是自己微博号,这是固定的,为了彰显自己的个性,可以把这一串数字自定义成自己想要的数字或是名字,这样可以方便别人记住用户微博地址哦! 新浪微博个性域名怎么改 1.登陆新浪微博,点击右上角的账号,效果图如下;   2.然后打开账号中的账号设置;   3.在账号设置里,有个性域

ISO7 二维码详细介绍及使用方法_IOS

使用系统自带生成/扫描二维码 iOS7开始苹果集成了二维码的生成的扫描 ### 生成二维码的步骤 导入CoreImage框架 #import <CoreImage/CoreImage.h> 通过滤镜CIFilte生成二维码 ### 二维码的内容(传统的条形码只能放数字) 纯文本 名片 URL 生成二维码 // 1.创建过滤器 CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; // 2.恢复默

网友介绍炸药制作方法涉嫌犯罪遭公诉

本报讯 (记者刘洋 通讯员王瑞)冯某编了一本介绍如何制作炸弹的<恐怖分子手册>,放到网上"公示".日前,冯某被朝阳检察院以涉嫌传授犯罪方法罪批捕. 冯某今年才20岁,北京人,是某成人大专的学生.检察官介绍,2008年夏天,他对制作炸药产生了兴趣,便从网站上搜集有关炸药制作等方面的信息,整理后形成了一篇电子文档,并取名为<恐怖分子手册>. 2009年11月.2010年4月,冯某先后两次在家中,在互联网发布该<恐怖分子手册>的电子文档,教授各种炸药.燃烧

C# 递归函数详细介绍及使用方法_实用技巧

什么是递归函数/方法? 任何一个方法既可以调用其他方法也可以调用自己,而当这个方法调用自己时,我们就叫它递归函数或递归方法. 通常递归有两个特点: 1. 递归方法一直会调用自己直到某些条件被满足 2. 递归方法会有一些参数,而它会把一些新的参数值传递给自己. 那什么是递归函数?函数和方法没有本质区别,但函数仅在类的内部使用.以前C#中只有方法,从.NET 3.5开始才有了匿名函数. 所以,我们最好叫递归方法,而非递归函数,本文中将统一称之为递归. 在应用程序中为什么要使用递归?何时使用递归?如何