<em id="vxn3k"></em>
  • <div id="vxn3k"></div>
    <em id="vxn3k"></em>
    1. <div id="vxn3k"><tr id="vxn3k"></tr></div>

          <div id="vxn3k"></div>
          
          
          <em id="vxn3k"></em>
          1. <optgroup id="vxn3k"><small id="vxn3k"><track id="vxn3k"></track></small></optgroup>
          2. <button id="vxn3k"><menu id="vxn3k"></menu></button>
          3. <delect id="vxn3k"></delect>

            英創主板Python, C#實例之二 SQLite數據庫

             2020/10/16    

              本文主要介紹在英創Linux工控主板(ESM8000、ESM7000和ESM6800H)上,采用Python和C#編程,實現SQLite數據庫訪問的方法。數據庫為應用程序展現的是純粹的數據,更便于像Python、C#這樣的高級語言處理。而數據的獲取則通過Linux系統的后端程序(Backend),采用效率更高的C來實現,以滿足數據采集過程中的協議需求和時序需求。從系統程序架構上看,SQLite數據庫把上層的Python, C#應用程序與后端的C程序連接在一起。


              本文的Python和C#實例,均采用Visual Studio Code作為基本的編程工具,其代碼可在主板 + ESMARC評估底板上運行,其基本的硬件環境采用采用ESM8000工控主板 + 評估底板構成,如下圖所示:


            esm8000套件側面2.png


              本文實例中SQLite數據庫包含以下信息:


            無標題文檔

            IDNameValue簡要說明
            INTTEXTTEXT字段數據類型
            0refresh-數據更新周期,ms單位
            1cpu-temperature-CPU芯片溫度,℃單位
            2cpu-payload-CPU當前負載率,包括各個核的負載率
            3eth0-網口信息,包括名稱、類型(RJ45、WiFi、4G等)、IP參數、連接狀態(down、up、信號強度)
            4eth1-
            5eth2-
            6-更多網口信息


              SQLite數據庫文件保存在”/mnt/mmc/sysinfo.db”。


              系統的程序架構由客戶應用程序、數據庫、后端程序組成,它們與硬件環境的關系如下圖所示:


            英創Linux主板的Python, C#實例之二 SQLite數據庫.png


              對簡單的接口操作,Python,C#可通過各自的通用IO庫來實現,如在《英創Linux主板的Python, C#實例簡介之一》一文中介紹的那樣。若接口通訊需要滿足特定的協議,或有特殊的實時性要求,則可采用C編程的后端程序來實現,訪問硬件獲得所需數據,更新至SQLite數據庫中。上層的Python,C#應用程序則直接訪問數據庫,無需關心數據獲取過程的細節。


            Python應用程序


              應用程序負載創建SQLite數據庫。


            英創Linux主板的Python, C#實例之二 SQLite數據庫.png


            C#應用程序


              創建工程后,需要從NuGet添加Microsoft.Data.SQLite類庫。


            英創Linux主板的Python, C#實例之二 SQLite數據庫.png


            英創Linux主板的Python, C#實例之二 SQLite數據庫.png


            后端C程序


              后端C程序打開已創建的SQLite數據庫,根據更新率,周期性地把CPU和網絡端口信息提交至數據庫。


              后端C程序源碼test_emdb.c可點擊下載,對不同主板需要相應的GCC編譯工具如下:


            主板類型GCC
            ESM6800cortexa7hf-neon-poky-linux-gnueabi
            ESM7000cortexa7hf-neon-poky-linux-gnueabi
            ESM6802cortexa9hf-neon-poky-linux-gnueabi
            ESM8000aarch64-poky-linux


              相對說來,后端C程序比上層的Python,C#程序要復雜得多,這也正好體現了Python,C#的高效簡潔的特性。

            日本亚洲欧美国产日韩ay-欧洲亚洲色视频综合在线-午夜少妇性开放影院-蜜芽国内精品视频在线观看