Raspberry Pi 3 配置索引

整理 Raspberry Pi 3 的个人配置。

树莓派及配件型号

  • 树莓派型号:Raspberry Pi 3 Model B , Made in United Kingdom
  • 摄像头型号:1/4 inch OV5647 ,500W 像素,最高帧速 30,视频支持 1080p,made by OmniVision
  • 舵机型号:辉盛 SG90 (2个)
  • 2自由度舵机云台 (1个)

RASPBIAN-JESSIE

镜像源修改

  • 编辑 /etc/apt/sources.list ,注释原有源
  • 添加
1
2
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main non-free contrib
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main non-free contrib
  • sudo apt-get update

自启动脚本

  • /etc/rc.local 中写入 su username -c "/path/to/autostart.sh"autostart.sh 为你编写的自启动脚本。

校园网关登陆

定时任务

  • 执行 crontab -e 设定定时任务。

/dev/video0 未找到

  • 树莓派的 Camare module 在 /boot/ 目录下以固件形式加载
  • 编辑 /etc/modules-load.d/modules.conf ,文件末尾添加 bcm2835-v4l2

WiFi 登陆

  • ifconfig查看是否有 wlan0
  • sudo nano /etc/network/interfaces
  • 修改文件内容如下:
1
2
3
4
5
6
7
8
9
10
auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "ssid_name"
wpa-psk "password"
  • sudo /etc/init.d/networking restart 重启网络

修改默认账号 pi

  • sudo raspi-config 启动 VNC
  • 启用 root 账号
1
2
sudo passwd root
sudo passwd --unlock root
  • 重启后以 root 登陆(从 VNC 登陆)
  • 修改用户名 pi 为 username:usermod -l username pi
  • 修改组名 pi 为 username:groupmod -n username pi
  • 更改 pi 的家目录为 username 家目录:mv /home/pi /home/username
  • 修改 /etc/passwd 中 username 用户的家目录地址:usermod -d /home/username username
  • 编辑 /etc/sudoers,修改末尾的 pi ALL=(ALL) NOPASSWD: ALLusername ALL=(ALL) NOPASSWD: ALL
  • 重新锁定 root:passwd -l root
  • 以新用户 ssh 登陆并尝试 sudo

Motion 配置

  • 编辑 /etc/motion/motion.conf ,修改以下项:
    • daemon : 修改为 on,使 motion 以守护进程方式运行
    • width : 修改为 1024
    • height : 修改为 768
    • framerate : 修改为 24
    • output_normal:修改为 off(在检测到运动时不截图,若想记录则保持 on)
    • ffmpeg_video_codec : 修改为 mpeg4
    • control_localhost : 修改为 off,允许远程修改配置
    • control_authentication : 为远程操控配置设置认证信息
    • webcam_localhost : 允许远程访问监控流
    • webcam_motion:修改为 on,仅在检测到运动时增加帧速
    • webcam_maxrate:修改为远程监控需要的帧速
  • 编辑 /etc/defaults/motion,将 start_motion_daemon 修改为 yes,设置为开机启动
  • 创建 /var/run/motion 文件夹
  • 在家目录下 创建 .motion 文件夹
  • cp /etc/motion/motion.conf ~/.motion/
  • 修改配置权限为非 root 用户:sudo chown forec:forec ~/.motion/motion.conf

VNC 分辨率调整

  • 在自启动脚本中加入 vncserver -geometry widthxheight :1,将分辨率设置为 width × height,通过 address:1 访问。
  • vncpasswd 修改密码

mstsc 访问

  • 安装 xrdp

SSH 公钥登陆

  • ssh-copy-id user@host ,将本地公钥上传到树莓派。

内网穿透

  • 使用 ngrok 将内网端口映射到固定域名。将在云主机编译好的 arm 版本 ngrok 拷贝到树莓派。
  • 新建一个配置文件ngrok.cfg。我为内网穿透服务设置的网址为 cross.forec.cn,云主机上 ngrok 服务器设置的监听端口为 4443,remote_port选项对 tcp 有效,指定映射后的云主机的端口。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
server_addr: cross.forec.cn:4443
trust_host_root_certs: false
tunnels:
ssh:
proto:
tcp: 22
remote_port: ****
vnc:
proto:
tcp: 5091
remote_port: ****
monitor:
auth: "username:password"
proto:
tcp: 8081
remote_port: ****
  • 编写启动脚本 run.sh。上面的配置文件设置了三个端口映射方案,在启动时 start 三个方案。
1
sudo /path/to/ngrok --config="/path/to/ngrok.cfg" start ssh vnc monitor
  • run.sh 脚本加入 autostart.sh

音频播放

  • sudo apt-get install alsa-utils
  • 可播放 wav 格式,测试:sudo aplay /usr/share/sounds/alsa/Front_Center.wav
  • 使用 alsamixer 调整音量
  • sudo apt-get -y install mpg321
  • 使用 mpg321 可播放 mp3 格式音频

驱动 SG90 舵机

  • 此处 下载树莓派 GPIO 管脚驱动 ServoBlaster
  • cd ServoBlaster/usermake servod
  • ./servod,成功将展示对应管脚脉冲对应情况
  • 如 SG90 舵机脉冲输入管脚为 GPIO17,可使用 echo 1=180 > /dev/servoblaster 使其转动
  • 可使用 2 个 9g 舵机组成二自由度舵机云台,使摄像头横向 180 度,纵向 120 度旋转
  • 舵机黄色线为信号输入,棕色线接 GND,红色线接 5V
  • 树莓派 GPIO 管脚如下

Ubuntu-mate

无屏幕暂时无法尝试

扩展文件系统

  • sudo fdisk /dev/mmcblk0
  • 按序输入 d Enter 2 Enter n Enter p Enter 2
  • 重启
  • sudo resize2fs /dev/mmcblk0p2
  • 重启

原创作品,允许转载,转载时无需告知,但请务必以超链接形式标明文章原始出处(https://forec.github.io/2016/10/29/raspberry-settings/) 、作者信息(Forec)和本声明。

分享到