@[DOC]
三年前开始接触树莓派,本科期间利用树莓派做过一些小制作,比如魔镜。前两天搬家收拾东西时找到了在吃灰的树莓派,
租房子可以把它重新利用起来了。由于长时间没有使用,用户名和面都忘记了,借着端午节假期,从零开始配置了树莓派,再次记录下来
方便忘记时查看。
我的数码派是3B,首先从官网上下载系统,然后利用Win32DiskImager.exe 软件烧写SD卡
我租的是蛋壳公寓,屋子内没有网线,所有设备只能无线上网。树莓派只只能配置无线上网,但是我没有显示器和外置键鼠,无法在开机后配置无线联网,只能另想办法。
通过google,发现可以通过编辑SD卡根目录文件来实现树莓派上电后自动连接的功能。
打开烧写 完毕的SD卡,在其中建立“wpa_supplicant.conf”文件,键入下边的内容
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WiFi-A"
psk="12345678"
key_mgmt=WPA-PSK
priority=1
}
network={
ssid="WiFi-B"
psk="12345678"
key_mgmt=WPA-PSK
priority=2
scan_ssid=1
}
其中
此文件可以在开机后通过ssh在 sudovim /etc/wpa_supplicant/wpa_supplicant.conf 访问
没有外置键鼠和显示屏还要玩转树莓派的话,可以利用笔记本ssh登录进去。
如果以ssh连接树莓派时提示 “Acess denied” 说明树莓派没有开启ssh服务。此时可以在sd根目录建立一个名为“ssh”的文件
树莓派开开机时检测到此文件后就会开启ssh服务。
防止在掉电后树莓派ip变化,丢失连接,可以为其配置静态ip。
在ssh打开 dhcpd.conf文件 命令如下:
sudo vi etc/dhcpcd.conf
在使用vi编辑器在该文件默认加入以下配置
# 指定接口 eth0
interface eth0
# 指定静态IP,/24表示子网掩码为 255.255.255.0
static ip_address=192.168.1.20/24
# 路由器/网关IP地址
static routers=192.168.1.1
# 手动自定义DNS服务器
static domain_name_servers=114.114.114.114
#其中ip_address 和 routers 根据实际情况填写
输入完毕后 按esc进入vi的配置模式,输入:wp 保存,重启后生效
重启命令是:sudo reboot
通过ssh安装xrdp服务,输入以下命令:
sudo apt-get install xrdp
安装完成后通过ssh开关、重启此服务:
sudo /etc/init.d/xrdp restart
sudo /etc/init.d/xrdp start或stop
查看xrdp服务是否启动可以通过命令:
netstat -tnl
观察3350 3389 5910 三个端口是否处理listen,如果是则说明开启,反之亦然
在windows电脑上,按下win+r 打开运行,输入mstsc打开远程桌面,输入树莓派的用户名密码即可连接。
vi显示没有语法高亮,因此安装vi的升级版vim
安装vim
sudo apt-get install vim
开启语法高亮
cp /usr/share/vim/vimrc ~/.vimrc
编辑配置文件
vi ~/.vimrc
在最后加入
syntax on
set nu!
首先进入ssh后输入命令:
raspi-config
进入配置界面
选择 “Localisation Option” 回车,再此界面中可以配置时区、键盘布局。
选择“Change Timezone”,进一步选择“Asia”->“Shanghai”(亚洲的上海)
树莓派默认键盘布局是英国的,而我们一般使用的键盘布局是美国的。因此需要更改。
选择“Change Keyboard Layout” (不知道为什么,选择该选项无效)
百度得到第二种方法,ssh登陆后编辑文件
sudo vim /etc/default/keryboard
将 XKBLAYOUT="gb"修改为us,即可将英式键盘布局修改为美式
这个操作没看到效果,待继续测试
sudo apt-get install zhcon
树莓派默认安装程序员是国外的,国内访问速度慢,因此可以更改为国内的
确定树莓派系统的版本,我这次安装的是 stretch 版本,
输入命令 lsb_release -a 可查看版本(codename是版本)
修改为清华大学软件园
# 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib
# 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ stretch main
编辑完成后输入命令
sudo apt-get update
更新软件源列表
获取文件
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_arm.tar.gz
解压.
tar -zxvf frp_0.21.0_linux_arm.tar.gz
移动frpc到/usr/local/bin/
mv ./frpc /usr/local/bin/frpc
移动frpc.ini到/etc/frpc/
mv ./frps.ini /etc/frpc/frpc.ini
以后frpc的配置修改 /etc/frpc/frpc.ini
利用 systemd 设置自动启动,如果未安装首先安装
sudo apt-get install systemd
sudo apt-get install systemd-sysv
安装完后后,为frpc新建并编写systemd的配置文件
sudo vim /usr/lib/systemd/system/frpc.service
内容如下:
# frpc.service
[Unit]
Description=frpc
After=network.target
[Service]
Type=simple
User=root
PIDFile=/var/run/frpc.pid
ExecStart=/usr/local/bin/frpc -c /etc/frpc/frpc.ini
Restart=on-failure
RestartSec=15s
[Install]
WantedBy=multi-user.target
简单说明下,After=network.target表示该服务在网络加载以及对时服务执行完成才执行,这样保证了frpc的正常执行。配置完成后,保存,启用。
systemctl enable frpc.service
systemctl start frpc.service
systemctl status frpc.service
如果出现启动无效的情况,可以尝试先停止
systemctl stop frpc.service
frpc.ini 配置内容
[common]
server_addr = 公网ip地址
server_port = 7000
token = token值
privilege_token = 特权token
use_compression = true
use_encryption = true
[http]
type = http
local_port = 80
subdomain = 三级域名前缀
[ssh]
type = tcp
local_ip = 本地ip地址
local_port = 22
remote_port =3693
login_fail_exit = false
安装
sudo apt-get install samba samba-common-bin/
修改配置文件
sudo vim /etc/samba/smb.conf
增加以下内容
[share] #共享文件的名称, 将在网络上以此名称显示
path = /home/pi/Desktop #共享文件的路径
valid users = pi #允许访问的用户
browseable = yes #允许浏览
public = yes #共享开放
writable = yes #可写
修改完成后保存,重启samba
sudo /etc/init.d/samba restart
增加samba共享用户
sudo smbpasswd -a pi
依次输入两次密码
测试在windows的运行窗口中输入 \192.168.124.27 (树莓派的地址)
在弹出的窗口中输入用户名和密码
添加映射网络驱动器
windows中-》计算机-》映射网络驱动器-》配置盘符和路径(文件夹输入\192.168.124.27/share)
参考文献:https://chy.mobi/linux-study/raspberry-pi-frp-cross-innet.html