在寫 pzh-py-com 時需要先搭好開發和調試環境,下表列出了開發過程中會用到的所有軟件 / 工具包:

 

一、涉及工具列表

 

 

 

二、開發環境搭建(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
...
Finished processing dependencies for pip
PS C:\tools_mcu\Python27\Scripts> python -m pip install --upgrade pip

Collecting pip
...
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
...
Successfully installed pyserial-3.4
PS C:\tools_mcu\Python27\Scripts> .\pip.exe install wxPython

Collecting wxPython
...
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
...
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 誕生之環境搭建痞子衡便介紹完畢了