美文网首页
Raspberry Pi (Raspbian)

Raspberry Pi (Raspbian)

作者: Rco | 来源:发表于2017-05-01 16:35 被阅读82次

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),默认硬件串口是分配给蓝牙的,不能直接使用,能够直接使用的软件串口的传输速率确实取决于内核频率的,也就是说不具备完全的串口功能,或者很不稳定,因此考虑关闭蓝牙对硬件串口的使用,将硬件串口作为我们的串口来使用。以下是配置步骤:

    1. 默认情况下,只有 ttyAMA0 是打开的,但是它也是被蓝牙所占用的。因此编辑 /boot/config.txt 中的 enable_uart 一行为 enable_uart=1,打开另一个串口,即 ttyS0。(如果不执行这一步的话,在执行下一步关闭蓝牙对硬件串口的使用后,就会关闭 ttyAMA0,自动打开并使用 ttyS0,可能是因为蓝牙不使用 ttyAMA0 后就默认使用了另一个串口 ttyS0。)

    2. 编辑 /boot/config.txt,在最后添加一行dtoverlay=pi3-disable-bt,关闭蓝牙对 ttyAMA0 的使用。(可能就转而使用 ttyS0 了。)

    3. sudo raspi-config 选择 Advanced Options,选择 Serial,选择 No,关闭从串口输出开机信息和使用登陆程序 getty。

    4. 重启即可生效。

    随时可以使用ls /dev -la |grep serial来查看当前能够使用的串口情况,默认情况下是

serial0 -> ttyAMA0

(前面部分信息省略)

根据以上步骤更改后,应为

serial0 -> ttyAMA0
serial1 -> ttyS0

此时就可以正常使用 ttyAMA0 了。
可以使用 minicom (需要安装)来调试,比如:

minicom -b 9600 -D /dev/ttyAMA0

然后自己写个 python 脚本从串口发数据即可,就回在打开了 minicom 的终端显示数据。(硬件上需要把 TXD0 和 RXD0 连接)

相关文章

网友评论

      本文标题:Raspberry Pi (Raspbian)

      本文链接:https://www.haomeiwen.com/subject/zlyrottx.html