首先烧录系统,镜像文件从以下网站获取:
如果进不去,挂个梯子就行,下载
烧录之后,把SD卡插入树莓派,准备一个U盘。这个版本的树莓派系统自带软件源比较落后,很多软件包都没有,可以更换清华源:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
将以上软件源保存到文本中,更名为sources.list,放到U盘中
将U盘插入树莓派。树莓派不能直接读取U盘,需要先挂载
sudo fdisk -l #需要注意U盘挂载在哪个设备下,所使用的U盘格式是FAT
sudo mount -t vfat /dev/sda1 /mnt/usb #这个挂载需要在超级权限下才能使用
#vfat参数也是可变的,如果U盘格式为FAT就是vfat,如果是NFTS格式,我也不知道,但一般不会是这个格式
#/dev/sda1 这个参数会有变化,因为U盘在那个分区时不确定的,通过上面fdisk -l来查看
#/mnt/usb是需要挂载到的目标目录
#接下来就可以直接在/mnt/usb查看U盘文件
将U盘中的sources.list转移到/etc/apt
cd /mnt/usb #切换到U盘目录下
cp sources.list /etc/apt #将目标文件复制到目标目录下
更换软件源后还有跟新
sudo apt-get update
sudo apt-get upgrade
这两个命令需要进行区分,sudo apt-get update是将软件源中的软件下载地址,依赖等记录到本地文件,即更新了自身的软件源。sudo apt-get upgrade将软件源中的目标软件和系统已经安装的软件进行比对,如果版本陈旧就进行更新
检查系统是否安装USB驱动
lsmod | grep usbserial
如果没有,安装USB串口驱动,一般树莓派操作系统是没有USB驱动的,需要自己安装
sudo apt-get install setserial
检查系统安装的python版本
python -V
建议使用python3
安装pyserial第三方库
sudo pip3 install pyserial
#此处更新了sudo,因为如果没有sudo是没有这个权限安装的
关于如何使用python进行串口通信,这个网上资料很多,建议看github上的教程,这里简单介绍一下
import serial #在linux系统下,定义并打开串口:
Serial方法,可以打开串行口,获取串口状态,设置串口状态
serial_port = serial.Serial(port='port_name',baudrate=115200,bytesize=serial.EIGHTBITS,parity = serial.PARITY_NONE,stopbits = serial.STOPBITS_ONE,)
#其中port为设备名,比如在ubuntu上'/dev/ttyUSB0',在windows上'COM3'
#可以使用print(serial_port.name)来获取设备名称,或者print(serial_port.port)来获取,亲测在#ubuntu和window上可以使用
#baudrate常用的有9600,115200
serial_port.open( ) #打开端口
serial_port.close( ) #关闭串口
serial_port.read(10) #从端口读取10个字节
serial_port.write('string'.encode( )) #向端口写入string字符,必须先使用.encoding( )将字符转换成encoding码(万国码)
serial_port.readline( ) #读取一行内容,以\n结束
serial_port.inWaiting( ) #返回接收缓存中的字节数
.flush( ) #等待所有数据写出
.flushInput( ) #丢弃接收缓存中的所有数据
.flushOutput( ) #终止当前写操作,丢弃所有发送缓存中的数据
/dev/ttyUSB0需要权限才能进行读取,这里赋予最大权限
sudo chmod -R 777 /dev/ttyUSB0
接下来是在另一台电脑上通过ssh登陆来远程控制,我们把树莓派称作server(服务器),顶层电脑称为client
在sever上安装openssh-server
sudo apt-get install openssh-server #安装ssh
ps -e|grep ssh #检查是否开启ssh服务
sudo /etc/init.d/ssh start #ssh服务开启
#在树莓派终端输入,这些命令是临时的,重启会失效
sudo service ssh start
sudo service ssh status
#如果想要ssh服务开机自启
vi /etc/rc.local #用vi编辑器编辑rc.local
#在exit(0)下一行加上 /etc/init.d/ssh start
在client上安装openssh-client
sudo apt-get install openssh-client
将client和server通过以太网连接
sudo ssh 服务器用户名@服务器ipv4
输入本机、从机密码后,观察到用户变为pi,表示连接成功
再运行python文件进行USB串口通信,如果发现打不开串口,检查USB是否连接上,是否添加权限,程序是否有bug