Since Mar.27th,2017
-
配置 vnc(tightvncserver)
安装 server 端
sudo apt-get install tightvncserver
配置密码
vncpasswd
输入两次确认后创建 vnc-server 配置文件
sudo nano /etc/init.d/tightvncserver
内容如下:
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO
# More details see:
# http://www.penguintutor.com/linux/tightvnc
### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='pi'
### End customization required
eval cd ~$USER
case "$1" in
start)
su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1'
echo "Starting TightVNC server for $USER "
;;
stop)
su $USER -c '/usr/bin/tightvncserver -kill :1'
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0
增加可执行权限
sudo chmod +x /etc/init.d/tightvncserver
注意,对于 Raspbian 8 (Jessie),用sudo service tightvncserver start
启动会报错,需要创建/etc/systemd/system/vncserver@.service
文件,
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=pi
PAMName=login
PIDFile=/home/pi/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
基于执行权限
sudo chmod +x /etc/systemd/system/vncserver@.service
开启服务
sudo systemctl start vncserver@1.service
enable with
sudo systemctl daemon-reload && sudo systemctl enable vncserver@1.service
安装 vnc 的客户端(Ubuntu上默认是 Remmina,Windows据说可以使用 tightvnc)后,设置好 IP:port,一般 port 默认是1就可以(比如192.168.1.10:1),如果必须要输入密码,那就输入实际的用户(比如默认是 pi)和密码。
然后就可以连接了。
详情参考
http://www.jianshu.com/p/a011d01bdf51
http://raspberrypi.stackexchange.com/questions/39372/etc-init-d-tightvncserver-script-fails-at-boot
-
配置串口
树莓派 3B 拥有硬件串口(ttyAMA0)和软件串口(ttyS0),默认硬件串口是分配给蓝牙的,不能直接使用,能够直接使用的软件串口的传输速率确实取决于内核频率的,也就是说不具备完全的串口功能,或者很不稳定,因此考虑关闭蓝牙对硬件串口的使用,将硬件串口作为我们的串口来使用。以下是配置步骤:默认情况下,只有 ttyAMA0 是打开的,但是它也是被蓝牙所占用的。因此编辑 /boot/config.txt 中的 enable_uart 一行为
enable_uart=1
,打开另一个串口,即 ttyS0。(如果不执行这一步的话,在执行下一步关闭蓝牙对硬件串口的使用后,就会关闭 ttyAMA0,自动打开并使用 ttyS0,可能是因为蓝牙不使用 ttyAMA0 后就默认使用了另一个串口 ttyS0。)编辑 /boot/config.txt,在最后添加一行
dtoverlay=pi3-disable-bt
,关闭蓝牙对 ttyAMA0 的使用。(可能就转而使用 ttyS0 了。)sudo raspi-config
选择 Advanced Options,选择 Serial,选择 No,关闭从串口输出开机信息和使用登陆程序 getty。重启即可生效。
随时可以使用
ls /dev -la |grep serial
来查看当前能够使用的串口情况,默认情况下是
serial0 -> ttyAMA0
(前面部分信息省略)
根据以上步骤更改后,应为
serial0 -> ttyAMA0
serial1 -> ttyS0
此时就可以正常使用 ttyAMA0 了。
可以使用 minicom (需要安装)来调试,比如:
minicom -b 9600 -D /dev/ttyAMA0
然后自己写个 python 脚本从串口发数据即可,就回在打开了 minicom 的终端显示数据。(硬件上需要把 TXD0 和 RXD0 连接)