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与开发板进行数据传输以及终端控制。 |