18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

3天內(nèi)不再提示

為做二次開發(fā)量身打造發(fā)嵌入式操作系統(tǒng)QuecPython

2fCd_quectelwir ? 來源:QuecPython ? 作者:QuecPython ? 2021-06-26 16:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

QuecPython也可以說是移遠通信為客戶更加便捷地在物聯(lián)網(wǎng)模組上做二次開發(fā)而量身打造的嵌入式操作系統(tǒng)。

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

QPYcom是移遠通信Quectel官方發(fā)布的QuecPython開發(fā)調(diào)試工具,穩(wěn)定可靠、易用高效,被譽為QuecPython的“屠龍刀”。

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

在本地搭建運行環(huán)境和拉取代碼

第一步——拉取代碼

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

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

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

cd QPYcom

執(zhí)行完上述代碼后,代碼就已經(jīng)拉取到本地啦。

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

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

如果沒有配置,請點擊

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

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

pip install -r requirements.txt

接下來執(zhí)行以下代碼就可以運行工具。

pythonwxglade_out.py

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

目錄結(jié)構(gòu)解析

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

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

配置文件

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

fw_config.json是配置合并固件參數(shù)、串口參數(shù)以及狀態(tài)欄提示內(nèi)容的配置文件

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

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

子目錄

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

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

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

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

其他文件

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

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

requirement.txt是python的包管理文件

代碼文件

代碼文件解析詳見下個章節(jié)

應用代碼解析

fileIO.py

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

json_process.py

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

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

wxglade_out.py

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

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

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

應用發(fā)布

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

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

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

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

責任編輯:haq

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

    關注

    5177

    文章

    20003

    瀏覽量

    325391
  • 物聯(lián)網(wǎng)

    關注

    2938

    文章

    46990

    瀏覽量

    403761
  • 操作系統(tǒng)

    關注

    37

    文章

    7267

    瀏覽量

    128125
  • python
    +關注

    關注

    56

    文章

    4849

    瀏覽量

    89172

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    直播回顧 | 掌握車載通信核心技術,虹科CAN總線實戰(zhàn):PCAN二次開發(fā)技術直播助您輕松拿捏總線開發(fā)“創(chuàng)新引擎

    ,已成為車企與零部件供應商應對深度研發(fā)、定制化測試與前沿功能開發(fā)的核心競爭力。然而,CAN總線二次開發(fā)絕非簡單的“調(diào)用接口”,而是一項融合了嵌入式開發(fā)、汽車網(wǎng)絡協(xié)議、軟
    的頭像 發(fā)表于 10-09 17:33 ?155次閱讀
    直播回顧 | 掌握車載通信核心技術,虹科CAN總線實戰(zhàn):PCAN<b class='flag-5'>二次開發(fā)</b>技術直播助您輕松拿捏總線<b class='flag-5'>開發(fā)</b>“創(chuàng)新引擎

    嵌入式開發(fā),如何選擇適合的系統(tǒng)?

    嵌入式ARM開發(fā)中,面對多種操作系統(tǒng)的選擇,如何做出最適合項目的決策?本文將為您梳理常見系統(tǒng)的特性,幫助您快速了解它們的優(yōu)缺點,以便更好地選擇適合的
    的頭像 發(fā)表于 05-20 11:32 ?744次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>,如何選擇適合的<b class='flag-5'>系統(tǒng)</b>?

    嵌入式開發(fā)入門指南:從零開始學習嵌入式

    基礎 3. 學習路徑推薦第一階段:熟悉開發(fā)環(huán)境(如Keil、IAR、STM32)第階段:掌握裸機編程與驅(qū)動開發(fā)第三階段:學習RTOS(實時操作系統(tǒng))如FreeRTOS第四階段:深入理
    發(fā)表于 05-15 09:29

    云MES系統(tǒng)源碼,支持 SaaS 多租戶,支持二次開發(fā)

    萬界星空科技MES生產(chǎn)制造執(zhí)行系統(tǒng)源碼,有演示,多個項目應用案例,成熟穩(wěn)定。支持二次開發(fā),商業(yè)授權后可商用。
    的頭像 發(fā)表于 05-07 11:14 ?411次閱讀
    云MES<b class='flag-5'>系統(tǒng)</b>源碼,支持 SaaS 多租戶,支持<b class='flag-5'>二次開發(fā)</b>

    RT-Thread嵌入式操作系統(tǒng)專業(yè)培訓班-深圳站重磅開啟!

    RT-Thread官方將在深圳舉辦為期三天的嵌入式操作系統(tǒng)專業(yè)培訓班!本次培訓將深入講解RT-Thread嵌入式實時操作系統(tǒng)的核心技術與實戰(zhàn)應用,助力
    的頭像 發(fā)表于 04-11 18:18 ?550次閱讀
    RT-Thread<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>專業(yè)培訓班-深圳站重磅開啟!

    操作系統(tǒng)適配,飛凌嵌入式T527核心板打造高效開發(fā)新體驗

    飛凌嵌入式基于全志T536處理器開發(fā)設計的FET527N-C核心板適配了全新升級的ForlinxDesktop22.04操作系統(tǒng),這一舉措不僅能夠為用戶帶來了更加流暢、穩(wěn)定的
    的頭像 發(fā)表于 03-20 14:33 ?948次閱讀
    新<b class='flag-5'>操作系統(tǒng)</b>適配,飛凌<b class='flag-5'>嵌入式</b>T527核心板<b class='flag-5'>打造</b>高效<b class='flag-5'>開發(fā)</b>新體驗

    怎么配置dlp6500二次開發(fā)的環(huán)境,可以使用VS2013嗎?

    我想請問一下,怎么配置dlp6500二次開發(fā)的環(huán)境,可以使用VS2013嗎?有沒有什么可以參考的文件,感謝!
    發(fā)表于 02-28 06:39

    DLP4500-C350REF如何在linux下借助SDK二次開發(fā)

    請問在哪里有二次開發(fā)環(huán)境配置文檔
    發(fā)表于 02-18 08:24

    2025嵌入式操作系統(tǒng)專業(yè)培訓班正式啟動!

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

    深居淺出AutoCAD二次開發(fā)

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

    SOLIDWORKS二次開發(fā)應用范圍與實例

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

    嵌入式系統(tǒng)開發(fā)與硬件的關系 嵌入式系統(tǒng)開發(fā)常見問題解決

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

    可以改TSW1405內(nèi)部程序或者是修改HSDC PRO的程序二次開發(fā)嗎?

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

    什么是嵌入式操作系統(tǒng)?

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

    嵌入式 Linux 操作系統(tǒng)配置

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