<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>
  • 英創(chuàng)主板Python, C#實(shí)例之二 SQLite數(shù)據(jù)庫

     2020-10-16     作者:Emtronix         

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


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


    esm8000套件側(cè)面2.png


      本文實(shí)例中SQLite數(shù)據(jù)庫包含以下信息:


    無標(biāo)題文檔

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


      SQLite數(shù)據(jù)庫文件保存在”/mnt/mmc/sysinfo.db”。


      系統(tǒng)的程序架構(gòu)由客戶應(yīng)用程序、數(shù)據(jù)庫、后端程序組成,它們與硬件環(huán)境的關(guān)系如下圖所示:


    英創(chuàng)Linux主板的Python, C#實(shí)例之二 SQLite數(shù)據(jù)庫.png


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


    Python應(yīng)用程序


      應(yīng)用程序負(fù)載創(chuàng)建SQLite數(shù)據(jù)庫。


    英創(chuàng)Linux主板的Python, C#實(shí)例之二 SQLite數(shù)據(jù)庫.png


    C#應(yīng)用程序


      創(chuàng)建工程后,需要從NuGet添加Microsoft.Data.SQLite類庫。


    英創(chuàng)Linux主板的Python, C#實(shí)例之二 SQLite數(shù)據(jù)庫.png


    英創(chuàng)Linux主板的Python, C#實(shí)例之二 SQLite數(shù)據(jù)庫.png


    后端C程序


      后端C程序打開已創(chuàng)建的SQLite數(shù)據(jù)庫,根據(jù)更新率,周期性地把CPU和網(wǎng)絡(luò)端口信息提交至數(shù)據(jù)庫。


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


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


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

    国产精品成人国产乱一区| 91午夜精品亚洲一区二区三区| 国产精品无码一区二区在线观| 亚洲精品国产成人片| 日日夜夜精品免费视频| 全球AV集中精品导航福利| 国产精品区AV一区二区| 亚洲av永久中文无码精品| 久久精品一区二区三区四区| 国产成人精品怡红院在线观看| 国产毛片片精品天天看视频| 久久久久亚洲精品成人网小说 | 精品人妻中文无码AV在线 | 亚洲日韩精品无码AV海量| 亚洲av午夜成人片精品网站| 国产成人精品久久一区二区三区av| 国产精品怡红院永久免费| 久久久久人妻精品一区蜜桃| 久久精品国产99久久久香蕉| 精品午夜久久网成年网| 热久久视久久精品18| 99精品视频免费观看| 国精品无码一区二区三区在线| 一本大道无码日韩精品影视| 精品日产卡一卡二卡三入口 | 免费精品无码AV片在线观看| 国内精品卡1卡2卡区别| 国产天堂亚洲精品| 1313午夜精品理论片| 精品国产a∨无码一区二区三区 | 久久精品国产亚洲av麻豆图片 | 精品视频无码一区二区三区| 国产亚洲精品观看91在线| 亚洲精品成人片在线观看| 国产精品自线在线播放| 91精品国产麻豆国产自产在线 | 伊人久久精品线影院| 亚洲精品乱码久久久久久按摩 | 91麻豆精品在线观看| 国产三级精品三级在线观看| 国产精品免费观看久久|