在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為做二次開發量身打造發嵌入式操作系統QuecPython

2fCd_quectelwir ? 來源:QuecPython ? 作者:QuecPython ? 2021-06-26 16:51 ? 次閱讀

QuecPython——執行Python代碼的運行環境,是一種全新的物聯網開發方式。Quec取自Quectel,QuecPython的開發是基于Quectel的物聯網模組。Python(中文名蟒蛇,俗名爬蟲,別名膠水語言)是一種跨平臺的計算機程序設計語言,入門容易、編寫簡單快捷、調試方便、開發效率高,已成為當下最受歡迎的程序設計語言之一。

QuecPython也可以說是移遠通信為客戶更加便捷地在物聯網模組上做二次開發而量身打造的嵌入式操作系統

大家好,我是“QuecPython”,今天來給大家介紹一下QPYcom開源。

QPYcom是移遠通信Quectel官方發布的QuecPython開發調試工具,穩定可靠、易用高效,被譽為QuecPython的“屠龍刀”。

經過幾百個日夜的千錘百煉,QPYcom終于可以以最根本的方式(源代碼)和大家坦誠相見。QPYcom使用CPython語言,wxGlade設計GUI,WXPython為圖形庫,PyInstaller打包exe的Windows工具。現在,您只需要按照下邊的說明文檔操作就可以在本地順利地跑起來啦!

在本地搭建運行環境和拉取代碼

第一步——拉取代碼

首先在本地安裝git,這個就不贅述啦。

接下來從github上拉取開源項目代碼,執行以下代碼。

git clone https://github.com/quecpython/QPYcom.git

cd QPYcom

執行完上述代碼后,代碼就已經拉取到本地啦。

第二步——安裝運行所需要的庫

首先確保本地Python版本大于等于3.8(若沒安裝請自行去官網下載安裝),Python環境變量已配置。

如果沒有配置,請點擊

https://www.pianshen.com/article/65461087669/,了解配置方法。

然后執行以下代碼安裝requirements.txt依賴。

pip install -r requirements.txt

接下來執行以下代碼就可以運行工具。

pythonwxglade_out.py

執行完這行代碼后,GUI就會顯示出來;如果報錯提示No module named “XXX”,按照缺失的庫名按照對應的py庫即可,如果提示pysimplegui錯誤,檢查庫是否完全拉到本地,是否有文件缺失。

目錄結構解析

現在就是整個項目的目錄結構,QPYcom GUI工具運行的全部所需文件如上圖一所示。配置文件和部分文件夾是代碼運行必需文件,若缺失則代碼無法運行。

__pycache__中存放的python可執行文件,.git開頭的是git的配置文件,可以不用關注。

配置文件

cloud_conf.json和local_conf.json分別是工具自動升級的云端和本地配置文件

fw_config.json是配置合并固件參數、串口參數以及狀態欄提示內容的配置文件

config.ini是工具的基本功能配置文件,對應的是工具設置頁面的功能

update_message.json用于工具升級時彈窗顯示升級內容和配置自定義提示內容

子目錄

docs存放工具的changelog和使用說明,exes存放固件和下載和合并的工具

fw存放合并固件過程中的固件文件,project存放客戶的項目配置文件

images存放工具的圖標文件,locale存放多語言支持的翻譯文件

logs中存放的是工具的運行日志(software子目錄下)和調試日志(apps子目錄下)

其他文件

qpy_design.wxg是通過wxGlade設計的GUI的頁面原型文件,需要使用wxGlade打開并編輯該文件

restart.bat是工具自動升級時切換新舊版本的腳本文件

requirement.txt是python的包管理文件

代碼文件

代碼文件解析詳見下個章節

應用代碼解析

fileIO.py

主要涉及文件系統處理,配置文件讀寫,工具自動補全功能邏輯處理等函數,詳細內容可自行閱讀代碼(配合主程序一起閱讀更容易理解函數的作用)。

json_process.py

工具的自動升級部分代碼,通過對比cloud_conf.json和local_conf.json配置文件內容來判斷云端文件是否有更新,每次版本升級將云端最新版本的文件拉取到本地替換舊文件實現工具版本更新,可配置多種升級模式。

通過定時器(間隔2小時)檢測是否有版本更新,如果有則觸發升級動作,若不想開啟升級功能,在主程序中注釋掉repeat_update_check()這一行即可關閉工具升級功能。

wxglade_out.py

