整理 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
自启动脚本
向 /etc/rc.local
中写入 su username -c "/path/to/autostart.sh"
,autostart.sh
为你编写的自启动脚本。
校园网关登陆
定时任务
/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: ALL
为 username 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 访问
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 : falsetunnels : 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/user
并 make 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 )和本声明。