freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-企業(yè)考勤系統(tǒng)的設計與實現(xiàn)(編輯修改稿)

2025-02-12 18:05 本頁面
 

【文章內(nèi)容簡介】 部分;負責對 M0 和上層服務,另一部分網(wǎng)頁和網(wǎng)頁控制部分,用戶通過 WEB 服務器,來訪問 A8,向主程序發(fā)命令來控制。 采集數(shù)據(jù)終端模塊描述 采集數(shù)據(jù)端包括三個模 塊: RFID 射頻模塊、 ZigBee 模塊、采集數(shù)據(jù)模塊。最主要的是采集數(shù)據(jù)端的操作各種傳感器模塊,對環(huán)境信息進行采集,還有一個重要的RFID 刷卡模塊,通過事先寫好的射頻卡,通過刷卡來實現(xiàn)倉庫的進出貨物功能,刷卡之后,直接會將卡內(nèi)的信息讀出來,顯示到用戶網(wǎng)頁端。 為了項目實時性能夠得到相應的提高,整個數(shù)據(jù)采集端的程序中采用多個中斷,當中斷發(fā)生時設置相應的標志位,主程序輪詢根據(jù)相應的標志位,來執(zhí)行相應的程序 系統(tǒng)時鐘中斷:實現(xiàn) 2 秒鐘發(fā)送一次環(huán)境信息數(shù)據(jù)。 RFID 中斷:有中斷來時讀取刷卡數(shù)據(jù), ZigBee 中斷 :有中斷時,讀數(shù)據(jù)。 用戶 PC 模塊描述 用戶可以通過網(wǎng)頁對倉庫信息進行監(jiān)控,以及對硬件的控制,主要通過嵌入式 13 Web 服務器,也就是 boa 網(wǎng)頁服務器對 A8 服務器端進行控制, boa 服務器自帶 CGI程序處理功能,用戶可以通過網(wǎng)頁端,來運行事先放進服務器文件系統(tǒng)中的 CGI 程序,直接從網(wǎng)頁與 CGI 程序交互可以給 A8 服務器主程序發(fā)消息,并且來控制 A8,并通過 A8 中的 M0 線程來得到 M0 端采集到的環(huán)境信息的動態(tài)數(shù)據(jù)的顯示。 功能模塊設計與接口設計 采集數(shù)據(jù)端主程序 編碼內(nèi)容 溫度傳感器、濕度傳感器、光 照傳感器。 輸入數(shù)據(jù)流 線程溫度、濕度、光照。 輸出數(shù)據(jù)流 相關檢測值。 功能描述 檢測溫度濕度和光照傳感器的值。 處理說明 每隔 2 秒獲取當前倉庫中是溫讀、濕度、光照和光照強度等信息,采集數(shù)據(jù)端傳遞采集值并封裝傳給 A8, A8 判斷數(shù)據(jù)然后返回相應的指令,比如打開蜂鳴器, led 燈、或者打開風扇等等。 BEEP 報警系統(tǒng) 編碼內(nèi)容 蜂鳴器及外設音響編碼。 輸入數(shù)據(jù)流 倉庫環(huán)境出現(xiàn)異常(著火)時,開啟蜂鳴器報警設備。 輸出數(shù)據(jù)流 蜂鳴器報警 led 燈亮提示代表有異常。 功能描述 通過 S5PC100 開發(fā)板蜂鳴 器來模擬報警系統(tǒng),完成相應的報警功能。 處理說明 14 驅動程序的加載 編寫驅動程序,插入到內(nèi)核,加載驅動程序。 創(chuàng)建設備節(jié)點 用 mkmod 命令創(chuàng)建設備節(jié)點,根據(jù)設備號來確定。 測試 首先交叉編譯測試程序,在開發(fā)板上執(zhí)行主程序可執(zhí)行程序,可以通過改變溫度傳感器的溫度值或者按鍵來測試是否能開啟報警功能。 當你聽到報警提示時,可在網(wǎng)頁上點擊關閉報警,即可可關閉蜂鳴器 。 LED 報警系統(tǒng) 編碼內(nèi)容 LED 驅動 編碼 。 輸入數(shù)據(jù)流 LED 對應的開關打開 /關閉。 輸出數(shù)據(jù)流 需要控制的 LED 亮 /滅。 功能描述 通過 led 燈來模擬倉庫燈具,完成控制燈具開閉的功能。 處理說明 LED 燈驅動的注冊 將 LED 驅動以模塊的形式插入到 linux 內(nèi)核之中,完成設備注冊,并得到相應的主設備號。 創(chuàng)建設備節(jié)點 完成 LED 驅動的注冊之后,用 mknod 創(chuàng)建鍵盤的設備節(jié)點。 測試 在開發(fā)板上運行測試 LED 驅動,觀察能否控制 LED 編寫 LED 控制線程 將 LED 控制線程以消息隊列的形式來接收命令并控制 LED 燈的亮滅。 15 攝像頭線程 編碼內(nèi)容 攝像頭 編碼 。 輸入數(shù)據(jù)流 LED 對應的開關打開 /關閉。 輸出數(shù)據(jù) 流 得到的圖片,保存在相應日期目錄下。 功能描述 如果有人闖入,或其他異?,F(xiàn)象,抓拍現(xiàn)場照片,并把圖片保存在相應的目錄中,圖片格式為 jpg。 網(wǎng)絡視頻功能。 處理說明 獲取驅動程序 配置 Linux 內(nèi)核 通過 make menuconfig 配置 Linux 內(nèi)核,讓內(nèi)核支持攝像頭。 編譯內(nèi)核 通過 make zImage,編譯內(nèi)核,并下載到開發(fā)板上運行。 將 USB 攝像頭接到開發(fā)板上 這個時候就攝像頭就能被驅動了。通過按鍵產(chǎn)生中斷來檢測是否可以拍照片。 如果有火災發(fā)生,或者有不法分子闖入(用按鍵 來模擬紅外線報警系統(tǒng)),那么系統(tǒng)程序通過 system 函數(shù)調用攝像頭應用程序來進行捕捉照片,連續(xù)拍幾張張并保存到指定位置。 16 第四章 詳細設計與實現(xiàn) 服務器主控程序端詳細設計 系統(tǒng)整體框架和線程間關系 系統(tǒng)整體框架 ( 1)通過采集數(shù)據(jù)端采集倉庫的環(huán)境信息和刷卡信息。 ( 2)采集到的數(shù)據(jù)再通過 ZigBee,把采集到的信息發(fā)送給服務器端; ( 3)主控程序的采集數(shù)據(jù)端線程來接收環(huán)境信息,并激活數(shù)息進行處理并發(fā)給采集數(shù)據(jù)端命令,用來控制采集數(shù)據(jù)終端; ( 4)攝像頭安裝到服務器上面用來采集圖 片,并存儲到服務器下的某一個定義好的文件夾下面; ( 5)通過在服務器上安裝 boa 網(wǎng)頁服務器,從而搭建嵌入式 web 服務器,使用戶通過網(wǎng)絡利用自己的計算機就能機進行隨時的監(jiān)控; ( 6)在網(wǎng)頁頁面上設置控制按鈕,比如說,設置最高或最低溫濕度和光照值按鍵,關掉報警按鈕。用來監(jiān)控設備,并識別用戶指令并進行相應動作; 線程間關系 服務器主控程序線程之間的關系框架圖如下圖 41 所示: 17 圖 41:服務器主控線程之間的關系構架圖 服務器主控程序中用到如下線程,分別編寫成不同的 .c 文件。 :主線程 . :處理消息隊列里請求的線程 . :更新共享內(nèi)存里的實時數(shù)據(jù) . :數(shù)據(jù)庫操作線程 . :接收采集數(shù)據(jù)端數(shù)據(jù)線程 . :采集數(shù)據(jù)端數(shù)據(jù)分析線程 . :采集數(shù)據(jù)端控制命令發(fā)送線程 . :服務器蜂鳴器控制線程 . :服務器 LED 模塊線程 . :紅 外 (按鍵模擬 )監(jiān)測線程 . :攝像頭模塊控制線程 . 數(shù)據(jù)描述 結構體描述,如表 41 所示: 18 表 41:結構體描述 結構體名 成員類型 成員名 功能描述 storage_goods_info unsigned char goods_type 物品類型 unsigned int goods_count 物品數(shù)量 storage_info unsigned char storage_status 倉庫開關狀態(tài) led_status 倉庫 LED 狀態(tài) buzzer_status 倉庫 Buzzer 狀態(tài) fan_status 倉庫風扇狀態(tài) signed char x 倉庫采集端三軸狀態(tài) y z char samplingTime[20] 采集數(shù)據(jù)的時間 float temperature 倉庫當前溫度 temperatureMAX 倉庫溫度上限 temperatureMIN 倉庫溫度下限 humidity 倉庫當前濕度 humidityMAX 倉庫濕度上限 humidityMIN 倉庫濕度下 限 illumination 倉庫當前光照 illuminationMAX 倉庫光照上限 illuminationMIN 倉庫光照下限 battery 倉庫采集端電池電壓 storage_goods_info goods_info[SIZE] 采集貨物信息 env_info_clien_addr storage_info storage_no[STORAGE_NUM] 所以倉庫實時信息 msg long type 消息隊列里的消息類型 19 部分全局變量描述,如表 42 所 示: 表 42:部分全局變量描述 類型 變量名 作用 pthread_cond_t cond_sqlite 數(shù)據(jù)庫線程被喚醒條件變量 cond_analysis 數(shù)據(jù)分析線程被喚醒條件變量 cond_uart_cmd M0 控制命令發(fā)送線程被喚醒條件變量 cond_client_request 處理消息隊列里請求的線程被喚醒條件變量 cond_infrared 紅外 (按鍵模擬 )監(jiān)測線程被喚醒條件變量 cond_buzzer A8 蜂鳴器控制線程被喚醒條件變量 cond_led A8 LED 模塊線程被喚醒條件變量 cond_camera 攝像頭模塊控制線程被喚醒條件變量 cond_refresh 更新共享內(nèi)存里的實時數(shù)據(jù)被喚醒條件變量 pthread_mutex_t mutex_slinklist 數(shù)據(jù)庫緩存互斥鎖 mutex_sqlite 數(shù)據(jù)庫線程互斥鎖 mutex_analysis 數(shù)據(jù)分析線程互斥鎖 mutex_uart_cmd M0 控制命令發(fā)送線程互斥鎖 mutex_client_request 處理消息隊列里請求的線程互斥鎖 mutex_buzzer A8 蜂鳴器控制線程互斥鎖 mutex_led A8 LED 模塊線程互斥鎖 mutex_camera 攝像頭模塊控制線程互斥鎖 20 數(shù)據(jù)庫操作 數(shù)據(jù)庫模塊流程圖及結構圖 sqlite 數(shù)據(jù)庫流程圖 程序中各個任務線程開始運行之前,主控制程序已經(jīng)開始運行了,數(shù)據(jù)庫的pthread_sqlite 線程就在其中 。用于存對數(shù)據(jù)庫操作的鏈表是由 pthread_sqlite 線程創(chuàng)建的,鏈表創(chuàng)建之后,立刻進入 while 循環(huán)。 循環(huán)過程當中, pthread_cond_wait 函數(shù)不做任何事情,進行睡眠等待,等待喚醒函數(shù) pthread_cond_signal 出現(xiàn)喚醒信號,喚醒之后再次進入 while 循環(huán),循環(huán)過程中,還要判斷鏈表頭是不是為空。如果鏈表頭不為空,則讀取第一個節(jié)點的內(nèi)容,把第一個節(jié)點中的內(nèi)容拿出來,把拿出來的內(nèi)容作為參數(shù)傳到 sqlite_task 函數(shù)中,數(shù)據(jù)庫操作完成之后并釋放節(jié)點,如此一直循環(huán)下去;如果鏈表頭為空,則直接跳出循環(huán),等待其他線程下一次對它喚醒,數(shù)據(jù)庫操作流程圖如圖 52 所示: 圖 42:數(shù)據(jù)庫操作流程圖 21 sqlite_task 數(shù)據(jù)庫操作結 構圖 在 pthread_sqlite 線程流程圖中,用到數(shù)據(jù)庫操作函數(shù) sqlite_task 函數(shù)。用來讀完節(jié)點信息的數(shù)據(jù)庫操作。對數(shù)據(jù)庫的操作主要;讀取 sqlite_operation 中的成員變量來完成的。通過 sqlite_operation 中的 table_select_mask 來判斷對數(shù)據(jù)庫中的哪個表進行操作是的,通過下圖三個結構體成員來判斷,例如,更新、查看、插入等操作。如下圖 43 所示: 圖 43: sqlite_task()結構圖 數(shù)據(jù)庫表 數(shù)據(jù)庫表一,如表 43 所示: 22 表 43: 倉庫環(huán)境表 temperatureMax 溫度最大值 當環(huán)境溫度大于最大值,需要發(fā)送報警信號 temperatureMin 溫度最小值 當環(huán)境溫度小于最小值,需要發(fā)送報警信號 humidityMax 濕度最大值 當環(huán)境濕度大于最大值,需要發(fā)送報警信號 humidityMin 濕度最小值 當環(huán)境濕度小于最小值,需要發(fā)送報警信號 illuminationMax 光照強度最大值 當環(huán)境光照強度大于最大值,需要發(fā)送報警信號 illuminationMin 光照強度最小值 當環(huán)境光照強度小于最小值,需要發(fā)送 報警信號 username 姓名 倉庫管理者姓名 password 密碼 進入倉庫時的,需要密碼驗證 數(shù)據(jù)庫表二,如表 14 所示: 表 44:倉庫溫濕度表 temperatureVal 環(huán)境溫度值 這個一個實時數(shù)據(jù), 1 秒采集一次 humidityVal 環(huán)境濕度值 這個一個實時數(shù)據(jù), 1 秒采集一次 illuminationVal 環(huán)境光照強度值 這個一個實時數(shù)據(jù), 1 秒采集一次 envTime 采集環(huán)境溫度的時間 采集環(huán)境溫度的時候,保存采集時間,方便管理者進行數(shù)據(jù)分析 數(shù)據(jù)庫表三,如表 45 所示 : 表 45:倉庫貨物表 goodsId 貨物編號 貨物編號,是貨物的唯一標識 goodsCount 貨物數(shù)量 倉庫中所有貨物的數(shù)量 goodsTime 貨物入庫時間 記錄貨物入庫的時間 數(shù)據(jù)接收模塊 功能描述 用來接收采集數(shù)據(jù)端通過 Zigbee 無線傳輸設備傳輸過來的消息 ,經(jīng)過服務器端接 23 收端的 Zigbee 模塊 ,再通過 USB 轉串口技術 ,而線程負責從串口讀取消息 ,并經(jīng)過判斷時候把消息再傳給數(shù)據(jù)處理模塊 ,此線程并繼續(xù)從串口接收消息。 數(shù)據(jù)描述 表 46:數(shù)據(jù)接收端數(shù)據(jù)描述 類型 名稱 功 能 Int dev_uart_fd 串口文件描述符 linklist linkHead 數(shù)據(jù)緩存鏈表頭 pthread_cond_t cond_analysis 數(shù)據(jù)處理模塊喚醒條件變量 pthread_
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1