工具GUI主程序,主要分為頁面顯示代碼和功能實現代碼,頁面實現部分代碼主要負責GUI頁面的顯示,生成各個頁面的不同控件及其位置大小等,詳細可見wxpython API,對應的控件又通過事件綁定對應不同的函數,當點擊控件或者觸發事件就會通過功能實現部分的代碼實現對應的功能。

功能實現部分代碼值得強調的是串口數據的接收發送和下載/合并固件功能的實現,工具的交互和文件頁面所有操作皆是基于串口數據交互實現的,串口的數據接收是通過wxPython的timer來實現的,通過不同的全局變量(操作類型)對從串口的接收數據進行不同的處理后顯示在頁面上或者生成文件列表,詳細代碼見serRcvHandler函數;發送數據的部分通過全局變量來發送不同的指令代碼到串口中并通過uos模塊來實現文件操作。

下載/合并固件功能通過cpython的subprocess模塊調用EXE實現。下載和合并工具是命令函,故此QPYcom通過subprocess創建一個子進程,在后臺執行相應的操作,并將執行的返回結果處理后在頁面上顯示(如更新進度條進度等)。

應用發布

在調試完代碼之后就可以將PY代碼打包成可執行的exe文件,打包命令如下:

pyinstaller -F --win-private-assemblies--icon images/quectel.ico -w 。/wxglade_out.py

打包完之后會在項目目錄下生成一個dist文件夾,文件夾下就是exe文件(和主程序同名),注意此時的exe需要一些依賴文件才能運行,需要將這些依賴文件和可執行程序exe放在同一目錄下才可正常運行(依賴文件上文有提到,也可參考官網發布的正式版本工具文件列表)。

PS:您可以根據自己的需求和喜好任意添加、修改內容,甚至還可以移植到其他操作系統。歡迎提pr、貢獻代碼哦。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5088

    文章

    19158

    瀏覽量

    306486
  • 物聯網
    +關注

    關注

    2911

    文章

    44837

    瀏覽量

    375215
  • 操作系統
    +關注

    關注

    37

    文章

    6862

    瀏覽量

    123507
  • python
    +關注

    關注

    56

    文章

    4801

    瀏覽量

    84882

原文標題:什么是QPYcom開源?

