大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是串口调试工具pzh-py-com诞生之环境搭建

  在写pzh-py-com时需要先搭好开发和调试环境,下表列出了开发过程中会用到的所有软件/工具包:

一、涉及工具列表

工具 功能 下载地址
Python 2.7.14 Python官方包(解释器) https://www.python.org/
pySerial 3.4 Serial Port访问的Python封装库 https://pypi.org/project/pyserial/

https://github.com/pyserial/pyserial

https://pythonhosted.org/pyserial/
wxPython 4.0.3 跨平台开源GUI库 [wxWidgets](https://www.wxwidgets.org/) 的Python封装库 https://www.wxpython.org/

https://pypi.org/project/wxPython/
wxFormBuilder 3.8.0 wxPython GUI界面构建工具 https://github.com/wxFormBuilder/wxFormBuilder
PyCharm Community 2018.02 一款流行的Python集成开发环境 http://www.jetbrains.com/pycharm/
PyInstaller 3.3.1 Python应用程序打包工具 http://www.pyinstaller.org/

https://github.com/pyinstaller/pyinstaller
vspd 9 虚拟串口驱动,可以在PC上虚拟出Serial Port https://www.eltima.com/products/vspdxp/
sscom 5.13.1 大虾和丁丁联合推出的一款很流行的串口调试工具 http://www.daxia.com/sscom/

二、开发环境搭建(Python + pySerial + wxPython + wxFormBuilder)

  pzh-py-com工具是一个完全基于Python语言开发的应用软件,首先安装好Python 2.7.14,痞子衡的安装目录为C:\tools_mcu\Python27,安装完成后确保系统环境变量里包括该路径(C:\tools_mcu\Python27),因为该路径下包含python.exe,后续python命令需调用这个python.exe完成的。

  在C:\tools_mcu\Python27\Scripts目录下默认有easy_install.exe,这是PEAK(Python Enterprise Application Kit)开发的setuptools包里的工具,这个工具可以用来完成安装python第三方模块的工作。我们需要借助easy_install.exe来安装pip工具:

PS C:\tools_mcu\Python27\Scripts> .\easy_install.exe pip

Searching for pip
Best match: pip 9.0.1
Adding pip 9.0.1 to easy-install.pth file
Installing pip-script.py script to c:\tools_mcu\python27\Scripts
Installing pip.exe script to c:\tools_mcu\python27\Scripts
Installing pip3.5-script.py script to c:\tools_mcu\python27\Scripts
Installing pip3.5.exe script to c:\tools_mcu\python27\Scripts
Installing pip3-script.py script to c:\tools_mcu\python27\Scripts
Installing pip3.exe script to c:\tools_mcu\python27\Scripts Using c:\tools_mcu\python27\lib\site-packages
Processing dependencies for pip
Finished processing dependencies for pip

PS C:\tools_mcu\Python27\Scripts> python -m pip install --upgrade pip

Collecting pip
Downloading > https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB)
Installing collected packages: pip
Found existing installation: pip 9.0.1
Uninstalling pip-9.0.1:
Successfully uninstalled pip-9.0.1
Successfully installed pip-18.0

  pip是Python的包管理工具,提供了对Python包的查找、下载、安装、卸载的功能。安装好pip工具之后,可以看到C:\tools_mcu\Python27\Scripts目录下多了pip.exe,为方便后续使用pip来安装其他Python包,确保系统环境变量里包括pip路径(C:\tools_mcu\Python27\Scripts)。我们可以借助pip来安装pySerial和wxPython包:

PS C:\tools_mcu\Python27\Scripts> .\pip.exe install pyserial

Collecting pyserial
Downloading https://files.pythonhosted.org/packages/0d/e4/2a744dd9e3be04a0c0907414e2a01a7c88bb3915cbe3c8cc06e209f59c30/pyserial-3.4-py2.py3-none-any.whl (193kB)
Installing collected packages: pyserial
Successfully installed pyserial-3.4

PS C:\tools_mcu\Python27\Scripts> .\pip.exe install wxPython

