做完Pi端的准备工作以后,我们就可以开始创建Windows的远程控制了。这里,我使用的是paramiko库,大家需要用pip去安装。
- pip install paramiko 然后就是编写代码了。代码如下:
import paramiko import sys def ssh_connect( _host, _username, _password ): try: _ssh_fd = paramiko.SSHClient() _ssh_fd.set_missing_host_key_policy( paramiko.AutoAddPolicy() ) _ssh_fd.connect( _host, username = _username, password = _password ) except Exception, e: print('Authorization Failed!Please check the username,password or your device is connected to the Internet.') exit() return _ssh_fd def ssh_exec_cmd( _ssh_fd, _cmd ): return _ssh_fd.exec_command( _cmd ) def ssh_close( _ssh_fd ): _ssh_fd.close() def print_ssh_exec_cmd_return(_ssh_fd,_cmd): stdin,stdout,stderr=ssh_exec_cmd(_ssh_fd,_cmd) err_list = stderr.readlines() if len( err_list ) > 0: for err_content in err_list: print 'ERROR:' + err_content exit() for item in stdout: print item if __name__ == '__main__': sshd = ssh_connect( '192.168.1.121', sys.argv[1], sys.argv[2]) print 'Executing \''+sys.argv[3]+'\' command,remote controlling raspberrypi.' if len(sys.argv)==4: print_ssh_exec_cmd_return(sshd,'cd Raspberry_pi_study;cd SAKS;cd RemoteControl;python main.py '+sys.argv[3]) else: print_ssh_exec_cmd_return(sshd,'cd Raspberry_pi_study;cd SAKS;cd RemoteControl;python main.py '+sys.argv[3]+' '+sys.argv[4]) ssh_close( sshd )
(PS:我的树莓派的IP是固定192.168.1.121,如果你的IP不是这个,请在上方代码中替换。) (PPS:我的Pi端的代码存放在~/Raspberry_pi_study/SAKS/Remotecontrol文件夹里面,叫做main.py,在上方大家都可以找到熟悉的cd命令。如果你不是用的这个目录,可以替换代码。)