关于树莓派

树莓派(Raspberry Pi)其实可以理解为基于ARM的卡片式开发板,具有电脑的基本功能,可运行linux、win等系统,另外接口丰富,可以练习编程,或者用来扩展做成很多有创意的小东西。

目前最新的版本是3代B型,我买的正是这个版本,主要区别是这个版本是64位处理器,我还买了一个亚克力的外壳带风扇,另外树莓派需要的电源是5V,2.5A。一般来讲树莓派分英国版和中国版,也就是产地不同,其它没什么区别,另外听说中国版的做工要好一些,反正我买的是中国版,做工可以的,没有毛边。下面是我组装好的:

写入Raspbain系统

树莓派可以安装很多系统,比如Ubuntu Mate、OpenWrt之类的,不过还是建议去树莓派官网下载Raspbian系统,毕竟是官方的系统,而且支持64位。

Raspbian有两个版本,一个是带桌面,适合用HDMI连接显示器使用或者第一次使用Linux的用户,但体积过大,我用的是LITE版本,也就是没有桌面的版本,反正我是不需要桌面的,直接通过SSH登录就好了。

在Windows下需要用到下面两个软件,用SD Formatter V4格式化SD卡,然后用Win32 Disk Imager写入系统。

连接树莓派

树莓派默认没有开启SSH服务,如果远程要通过SSH连接,需要在SD卡根目录,也就是/boot目录下,新建一个SSH文件,注意文件没有后缀,然后就可以通过PuTTY等软件连接树莓派了。

初次使用树莓派系统时,默认用户是pi,密码为raspberry。当然也可以更改pi用户的密码。

sudo passwd pi # 设置pi的密码

由于root用户默认密码为空,因此无法登陆。登陆默认用户pi然后设置root的密码即可开启root用户,当然你也可以不开启,每次加上sudo也可以的。

sudo passwd root # 设置root密码
su - root # 切换至root用户

也可以使用raspi-config配置树莓派,比如设置时区和pi用户密码、开启SSH、VNC服务等。

sudo raspi-config

然后就是设置本地的更新源,比如阿里云和中国科学技术大学之类的,建议阿里云,速度挺快的。

# 备份源文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
# 编辑源文件
sudo nano /etc/apt/sources.list
sudo nano /etc/apt/sources.list.d/raspi.list

把相应的地址替换成国内的更新源,使用Ctrl+O回车后保存文件,Ctrl+X退出编辑器,最后更新系统软件并更新已安装的包就可以了。

sudo apt-get update && apt-get upgrade -y

树莓派实现Samba共享

将树莓派的/home目录(也可执行指定需共享的目录)设置为共享文件夹,实现树莓派/home目录和Windows共享。

sudo apt-get update # 更新索引文件
sudo apt-get install samba samba-common-bin # 安装Samba
sudo smbpasswd -a pi # 默认用户pi到samba,并设置用户密码
sudo nano /etc/samba/smb.conf # 修改配置文件

需要更改以下内容:

  1. 找到Global Settings节[global]部分:将wins support = no改为wins support = yes,意思是支持Windows系统。
  2. 找到Share Definitions节[homes]部分:将read only = yes改为read only = no,意思是任何人都有访问修改权限。
  3. 记得去掉#注释。
sudo /etc/init.d/samba restart # 重启samba服务,成功会显示[ OK ] 

然后从Windows访问树莓派的/home目录,注意的是,当你添加了pi用户,会在/home目录下生成一个pi目录,你共享的是/home/pi目录,打开Windows下的运行程序,输入以下:

\\树莓派的ip地址\pi # 切记不要直接访问ip地址

登录时候会提示你输入用户名和密码,用户名就是pi,而密码而是上面设置的密码。当然你也可以在配置文件里设置public = yes实现无密码登录。

树莓派自动挂载U盘实现Samba共享

一般U盘都是NTFS格式,而树莓派默认是不支持的,可以安装ntfs-3g模块,于是我们就能读写NTFS格式的U盘了,如果是exFAT格式,安装exfat-fuse模块就可以了。

sudo apt-get install ntfs-3g
sudo apt-get install exfat-fuse

安装完成后,插入U盘,输入下面命令,查看挂载情况并设置挂载目录:

sudo fdisk -l # 查看是否有被识别,sda1是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区
sudo mkdir /mnt/usb_flash # mmt下新建一个usb_flash目录
sudo mount /dev/sda1 /mnt/usb_flash/ # 挂载设备
sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/usb-flash/ # 加入pi用户使用权限

如果要拔出U盘,输入以下命令,可以取消挂载:

sudo umount /mnt/usb_flash

开机自动挂载,然后在最后加上,一般是sda1,有的是sdb1:

sudo nano /etc/fstab
/dev/sda1 /mnt/usb_flash auto defaults 0 0

也可以通过自动脚本来实现自动挂载(本人没试过),类似Windows下的热插拔,把相应目录名字更改你的目录名字就好了:

sudo nano /etc/udev/rules.d/10-usbstorage.rules # 此文件默认没有,需要新建

赋值以下内容即可,会自动在/mnt/usb_flash目录下挂载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,umask=000"
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umask=000"
ACTION=="add", RUN+="/bin/mkdir -p /mnt/usb_flash/", RUN+="/bin/mount -o $env{mount_options} /dev/%k /mnt/usb_flash/"
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /mnt/usb_flash/}", RUN+="/bin/rmdir /mnt/usb_flash/"
LABEL="media_by_label_auto_mount_end"

修改配置文件,添加共享U盘的:

[usb_flash]
   comment = usb_flash Storage # 共享文件夹说明
   path = /mnt/usb_flash # 共享文件夹目录
   read only = no # 不只读
   create mask = 0777 # 创建文件的权限
   directory mask = 0777 # 创建文件夹的权限
   guest ok = yes # guest访问,无需密码
   browseable = yes # 可见

在Samba配置文件设置过权限后,还需要在系统中将共享文件夹的权限设置为同配置文件中相同的权限:

sudo chmod -R 777 /mnt/usb_flash

其它

安装Git和Vim:

sudo apt-get install git
sudo apt-get install vim

树莓派可以通过下面几个命令来实现安全关机:

sudo shutdown -h now
sudo halt
sudo poweroff
sudo init 0

重启、定时重启方法:

sudo reboot
shutdown -r now