Collecting wxPython
Downloading https://files.pythonhosted.org/packages/88/88/a23b96662c5ab82dd8dbbb68c68dedea466229e8151fd2911713a1cd27b2/wxPython-4.0.3-cp27-cp27m-win_amd64.whl (22.8MB)
Collecting six (from wxPython)
Downloading https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting PyPubSub (from wxPython)
Downloading https://files.pythonhosted.org/packages/14/80/8e1d34848fea10826763600ca7eeb7a76d914ccab7cb0d64c9c180c30a73/Pypubsub-4.0.0.zip (64kB)
Collecting typing (from PyPubSub->wxPython)
Downloading https://files.pythonhosted.org/packages/0d/4d/4e5985d075d241d686a1663fa1f88b61d544658d08c1375c7c6aac32afc3/typing-3.6.4-py2-none-any.whl
Installing collected packages: six, typing, PyPubSub, wxPython
Running setup.py install for PyPubSub ... done
The scripts helpviewer.exe, img2png.exe, img2py.exe, img2xpm.exe, pycrust.exe, pyshell.exe, pyslices.exe, pyslicesshell.exe, pywxrc.exe, wxdemo.exe, wxdocs.exe and wxget.exe are installed in 'c:\tools_mcu\python27\Scripts'
Successfully installed PyPubSub-4.0.0 six-1.11.0 typing-3.6.4 wxPython-4.0.3

  有了pySerial便可以访问Serial Port,有了wxPython便可以设计GUI。

  单纯使用wxPython设计pzh-py-com GUI界面时仅能是手工写代码布局,手工布局的界面创建和修改起来都比较繁琐,我们需要一款可视化的界面设计工具,痞子衡选择的是wxFormBuilder,从其github官网下载安装包并安装到C:\tools_mcu\wxFormBuilder目录下。安装完成打开软件便可在Designer里尽情创作界面,创作完成后点击"Python"便可看到Python GUI源代码,这个GUI源代码后续直接复制到JaysPyCOM工程里使用。

  至此pzh-py-com工具开发的Python基础环境便搭好了。

三、测试环境搭建(PyCharm + vspd + sscom)

  在开发pzh-py-com工具过程中免不了要调试Python代码,所以我们还需要一个Python IDE,痞子衡选择的是PyCharm,在jetbrains官网下载PyCharm community免费版并安装,安装完成后打开PyCharm并创建名为pzh-py-com空工程,成功创建后会看到pzh-py-com目录下自动生成一个.idea的文件夹,该文件夹是用于pycharm管理项目。

  有了PyCharm环境,便可以开始写pzh-py-com代码,代码在开发过程中,需要结合Serial Port进行联合调试,如果手里没有硬件串口设备,可以使用虚拟串口设备,vspd便是著名的虚拟串口驱动,从eltima官网下载vspd标准版并安装,安装完成后打开vspd可看到如下界面,COM10和COM11(COM号是自定义的)便是虚拟出来的串口设备号,并且已经完成了对接。

  虚拟Serial Port设备已经有了并且对接了,最后还需要一个成熟的串口调试助手,作为串口通讯的另一方,痞子衡选取的是非常经典的sscom,从大虾官网下载sscom包,sscom是个免安装的工具,可以直接打开使用,设置sscom使用COM11,将来pzh-py-com使用COM10。

四、发布环境搭建(PyInstaller)

  pzh-py-com工具开发和调试工作都完成之后,我们希望将她打包成一个独立的可执行文件(即运行设备不需要安装Python+pySerial+wxPython),PyInstaller可以帮助我们完成打包工作,所以我们需要利用pip工具安装PyInstaller包:

PS C:\tools_mcu\Python27\Scripts> .\pip.exe install pyinstaller

