MobaXterm实现串口通信与SSH
MobaXterm简介
MobaXterm是一款终端工具,不仅免费,而且高效,相比于收费的SecureCRT和免费的PuTTy,MobaXterm可谓博采众长。在师兄的建议下,选择这款工具作为终端调试工具。
界面如下图所示:

开发板串口通信
通过串口通信,在PC端通过MobaXterm,即可调用板子上的终端,对开发板进行相关操作。
步骤如下:
- 通过数据线,连接开发板与PC
- 安装驱动
- 右键【此电脑】-【管理】-【设备管理器】-【端口(COM和LPT)。此时我们可以发现,我们连接上的串口可以被识别,如图。

此时就标志着,我们的电脑能够识别串口,通过串口与开发板进行数据的交换。
4.打开MobaXterm,新建一个session,如图所示:

选择串口方式,因为MobaXterm可以自动识别,所以我们这一步就默认就好了。
设置好以后,我们就可以用MobaXterm作为串口终端了。

SSH连接Ubuntu虚拟机实验
通过MobaXterm,我们也能利用SSH与我们的Ubuntu/Linux系统进行数据传输。
在此之前,我们要做一些准备工作,确定我们的Ubuntu系统安装了SSH客户端和服务端。因为Ubuntu默认安装了SSH客户端,如果我们要搭建SSH服务器,也可以检查一下有没有安装服务端。
Ubuntu安装SSH客户端
sudo apt-get install ssh
或者
sudo apt-get installopenssh-client
如果sudo apt-get install ssh无法安装,则可以使用sudo apt-get installopenssh-client(这一步可以忽略,因为一般Ubuntu默认安装,我们所做的这一步,可以算作是更新一下SSH服务)
ssh-keygen
按照缺省生成id_rsa和id_rsa.pub文件,分别是私钥和公钥。
Ubuntu安装SSH服务端
sudo apt-get install openssh-server
利用上面的命令安装SSH服务端程序
安装完毕后,我们需要看一下SSH服务端是否启动
ps -e|grep ssh
或者
netstat -tlp
如果没有启动,我们可以使用SSH的启动命令进行启动
sudo /etc/init.d/ssh start #启动SSH服务
此外,常用的SSH服务命令
sudo /etc/init.d/ssh stop #停止SSH服务
sudo /etc/init.d/ssh start #启动SSH服务
sudo /etc/init.d/ssh restart #重新启动SSH服务
exit #断开连接
ssh root@192.168.x.x #登录 192.168.x.x为机器的ip地址
使用MobaXterm连接Ubuntu
- 打开MobaXterm终端,新建一个Session,选择第一个SSH
- 在其中输入我们需要填写的信息:机器的ip地址和用户名,默认端口为22

其中,机器的ip,可以在Ubuntu中利用ifconfig命令进行查询,如图所示

在这里,我遇到过一个问题,我使用的虚拟机软件为VirtualBox,此时在虚拟机的网络设置中,如果使用的是NAT的话,会给分配一个10.0.2.15的内网地址,这时使用SSH是无法连接的,解决方法也比较容易,就是在VirtualBox虚拟机的网络设置中,设置为桥接网络就可以了。 - 查询到我们目标机器的ip后,确定开启SSH服务后,我们就可以进行连接了。

出现这个界面,说明,已经可以进行连接了。我们此时就已经打成了我们的目标——通过SSH实现与机器的通信/文件传输了。
通过SSH实现与单片机的通信
在文章开头,我们讲过通过SSH连接到Ubuntu虚拟机,SSH连接设备的原理是一样的,即打开SSH服务,知道设备IP,账号(用户名)和密码,可以通过SSH进行连接。
对于单片机,我们要通过SSH进行访问的话,就需先在机器的系统上,安装SSH功能并打开,这是实现通信的前提。
具体流程如下,不过与上文介绍的UbuntuSSH通信大同小异。
- 打开开发板的SSH服务端(安装好后,可以选择默认开启)
- 在MobaXterm中新建Session,选择SSH
- 此时,我们需要获取开发板的IP地址。
- Linux系统的开发板,可以使用ifconfig和ip addr进行ip地址的查询,但这两个命令是有区别的。
- 因为Linux中对ip地址结构是一种吊链结构,使用ifconfig和ip addr的查询原理不同,简而言之,ifconfig在查询的时候,只能找到这个“链表”的开头的一个。但是ip addr,可以遍历所有的ip
- 结论:ifconfig有时候无法获取到真实的ip地址
4.获取到ip地址、用户名以及密码后,就可以正常通过ssh与开发板进行数据传输以及终端控制。
本文介绍了如何使用MobaXterm进行串口通信与SSH连接。首先,通过MobaXterm与开发板串口连接,设置串口参数。接着,讲解如何在Ubuntu虚拟机上安装SSH客户端和服务端,并通过MobaXterm建立SSH连接。最后,探讨通过SSH实现与单片机通信的方法,包括开启服务端、获取IP地址和进行连接。

146

被折叠的 条评论
为什么被折叠?



