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

简介:

树莓派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
目录
相关文章
|
存储 数据处理 数据格式
51单片机双机通信实现
51单片机双机通信实现
800 1
|
4月前
|
运维 数据可视化 定位技术
破局数据中心运维:AR 智能眼镜巡检如何“大显神通”?
AR智能眼镜巡检技术通过虚实融合,将设备状态、操作指引等信息实时叠加至真实场景,有效解决传统数据中心巡检中效率低、易出错、依赖经验等问题。应用于日常巡检、故障排查与远程协作,显著提升运维效率与可靠性,助力数据中心智能化升级。
破局数据中心运维:AR 智能眼镜巡检如何“大显神通”?
|
存储 Dragonfly 弹性计算
2023年阿里云服务器4核8G配置收费标准与活动价格参考,价格1450.08元1年起
4核8G配置的云服务器通常是普通企业用户的首选配置,2023年新用户租用阿里云轻量应用服务器低至108元首年,4核8G配置目前活动价格仅需1450.08元1年起,不过阿里云不同实例类型的4核8G云服务器配置,产品价格也各不相同。而在平时购买和活动期间买价格也是不一样的。本文主要为大家介绍目前阿里云服务器4核8G配置收费标准与活动价格,以供参考。
915 0
2023年阿里云服务器4核8G配置收费标准与活动价格参考,价格1450.08元1年起
|
11月前
|
大数据 索引 Python
Python判断for循环最后一次
通过本文的介绍,您应该能掌握几种在Python中判断for循环最后一次迭代的方法。根据具体的应用场景和数据结构选择合适的方法,可以提高代码的可读性和运行效率。
229 59
|
11月前
|
JavaScript
时尚简洁的js轮播图特效插件
这是一款时尚简洁的js轮播图特效插件。该轮播图采用es6语法制作,底部带缩略图和描述信息。图片和描述信息在切换时同步滑动。
|
11月前
|
Serverless BI
有奖实践,基于EMR StarRocks实现游戏玩家画像和行为分析
阿里云EMR-StarRocks联合镜舟科技,基于EMR-StarRocks实现游戏实时湖仓分析,免费试用物化视图、Paimon写入查询等新能力,前45位赢取StarRocks定制T恤、Lamy钢笔,小米充电宝,阿里云拍拍灯等活动礼品,前500位均可获得创意马克杯。
282 7
|
11月前
|
存储 安全 网络安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
随着云计算技术的飞速发展,越来越多的企业和个人开始使用云服务。然而,云计算的广泛应用也带来了一系列网络安全问题。本文将从云服务、网络安全、信息安全等方面探讨云计算与网络安全的关系,分析当前面临的挑战,并提出相应的解决方案。
233 3
|
运维 Cloud Native 数据可视化
阿里云云原生应用组装平台BizWorks满分通过最新评估
阿里云BizWorks满分通过《基于云计算的业务组装平台能力成熟度模型》评测,获得优秀级(最高等级),广东移动联合阿里云BizWorks团队开展的组装式应用实践获得第三届“鼎新杯”数字化转型应用优秀案例一等奖。
570 3
|
消息中间件 JavaScript Java
Java Web应用开发案例|模拟12306抢票
模拟12306网上抢票的业务场景。春节等高峰时期,车票资源非常紧张,因此在约定时间放票,会存在大量抢票行为。服务器为了缓解并发高峰时的压力,抢票请求会用消息中间件进行排队处理。出票行为在服务器的独立线程中进行,这样主线程主要用于接收购票请求,异步线程用于出票,会大大缓解服务器的压力。
663 0
Java Web应用开发案例|模拟12306抢票
|
网络协议 Java 开发工具
Spring官方RSocket Broker 0.3.0发布: 快速构建你的RSocket架构
Spring官方的RSocket Broker其实开发已经非常久了,我以为会伴随着Spring Cloud 2021.0发布的,但是没有发生。不过Spring RSocket Broker还是发布了最新的0.3版本,虽然还是预览版,但目前已经可用,考虑官方还没有提供对应的文档,大家入门做Demo还有些困难,所以这篇文章就是帮你快速入门Spring RSocket Broker,同时解析一下RSocket Broker的特性。
Spring官方RSocket Broker 0.3.0发布: 快速构建你的RSocket架构