Collecting pyinstaller
Downloading https://files.pythonhosted.org/packages/3c/86/909a8c35c5471919b3854c01f43843d9b5aed0e9948b63e560010f7f3429/PyInstaller-3.3.1.tar.gz (3.5MB)
Requirement already satisfied: setuptools in c:\tools_mcu\python27\lib\site-packages (from pyinstaller) (28.8.0)
Collecting pefile>=2017.8.1 (from pyinstaller)
Downloading https://files.pythonhosted.org/packages/ed/cc/157f20038a80b6a9988abc06c11a4959be8305a0d33b6d21a134127092d4/pefile-2018.8.8.tar.gz (62kB)
Collecting macholib>=1.8 (from pyinstaller)
Downloading https://files.pythonhosted.org/packages/a1/01/845b2df65117dbdabf00c6df879625f4968ede6f512956710f05f4c7663a/macholib-1.10-py2.py3-none-any.whl
Collecting dis3 (from pyinstaller)
Downloading https://files.pythonhosted.org/packages/c8/a1/bb0ab17df7e6cbc6d1555dd1c6fdaa09e90842f0f683507042b9dae83e2d/dis3-0.1.2.tar.gz
Collecting future (from pyinstaller)
Downloading https://files.pythonhosted.org/packages/00/2b/8d082ddfed935f3608cc61140df6dcbf0edea1bc3ab52fb6c29ae3e81e85/future-0.16.0.tar.gz (824kB)
Collecting pypiwin32 (from pyinstaller)
Downloading https://files.pythonhosted.org/packages/13/e8/4f38eb30c4dae36634a53c5b2cd73b517ea3607e10d00f61f2494449cec0/pypiwin32-223.tar.gz
Collecting altgraph>=0.15 (from macholib>=1.8->pyinstaller)
Downloading https://files.pythonhosted.org/packages/0a/cc/646187eac4b797069e2e6b736f14cdef85dbe405c9bfc7803ef36e4f62ef/altgraph-0.16.1-py2.py3-none-any.whl
Collecting pywin32>=223 (from pypiwin32->pyinstaller)
Downloading https://files.pythonhosted.org/packages/65/83/0b14690d70bcd193a67c8b0a640129717e37a11d8e6a3e28a01e47910737/pywin32-223-cp27-cp27m-win_amd64.whl (7.3MB)
Installing collected packages: future, pefile, altgraph, macholib, dis3, pywin32, pypiwin32, pyinstaller
Running setup.py install for future ... done
Running setup.py install for pefile ... done
Running setup.py install for dis3 ... done
Running setup.py install for pypiwin32 ... done
Running setup.py install for pyinstaller ... done
Successfully installed altgraph-0.16.1 dis3-0.1.2 future-0.16.0 macholib-1.10 pefile-2018.8.8 pyinstaller-3.3.1 pypiwin32-223 pywin32-223

  PyInstaller包安装好之后,环境搭建便大功告成

  至此,串口调试工具pzh-py-com诞生之环境搭建痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到我的 博客园主页CSDN主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记(1)- 环境搭建(Python2.7.14 + pySerial3.4 + wxPython4.0.3)的更多相关文章

  1. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(3)- 音频显示实现(Matplotlib, NumPy1.15.0)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之音频显示实现. 音频显示是Jays-PySPEECH的主要功能,Jays-PySPEECH借 ...

  2. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生. 智能语音交互市场近年来发展迅速,其典型的应用之一智能音箱产品如今已走入千家万户,深受大家 ...

  3. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(1)- 环境搭建(Python2.7.14 + PyAudio0.2.11 + Matplotlib2.2.3 + SpeechRecognition3.8.1 + pyttsx3 2.7)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之环境搭建. 在写Jays-PySPEECH时需要先搭好开发环境,下表列出了开发过程中会用到的 ...

  4. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(5)- 语音识别实现(SpeechRecognition, PocketSphinx0.1.15)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之语音识别实现. 语音识别是Jays-PySPEECH的核心功能,Jays-PySPEECH借 ...

  5. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(6)- 文语合成实现(pyttsx3, eSpeak1.48.04)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之文语合成实现. 文语合成是Jays-PySPEECH的核心功能,Jays-PySPEECH借 ...

  6. 痞子衡嵌入式:语音处理工具pzh-speech诞生记(4)- 音频录播实现(PyAudio)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具pzh-py-speech诞生之音频录播实现. 音频录播是pzh-py-speech的主要功能,pzh-py-speech借 ...

  7. 痞子衡嵌入式:语音处理工具pzh-speech诞生记(2)- 界面构建(wxFormBuilder3.8.0)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具pzh-py-speech诞生之界面构建. 之前痞子衡设计过一个串口调试助手pzh-py-com,也专门写过一篇关于其界面构 ...

  8. 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生. 串口调试助手是嵌入式开发里非常常用的小工具,市面上有非常多流行的串口调试工具,比如TeraTe ...

  9. 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记(2)- 界面构建(wxFormBuilder3.8.0)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生之界面构建. 一个软件的UI界面是非常重要的,这是软件与用户交互的接口,软件功能即使再强大,但如果没 ...

随机推荐

  1. SpringMVC之拦截器的的配置和使用

    拦截器与过滤器的区别:拦截器只能拦截controller的请求,过滤器可以过滤所有请求 (1)实现HandlerInterceptor接口 在执行控制器中的方法之前执行preHandle()中的方法 ...

  2. poi导出Excel直接在浏览器下载

    需求:导出成Excel格式,要在浏览器看到类似于下载的效果. 导出的Excel和下载在同一个目录下. xxController.java // 导出 @RequestMapping(value = & ...

  3. XML语言2.约束

    三.XML的约束 目的:编写一个文件用来约束另一个xml文件的书写规范. DTD 用来约束xml的文件格式,保证这个文件是有效的. 内部DTD:所有的约束都是直接定义在xml文件中的 内部的 DOCT ...

  4. pip和cmd常用命令

    1.pip常用命令 显示模块的详情  pip    show 安装模块   pip    install    模块名称 卸载模块    pip    uninstall    模块名称 查看当前环境 ...

  5. ndk编译libx264生成库

    编译脚本如下: TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64 function build_x26 ...

  6. [Swift]LeetCode401. 二进制手表 | Binary Watch

    A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the bottom ...

  7. [Swift]LeetCode782. 变为棋盘 | Transform to Chessboard

    An N x N board contains only 0s and 1s. In each move, you can swap any 2 rows with each other, or an ...

  8. Integer简介

    // 当创建范围为[-128,127]时 Integer a = ; Integer b = ; Integer c = ); System.out.println("a == b :&qu ...

  9. java中子类继承父类程序执行顺序问题

    Java中,new一个类的对象,类里面的静态代码块.非静态代码.无参构造方法.有参构造方法.类的一般方法等部分,它们的执行顺序相对来说比较简单,用程序也很容易验证.比如新建一个测试父类. public ...

  10. nfs服务启动失败:Failed to start NFS status monitor for NFSv2/3 locking..

    今天碰到个问题,服务器重启后,nfs服务就启动不了了,关闭都关不了.查看系统日志报下面的错: Aug 10 17:08:53 prod-r3-slt-s-01 systemd: Started Pre ...