<strike id="kiyse"></strike>
  • <tr id="kiyse"></tr>
  • <strike id="kiyse"></strike><samp id="kiyse"><tbody id="kiyse"></tbody></samp>
    <strike id="kiyse"><s id="kiyse"></s></strike>
    <tr id="kiyse"></tr>
    <noframes id="kiyse"><code id="kiyse"></code></noframes>
    <th id="kiyse"></th>
    <samp id="kiyse"></samp>
  • <th id="kiyse"><s id="kiyse"></s></th>
  • 英創主板Python, C#實例之二 SQLite數據庫

     2020-10-16     作者:Emtronix         

      本文主要介紹在英創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#的高效簡潔的特性。

    国产精品无码素人福利不卡| 久久这里只有精品国产免费10| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲精品中文字幕无乱码| 国产精品无打码在线播放| 国内精品久久久久久久久齐齐| 无码精品A∨在线观看| 国语自产偷拍精品视频偷蜜芽| 国产乱子伦精品免费无码专区| 国内精品乱码卡1卡2卡3免费| 亚洲AV成人无码久久精品老人| 久久99亚洲综合精品首页| 国产SUV精品一区二区88L| 亚洲精品GV天堂无码男同| 精品国产V无码大片在线看| 久久99精品视免费看| 亚洲中文字幕无码久久精品1| 亚洲第一永久AV网站久久精品男人的天堂AV | 精品在线视频免费| 自拍偷自拍亚洲精品偷一| 98视频精品全部国产| 91久久精品电影| 久久久久久国产精品无码超碰| 国产精品丝袜一区二区三区| 精品国产亚洲男女在线线电影| 西瓜精品国产自在现线| 国产视频精品久久| 国内精品国语自产拍在线观看91| 亚洲精品综合在线影院| 精品久久久无码21p发布 | 亚洲精品乱码久久久久久V| 国产精品一区二区久久| 精品无码成人片一区二区98| 久久er99热精品一区二区| 无码人妻精品一区二区三18禁| 青青青国产精品国产精品久久久久| 老司机成人精品视频lsj| 中文字幕精品1在线| 中文字幕精品一区| 亚洲中文字幕久久精品无码APP | 亚洲综合精品成人|