文章出處:【微信號:quectelwireless,微信公眾號:移遠通信】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    2025嵌入式操作系統專業培訓班正式啟動!

    RT-Thread官方將在河南-鄭州發起為期三天的嵌入式操作系統專業培訓班!本次培訓將會深入講解RT-Thread嵌入式實時操作系統的核心概念、實戰技巧和應用場景!無論企業團隊/工程師
    的頭像 發表于 01-09 18:46 ?78次閱讀
    2025<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統</b>專業培訓班正式啟動!

    深居淺出AutoCAD二次開發

    深居淺出AutoCAD二次開發,net版
    發表于 01-06 14:12 ?0次下載

    SOLIDWORKS二次開發應用范圍與實例

    SOLIDWORKS二次開發為企業和設計師們提供了廣闊的定制化空間,能夠更好地滿足復雜多變的設計需求,幫助工程師和設計師提高工作效率,實現更復雜的自動化任務。如您有SOLIDWORKS二次開發需求,歡迎咨詢Solidkits
    的頭像 發表于 12-13 16:33 ?251次閱讀

    嵌入式系統開發與硬件的關系 嵌入式系統開發常見問題解決

    嵌入式系統開發與硬件的關系 嵌入式系統是專為特定應用設計的計算機系統,它們通常嵌入在所控制的設備
    的頭像 發表于 12-09 09:38 ?353次閱讀

    可以改TSW1405內部程序或者是修改HSDC PRO的程序二次開發嗎?

    可以改TSW1405內部程序或者是修改HSDC PRO 的程序二次開發嗎?
    發表于 11-27 07:29

    什么是嵌入式操作系統?

    機器人的大腦。它告訴機器人怎么工作,什么時候做什么事,怎么和它身體上的各種傳感器和部件溝通,EOS是嵌入式系統設計的專用操作系統。 那它到底有什么特別的呢? 1.超快反應:EOS得像
    發表于 11-08 15:07

    嵌入式 Linux 操作系統配置

    隨著物聯網(IoT)和智能設備的快速發展,嵌入式系統在各個領域扮演著越來越重要的角色。Linux因其開源、靈活和穩定的特性,成為嵌入式系統的首選操作
    的頭像 發表于 11-06 10:22 ?526次閱讀

    什么~FPGA可以自行二次開發了?

    什么!FPGA可以自行二次開發了? 目前市場上的標準采集卡通常不支持用戶自行開發FPGA。但因為應用環境的需要,不僅僅只需要單一的數據采集流程,往往還需要在其中嵌入更復雜的運行和分析邏輯。為了解
    的頭像 發表于 10-14 15:47 ?260次閱讀
    什么~FPGA可以自行<b class='flag-5'>二次開發</b>了?

    新書發布——《RT-Thread嵌入式實時操作系統內核、驅動和應用開發技術》

    我們非常高興地宣布,由鄭苗秀、沈鴻飛和廖建尚編著的《RT-Thread嵌入式實時操作系統內核、驅動和應用開發技術》一書正式發布。本書的編寫團隊由多位在嵌入式和實時
    的頭像 發表于 09-03 08:06 ?673次閱讀
    新書發布——《RT-Thread<b class='flag-5'>嵌入式</b>實時<b class='flag-5'>操作系統</b>內核、驅動和應用<b class='flag-5'>開發</b>技術》

    嵌入式linux開發板怎么操作

    嵌入式Linux開發板是一種基于Linux操作系統嵌入式系統開發平臺。它通常包括一個處理器、內存、存儲器、輸入/輸出接口等硬件組件,以及一
    的頭像 發表于 09-02 09:09 ?432次閱讀

    嵌入式linux開發板芯片的工作原理

    嵌入式Linux開發板是一種基于Linux操作系統嵌入式系統開發平臺,它廣泛應用于工業控制、智能家居、智能交通、醫療設備等領域。
    的頭像 發表于 09-02 09:07 ?426次閱讀

    ARMxy ARM工業邊緣計算網關帶Ubuntu OS支持二次開發

    ARMxy系列工業邊緣計算網關,搭載Ubuntu操作系統,不僅提供了強大的數據處理能力,而且通過支持二次開發企業提供了定制化解決方案的可能性。本文將深入探討ARMxy網關的技術特性、Ubuntu
    的頭像 發表于 08-19 15:32 ?452次閱讀
    ARMxy ARM工業邊緣計算網關帶Ubuntu OS支持<b class='flag-5'>二次開發</b>

    第六屆國產嵌入式操作系統技術與產業發展論壇議程發布

    每年一度的國產嵌入式操作系統論壇即將在杭州濱江舉辦,今年是第六屆了,又是中國嵌入式系統新朋老友相聚的時刻。大模型催生AI走人千家萬戶、喚醒端側AI的需求爆發。以機器人、無人駕駛和智能制
    發表于 07-26 10:54

    再談嵌入式實時操作系統

    程序的可移植性得到了增強,系統開發的工作量減輕的同時也提高了開發效率。對實時性和可靠性日益增長的要求正在塑造某些現代領域的嵌入式實時操作系統的發展方向,例如航空航天、工業控制、汽車電子
    的頭像 發表于 04-09 17:27 ?827次閱讀
    再談<b class='flag-5'>嵌入式</b>實時<b class='flag-5'>操作系統</b>

    個性化定制,提升運營效率:SAP二次開發引領企業數字化轉型

    的解決方案,助力其實現數字化轉型,提高運營效率,迎接不斷變化的業務需求。 提升企業運營效率,打造個性化管理工具 SAP二次開發服務可以根據企業的特定需求,深入定制現有的SAP系統
    的頭像 發表于 02-18 13:29 ?445次閱讀
    主站蜘蛛池模板: 人人澡人| 久久国产香蕉视频| 一级做a爰片久久毛片毛片| 久久久五月| 网红和老师啪啪对白清晰| 在线视频一区二区| 久久久久久国产精品mv| 久久亚洲国产成人影院| 天天综合天天干| 国产高清一区二区| 免费 视频 1级| 日本亚洲天堂网| 天堂bt种子资源地址在线| 在线小视频你懂的| 一区二区手机视频| 九九视频热| 日韩欧美印度一级毛片| www激情com| 国产手机在线看片| 日本美女黄色一级片| 777国产精品永久免费观看| 黄色片 720p| 毛色毛片免费观看| 成人mv高清在线| www.激情.com| 丁香五六月婷婷| 国产一区二区在线不卡| 国内一级毛片| 亚洲免费看片| 天天爽夜夜爽人人爽一区二区| 免费又爽又黄1000禁片| 免费在线观看理论片| 欧美色炮| 黄色午夜视频| 91大神精品视频| 中文字幕123区| 亚洲色图国产精品| 亚洲成在人线影视天堂网| 亚洲成a人片777777久久| 亚洲欧美色鬼久久综合| 欧洲mv日韩mv国产mv|