在寫 pzh-py-com 時需要先搭好開發(fā)和調(diào)試環(huán)境,下表列出了開發(fā)過程中會用到的所有軟件 / 工具包:
一、涉及工具列表
?
二、開發(fā)環(huán)境搭建(Python + pySerial + wxPython + wxFormBuilder)
pzh-py-com 工具是一個完全基于 Python 語言開發(fā)的應(yīng)用軟件,首先安裝好 Python 2.7.14,痞子衡的安裝目錄為 C:tools_mcuPython27,安裝完成后確保系統(tǒng)環(huán)境變量里包括該路徑(C:tools_mcuPython27),因為該路徑下包含 python.exe,后續(xù) python 命令需調(diào)用這個 python.exe 完成的。
在 C:tools_mcuPython27Scripts 目錄下默認有 easy_install.exe,這是 PEAK(Python Enterprise Application Kit)開發(fā)的 setuptools 包里的工具,這個工具可以用來完成安裝 python 第三方模塊的工作。我們需要借助 easy_install.exe 來安裝 pip 工具:
PS C:tools_mcuPython27Scripts> .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_mcuPython27Scripts> python -m pip install --upgrade pip
Collecting pip
...
Successfully installed pip-18.0
pip 是 Python 的包管理工具,提供了對 Python 包的查找、下載、安裝、卸載的功能。安裝好 pip 工具之后,可以看到 C:tools_mcuPython27Scripts 目錄下多了 pip.exe,為方便后續(xù)使用 pip 來安裝其他 Python 包,確保系統(tǒng)環(huán)境變量里包括 pip 路徑(C:tools_mcuPython27Scripts)。我們可以借助 pip 來安裝 pySerial 和 wxPython 包:
PS C:tools_mcuPython27Scripts> .pip.exe install pyserial
Collecting pyserial
...
Successfully installed pyserial-3.4
PS C:tools_mcuPython27Scripts> .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 便可以設(shè)計 GUI。
單純使用 wxPython 設(shè)計 pzh-py-com GUI 界面時僅能是手工寫代碼布局,手工布局的界面創(chuàng)建和修改起來都比較繁瑣,我們需要一款可視化的界面設(shè)計工具,痞子衡選擇的是 wxFormBuilder,從其 github 官網(wǎng)下載安裝包并安裝到 C:tools_mcuwxFormBuilder 目錄下。安裝完成打開軟件便可在 Designer 里盡情創(chuàng)作界面,創(chuàng)作完成后點擊"Python"便可看到 Python GUI 源代碼,這個 GUI 源代碼后續(xù)直接復(fù)制到 JaysPyCOM 工程里使用。
至此 pzh-py-com 工具開發(fā)的 Python 基礎(chǔ)環(huán)境便搭好了。
三、測試環(huán)境搭建(PyCharm + vspd + sscom)
在開發(fā) pzh-py-com 工具過程中免不了要調(diào)試 Python 代碼,所以我們還需要一個 Python IDE,痞子衡選擇的是 PyCharm,在 jetbrains 官網(wǎng)下載 PyCharm community 免費版并安裝,安裝完成后打開 PyCharm 并創(chuàng)建名為 pzh-py-com 空工程,成功創(chuàng)建后會看到 pzh-py-com 目錄下自動生成一個 .idea 的文件夾,該文件夾是用于 pycharm 管理項目。
有了 PyCharm 環(huán)境,便可以開始寫 pzh-py-com 代碼,代碼在開發(fā)過程中,需要結(jié)合 Serial Port 進行聯(lián)合調(diào)試,如果手里沒有硬件串口設(shè)備,可以使用虛擬串口設(shè)備,vspd 便是著名的虛擬串口驅(qū)動,從 eltima 官網(wǎng)下載 vspd 標準版并安裝,安裝完成后打開 vspd 可看到如下界面,COM10 和 COM11(COM 號是自定義的)便是虛擬出來的串口設(shè)備號,并且已經(jīng)完成了對接。
虛擬 Serial Port 設(shè)備已經(jīng)有了并且對接了,最后還需要一個成熟的串口調(diào)試助手,作為串口通訊的另一方,痞子衡選取的是非常經(jīng)典的 sscom,從大蝦官網(wǎng)下載 sscom 包,sscom 是個免安裝的工具,可以直接打開使用,設(shè)置 sscom 使用 COM11,將來 pzh-py-com 使用 COM10。
四、發(fā)布環(huán)境搭建(PyInstaller)
pzh-py-com 工具開發(fā)和調(diào)試工作都完成之后,我們希望將她打包成一個獨立的可執(zhí)行文件(即運行設(shè)備不需要安裝 Python+pySerial+wxPython),PyInstaller 可以幫助我們完成打包工作,所以我們需要利用 pip 工具安裝 PyInstaller 包:
PS C:tools_mcuPython27Scripts> .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 包安裝好之后,環(huán)境搭建便大功告成
至此,串口調(diào)試工具 pzh-py-com 誕生之環(huán)境搭建痞子衡便介紹完畢了