树莓派使用COM串口收发消息,以及使用pyCharm进行远程调试
程序员文章站
2022-05-29 16:37:19
...
首先帖一下Python的代码
以上代码在运行之后会监听键盘的输入,然后会传出到串口的输出,同时监听输入口
我是将串口的输出和输入使用一根线连接,使得输出的内容会进入到输入口
所以键盘输入内容后,回车,发送,程序会同时接收到内容并进行打印。
再说下远程调试
远程调试基本会分三步
一、搭建本地Server
二、将文件部署到远程,以及配置远程程序和本地映射
三、运行程序
第一步,搭建本地Server
pyCharm进行远程调试的话,首先,找到pyCharm安装目录下的一个叫pycharm-debug.egg的文件,将这个文件传到树莓上,然后使用命令
进行安装,安装好之后,就是配置pyCharm里面的内容了
菜单->Run->Edit Configuration下,点击加号,创建一个Python Remote Debug,如下图
其中Local host name是配置本地的IP,端口自己选择一个,这块的目的是在本地会创建一个Server,用于远端的程序进行访问,远端的程序访问本地的Server,实现代码的远程调试调用。
图里面还有一个Path mappings,主要是用来做本地的代码和远端的代码的路径映射。
这个配置好后,就可以启动这个Server了,启动完成后,会输出两句代码,类似如下
将这两句代码粘贴到上面的python代码的最上面。
以上这部分仅仅是启动了本地的Server服务
下面介绍运行程序的配置。
二、部署到远程
注意,这里面社区版没有此功能。
菜单->Tools->Deployment->Configurations,如下图
当然,此处名字可以随便起,SFTP host是远程的地址,Port是远程的端口,Root path是要上传到的路径,剩下的用户名、密码什么的。
填写完了,跳转到第二个标签Mappings,如下图
Local path是本地的代码映射地址,Deployment path on Server里面填写的是在基于第一个标签业内的远程地址下,的部署目录地址,此处我填了/,也就是在第一个标签中的/usr/local/python-app/的根目录下
点击保存。
然后就可以通过
菜单->Tools->Deployment下的Upload、Download、Sync等等进行上传下载同步对比等等功能了。
第三部,进行调试
在pyCharm的Preferences里,找到对应的项目,然后Project Interpreter,如下图
选择Deployment configuration 或者SSH Credentials,配置一下远程的连接参数,进行保存。
接下来就是配置调试程序了。
菜单->Tools->Deployment->Configurations,创建一个Python的应用程序,配置如下
这里面主要就是python interpreter的配置,就是上面一步创建的。
上面的配置都完成之后,直接运行这个程序,最上面我们第一步加了pydevd的配置代码,这个代码就会访问我们本地的Server,本地的Server就会和本地的代码进行关联映射,打个断点试一试,程序可以远程调试了。
import serial ser = serial.Serial('/dev/ttyUSB0',115200,parity=serial.PARITY_NONE) if ser.isOpen == False: ser.open() ser.write("serial turn on") try: while 1: size = ser.inWaiting() if size != 0: response = ser.read(size) print response ser.flushInput() except keyboardInterrupt: ser.close()
以上代码在运行之后会监听键盘的输入,然后会传出到串口的输出,同时监听输入口
我是将串口的输出和输入使用一根线连接,使得输出的内容会进入到输入口
所以键盘输入内容后,回车,发送,程序会同时接收到内容并进行打印。
再说下远程调试
远程调试基本会分三步
一、搭建本地Server
二、将文件部署到远程,以及配置远程程序和本地映射
三、运行程序
第一步,搭建本地Server
pyCharm进行远程调试的话,首先,找到pyCharm安装目录下的一个叫pycharm-debug.egg的文件,将这个文件传到树莓上,然后使用命令
easy_install pycharm-debug.egg
进行安装,安装好之后,就是配置pyCharm里面的内容了
菜单->Run->Edit Configuration下,点击加号,创建一个Python Remote Debug,如下图
其中Local host name是配置本地的IP,端口自己选择一个,这块的目的是在本地会创建一个Server,用于远端的程序进行访问,远端的程序访问本地的Server,实现代码的远程调试调用。
图里面还有一个Path mappings,主要是用来做本地的代码和远端的代码的路径映射。
这个配置好后,就可以启动这个Server了,启动完成后,会输出两句代码,类似如下
import pydevd pydevd.settrace('192.168.1.101', port=50000, stdoutToServer=True, stderrToServer=True)
将这两句代码粘贴到上面的python代码的最上面。
以上这部分仅仅是启动了本地的Server服务
下面介绍运行程序的配置。
二、部署到远程
注意,这里面社区版没有此功能。
菜单->Tools->Deployment->Configurations,如下图
当然,此处名字可以随便起,SFTP host是远程的地址,Port是远程的端口,Root path是要上传到的路径,剩下的用户名、密码什么的。
填写完了,跳转到第二个标签Mappings,如下图
Local path是本地的代码映射地址,Deployment path on Server里面填写的是在基于第一个标签业内的远程地址下,的部署目录地址,此处我填了/,也就是在第一个标签中的/usr/local/python-app/的根目录下
点击保存。
然后就可以通过
菜单->Tools->Deployment下的Upload、Download、Sync等等进行上传下载同步对比等等功能了。
第三部,进行调试
在pyCharm的Preferences里,找到对应的项目,然后Project Interpreter,如下图
选择Deployment configuration 或者SSH Credentials,配置一下远程的连接参数,进行保存。
接下来就是配置调试程序了。
菜单->Tools->Deployment->Configurations,创建一个Python的应用程序,配置如下
这里面主要就是python interpreter的配置,就是上面一步创建的。
上面的配置都完成之后,直接运行这个程序,最上面我们第一步加了pydevd的配置代码,这个代码就会访问我们本地的Server,本地的Server就会和本地的代码进行关联映射,打个断点试一试,程序可以远程调试了。