新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于Linux操作系統的射頻識別安檢設計方案

        基于Linux操作系統的射頻識別安檢設計方案

        作者: 時間:2011-05-23 來源:網絡 收藏

          參數1是調用打開數據庫函數sqlite3_open()打開的數據庫對象。

          參數2 是一條待執行的SQL語句,其語法格式同標準SQL語言規范一樣,如創建 table時插入的記錄如下:

          create table student(id varchar(10) primary key, age smallint);

          此語句創建了名為student的表,表中定義了id(學號)和年紀兩個變量,其中id是主鍵。

          Insert into student values(12345678,21);

          此語句向student表中插入一組數據(12345678,21),其中學號為12345678,學生年齡為21。

          對于數據庫的其他操作,如數據庫更新、修改、查找等用法同上。

          參數3 sqlite3_callback是自定義的回調函數,對執行結果的每一行都執行一次這個函數。

          參數4 void *是調用者所提供的指針,你可以傳遞任何一個指針參數到這里,這個參數最終會傳到回調函數里,如果不需要傳遞指針給回調函數,可以填NULL。

          參數5 char ** errmsg是錯誤信息。sqlite3里面有很多固定的錯誤信息。執行sqlite3_exec之后,如果執行失敗則可以查閱這個指針,即可知道執行過程中錯誤發生的位置。

          3.3 串口同sqlite3通信測試與分析

          為了驗證sqlite3數據庫在嵌入式[3-4]終端下的執行效率和穩定性,為此做了一個簡單的測試實驗:通過上位機程序向嵌入式終端的串口定時發送字符串;嵌入式終端接收到字符串便立即寫入到下位機的數據庫中。自后查看數據中的數據,看看有沒有遺漏和誤碼。上位機的程序使用VC6.0開發,整個程序界面只設了一個按鍵,按下按鍵,上位機就向嵌入式Linux終端不停地發送字符串數據,按鍵響應程序如下:


          可見程序是個定時100 ms便發送一條字符串的循環,而且發送的每一條字符串事先通過str.Format格式化為固定長度,本例中是11 B。按下按鍵后發送的第一條字符串為:“第1條記錄”,每發送一條字符串里面的數字加“1”,這樣寫到數據庫中就可以很清楚地查看有沒有遺漏和誤碼,而且可以通過修改Sleep函數的延時參數檢測出嵌入式Linux終端下sqlite3數據庫操作的速度。

          下位機嵌入式Linux終端的程序為:先創建一個數據庫文件test.db,接著就是一個死循環,串口不停地查找有沒有數據寫入,當檢測到數據時,便寫入到test.db中,若寫入有誤,則立即跳出循環,終止程序。


          4 結語

          整個測試根據上位機串口發送的頻率不同做了多組實驗,每組實驗寫入1 000個數據,最終結果分析如下:上位機在定時80 ms左右或大于80 ms的情況下發送數據時,數據庫寫入的誤碼率為零;當定時時間小于80 ms時,隨著定時時間變小誤碼率會越來越高。通過數據分析可知原因有以下幾點:一是數據庫本身寫入需用時幾十毫秒,二是SD卡并非高速讀寫設備,當數據還未完全寫入數據庫時若有新數據發過來,則下次讀寫將會發生難以估計的錯誤。實驗還得出了當把數據庫文件寫入到系統Flash上的總耗時約為50 ms,比寫入SD卡中約少30 ms。不過就80 ms左右的一次讀寫速度而言,嵌入式數據庫sqlite3執行效率和穩定性非常可觀,現在一般的RFID讀寫器通過串口執行一條指令的時間也需幾十毫秒的時間,因而使用sqlite3數據庫在執行速率和穩定性上對于系統中RFID讀寫數據的處理可以很好地達到要求,而且sqlite3還支持數據加密,安全性同樣非常出色。


        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 剑川县| 嵩明县| 周至县| 怀柔区| 武义县| 本溪| 犍为县| 互助| 江西省| 天柱县| 加查县| 琼结县| 抚宁县| 壶关县| 石柱| 托克逊县| 太谷县| 南宁市| 商河县| 乡城县| 潜江市| 喀喇沁旗| 芮城县| 延安市| 沁阳市| 抚顺市| 札达县| 衢州市| 图片| 广饶县| 东光县| 阳谷县| 三河市| 永定县| 陆良县| 长白| 平乡县| 茌平县| 自贡市| 阿瓦提县| 左云县|