程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

1317_使用pyserial通過python讀取串口數據顯示的同時記錄log文件

編輯:Python

全部學習匯總: GreyZhang/g_serial: Some serial learning notes which may be usefull in embedded system debugging. (github.com)

前面,已經借助於pyserial實現了串口信息的讀取以及顯示。其實,增加一個log文件的記錄也是很簡單的事情了。如果只是增加最原始的log信息,那麼直接用一個文件記錄一下就可以了。這裡,我實現了一個簡單的嘗試。

在設計的時候,我沒有一次打開文件之後就全都嘗試寫,而是采用了不斷打開文件追加的方式。因為,使用其他的串口工具的時候我也有一些查看log文件的嘗試,我覺得log文件如果能夠不斷刷新,不斷看到新的數據也是很好的。

這樣,在不斷記錄的同時我們可以借助於VS Code等加載刷新比較迅速的編輯器來看記錄的內容。

我之前使用Arduino的串口監控工具頻次特別多,一者是因為我接觸到的串口監控工具可能本來就不是很多,另一方面則是Arduino的串口監控工具其實已經完全滿足了我個人的需求。這樣,我也就沒有其他的驅動力去尋找使用更多的工具了。我用Arduino的串口監控工具很重要的一點在於它支持時間戳信息的展示,這樣,對於我去理解軟件執行的動作時序間隔是很有幫助的。如果,log文件裡面有這樣的信息,那麼這也是很好的。

我也用過putty這個開源軟件,用了挺長的時間。也用來記錄過log,比較方便。但是使用這個工具令我不是很滿意的一點就是log文件裡面不方便增加時間戳信息。我看了網上的說明,解釋說這樣的功能不好做。但是,網站上給出了另外一種解決方案。我沒有去研究為什麼不好做,或許在某些場景之下,這樣的實現是有挑戰度的。但是對我來說,我需要的數據量不大,或許也不是很快,簡單讀取一下系統時間作為參考就非常好用了。

為此,做了上面的設計。

當然,這個只是隨手一寫,這個設計也不是很好。主要的問題點就是重復代碼很多,其實,時間戳的處理可以孤立成一個專門的函數。但是,簡單的測試或者臨時用用,在代碼這麼簡單的情況下,這麼用著也是可以的。這裡,我不僅增加了一個寫入,也增加了一個print的過程。其實也很簡單,我想在print的過程中也看到類似Arduino串口監控工具的效果。

這樣,打印顯示的效果就有了。

再看一下log信息,基本上也符合我期望的效果。這樣的功能,後期如果集成到我的開發工作流中,對我的工作效率以及質量還是會有一些幫助的。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved