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

正文內(nèi)容

畢業(yè)論文-企業(yè)考勤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(參考版)

2025-06-10 10:06本頁面
  

【正文】 感謝爸爸媽媽,養(yǎng)育之恩,無以為報(bào), 你們每天健康快樂,是我現(xiàn)在最大的愿望?,F(xiàn)在自己已經(jīng)不是毛頭小伙子了,應(yīng)該肩負(fù)起自己肩上的責(zé)任。 最后,最應(yīng)該感謝的是我的家人和朋友,如果不是家人 的對自己的無私奉獻(xiàn),也沒有現(xiàn)在的自己。謝謝四年里你們給我的歡聲笑語。而現(xiàn)在能想到的卻都是我們的兄弟情義。 四年來 , 在 各位老師的 幫助下, 讓我在遇到困難時(shí)能夠勇敢面對 。 其次,感謝河南工業(yè)大學(xué)信息科學(xué)與工程學(xué)院的所有老師和同學(xué)們。在此特向王老師致以衷心的謝意。 這些不足之 處,會(huì)在今后的學(xué)習(xí)中不斷的完善和維護(hù), 下一步實(shí)現(xiàn) wifi 模塊,讓本系統(tǒng)能夠運(yùn)行在網(wǎng)絡(luò)環(huán)境中, 希望能夠達(dá)到更好的效果。 ,還沒實(shí)現(xiàn) wifi 模塊 。 ,容易分模塊測試。 ,演示攝像頭抓拍。 ,并異常報(bào)警。 unsigned int goods_count。 struct storage_goods_info goods_info[SIZE]。 float illuminationMAX。 float illumination。 float humifityMIN。 flaot temperatureMAX。 float temperature。 signed char z。 signed char x。 //商品數(shù)量 }。 //進(jìn)出倉庫 uint8_t goodsno。 //電池電量 char rfid_flag。 uint32_t lex。 //三軸信息 char y。 //數(shù)據(jù)類型 uint8_t temp[2]。 send_data(data, 24)。 memcpy (data, amp。 = 。 = 。 [0] = (battery*)/。 = read_z。 = read_x。 [0] = hum[0]。 [0] = temp[0]。 }。 uint8_t goodno。 命令字:各種用戶可用命令 校驗(yàn)碼:去掉前導(dǎo)頭和校驗(yàn)碼字節(jié)之外,所有通訊幀所含字節(jié)的異或值 正確:前導(dǎo)頭+通訊長度+上次所發(fā)送的命令字+數(shù)據(jù)域+校驗(yàn)碼 38 附錄一 通信結(jié)構(gòu)體 RFID 商品識(shí)別結(jié)構(gòu)體包含:數(shù)據(jù)類型、 I/O、商品編號、商品數(shù)量 ( 4 個(gè)字節(jié)) 刷卡信息填充結(jié)構(gòu)體: struct RfidEnv{ char rfid。命令發(fā)送的時(shí)候,會(huì)接到上一次發(fā)送的命令和數(shù)據(jù)內(nèi)容,他們可以用來作為校驗(yàn),讀響應(yīng)時(shí)可以發(fā)送 0數(shù)據(jù)給模塊。具體操作是:事先將數(shù)據(jù)寫到射頻卡里面,然后再刷卡的時(shí)候會(huì)將數(shù)據(jù)讀出來,然后,后續(xù)進(jìn)行出入庫操作。 0、 1格式信號如圖 414所示: 圖 414: 0、 1格式信號圖 結(jié)束信號 : Data引腳輸出 40位數(shù)據(jù),繼續(xù)輸出低電平 50us之后變輸入,由 于上拉電阻隨之變?yōu)楦唠娖?,記錄?shù)據(jù),等待外部信號的到來。 圖 412:溫濕度傳感器工作時(shí)序圖 外設(shè)讀取步驟如下所示: 第一步; 首先, DHT11 上電后,要等待 1秒,測試環(huán)境溫濕度數(shù)據(jù)并記錄,同時(shí) DHT11 的 DATA 數(shù)據(jù)線拉高并且一直保持; DATA引腳處于輸入狀態(tài),并一直檢測外部信號。 采集數(shù)據(jù)終端設(shè)備工作流程 采集數(shù)據(jù)終端主流程圖如圖 410 所示: 34 圖 410:采集數(shù)據(jù)終端主流 程圖 采集數(shù)據(jù)終端設(shè)備 各模塊功能描述 I、采用 DHT11 溫濕度傳感器對環(huán)境信息進(jìn)行采集; DHT11 溫濕度傳感器基本概述 溫濕度傳感器主要是為了采集倉庫中的實(shí)時(shí)溫濕度的信息, DHT11 溫濕度傳感器采用簡化的單總線通信,主機(jī)通過特定的時(shí)序?qū)ζ溥M(jìn)行訪問,它一次傳送給主機(jī)40 位數(shù)據(jù),高位先出,其數(shù)據(jù)格式和下圖 411 溫濕度傳感器工作原理如下: 圖 411:溫濕度傳感器的工作原 理 數(shù)據(jù)位 3932 3124 2316 158 70 含義 溫度整數(shù)數(shù)據(jù) 溫度小數(shù)數(shù)據(jù) 濕度整數(shù)數(shù)據(jù) 濕度小數(shù)數(shù)據(jù) 校驗(yàn)位 35 DHT11 傳感器工作時(shí)序圖 主機(jī)發(fā)送開始信號, DHT11 轉(zhuǎn)換成告訴模式,等待信號結(jié)束 結(jié)束, DHT11 發(fā)送響應(yīng)信號,發(fā) 40bit 的數(shù)據(jù),觸發(fā)一次采集。 多個(gè) ZigBee 節(jié)點(diǎn)便于組成無線通信網(wǎng)。無論在抗干擾能力上,或者是處理數(shù)據(jù)的速度上還是在功耗上,它都很強(qiáng),它有足夠的能力能夠用來作為倉庫管理中的數(shù)據(jù)采集端設(shè)備。 蜂鳴器模塊 功能描述 用來控制蜂鳴器的打開或關(guān)閉的狀態(tài); 數(shù)據(jù)描述 表 49:蜂鳴器模塊數(shù)據(jù)描述 ( 1)互斥鎖 名稱 類型 功能 mutex_buzzer pthread_mutex_t 蜂鳴器模塊控制線程互斥鎖 ( 2)條件變量 名稱 類型 功能 cond_buzzer pthread_cond_t 蜂鳴器模塊控制線程被喚醒條件變量 ( 3)其他 名稱 類型 功能 dev_buzzer_mask unsigned char 蜂鳴器模塊操作掩碼 dev_buzzer_fd int 蜂鳴器模塊設(shè)備節(jié)點(diǎn) BUZZER_ON 宏定義 控制蜂鳴器開 BUZZER_OFF 宏定義 控制蜂鳴器關(guān) 流程圖 蜂鳴器模塊 流程圖如圖 47 所示 : 31 蜂 鳴 器 線 程p t h r e a d _ b u z z e r ( )等 待 喚 醒p t h r e a d _ c o n d _ w a i t ( )獲 取 蜂 鳴 器 模 塊 掩 碼d e v _ b u z z e r _ m a s k控 制 蜂 鳴 器I o c t l( d e v _ b u z z e r _ f d )信 號 喚 醒執(zhí) 行 完 畢 返 回打 開 設(shè) 備 文 件o p e n 圖 47:蜂鳴器 模塊流程圖 LED 模塊 功能描述 控 制服務(wù)器端上 led 的 亮或滅的情況; 數(shù)據(jù)描述 表 410: LED 模塊數(shù)據(jù)描述 ( 1)互斥鎖 變量 名稱 類型 功能 mutex_led pthread_mutex_t led 模塊控制線程互斥鎖 ( 2) 條件變量 名稱 類型 功能 cond_led pthread_cond_t led 模塊控制線程被喚醒條件變量 ( 3) 其它變量 名稱 類型 功能 dev_led_mask unsigned char led 模塊操作掩碼 dev_led_fd int led 模塊設(shè)備節(jié)點(diǎn) LED_ON 宏定義 控制 led 打開 LED_OFF 宏定義 控制 led 關(guān)閉 32 流程圖 LED 模塊流程圖如圖 48 所示: l e d 線 程p t h r e a d _ l e d ( )等 待 喚 醒p t h r e a d _ c o n d _ w a i t ( )獲 取 l e d 模 塊 掩 碼d e v _ l e d _ m a s k控 制 A 8 板 上 4 個(gè) l e d 開 關(guān)I o c t l( d e v _ l e d _ f d , , )信 號 喚 醒執(zhí) 行 完 畢 返 回打 開 設(shè) 備 文 件o p e n 圖 48: LED 模塊流程 圖 攝像頭模塊 功能描述 控制服務(wù)器上攝像頭監(jiān)控倉庫。 28 數(shù)據(jù)描述 表 48:處理客戶端請求模塊數(shù)據(jù)描述 結(jié)構(gòu)體名稱 成員類型 成員名稱 功能 struct setEnv int temMAX 溫度上限 temMIN 溫度下限 humMAX 濕度上限 humMIN 濕度下限 illMAX 光感上限 illMIN 光感下限 數(shù)據(jù)類型 數(shù)據(jù)名稱 功能 unsigned char dev_led_mask led 設(shè)備操作掩碼 dev_camera_mask 攝像頭設(shè)備操作掩碼 dev_buzzer_mask 蜂鳴器設(shè)備操作掩碼 dev_uart_mask 串口發(fā)送命令掩碼 pthread_cond_t cond_led LED 設(shè)備被喚醒條件變量 cond_camera 攝像頭設(shè)備被喚醒條件變量 cond_buzzer 蜂鳴器設(shè)備被喚 醒條件變量 cond_refresh 內(nèi)存刷新線程被喚醒條件變量 cond_uart_cmd 串口發(fā)送命令線程被喚醒條件變量 cond_sqlite 數(shù)據(jù)庫線程被喚醒條件變量 pthread_mutex_t mutex_global 倉庫實(shí)時(shí)信息變量保護(hù)互斥鎖 mutex_uart_cmd 串口發(fā)送命令模塊互斥鎖 29 數(shù)據(jù)類型 pthread_mutex_t 數(shù)據(jù)名稱 功能 mutex_led LED 模塊互斥鎖 mutex_buzzer 蜂鳴器模塊互斥鎖 mutex_camera 攝像頭模塊互斥鎖 mutex_slinklist 數(shù)據(jù)庫數(shù)據(jù)緩存鏈表互斥鎖 int msgid 消息隊(duì)列 ID 流程圖 處理客戶請求模塊流程圖如圖 46 所示: 創(chuàng) 建 消 息 隊(duì) 列消 息 隊(duì) 列 里 是否 有 消 息無判 定 消 息 類 型取 出 消 息有L E D 設(shè) 備 控 制蜂 鳴 器 設(shè) 備 控 制攝 像 頭 設(shè) 備 控 制M 0 控 制 命 令 發(fā) 送倉 庫 上 下 限 改 變1 L2 L3 L4 L5 L加 入 數(shù) 據(jù) 庫 處 理 鏈表 緩 存 , 激 活 數(shù) 據(jù) 庫線 程對 設(shè) 置 值 進(jìn) 行判 斷 是 否 合 理合 理將 操 作 值 傳 給 L E D設(shè) 備 操 作 全 局 變 量激 活 L E D 設(shè) 備 線 程將 操 作 值 傳 給 蜂 鳴器 設(shè) 備 操 作 全 局 變量激 活 蜂 鳴 器 設(shè) 備將 操 作 值 傳 給 攝 像頭 設(shè) 備 操 作 全 局 變量激 活 攝 像 頭 設(shè) 備加 入 M 0 發(fā) 送 命 令鏈 表 , 并 激 活 發(fā) 送 命令 線 程報(bào) 警 短 信 號 碼 設(shè) 置1 0 L根 據(jù) 收 到 的 I P 和 網(wǎng)關(guān) 開 啟 w i f i 設(shè) 備1 1 L 圖 46:處理客戶請求模塊流程圖 詳細(xì)說明 本模塊主要是對硬件設(shè)備的操作,主要接收從消息隊(duì)列里的請求 ,包括服務(wù)器端與數(shù) 據(jù)采集端上的硬件資源的操作 ,并且能接收 CGI 網(wǎng)頁端修改倉庫環(huán)境信息的各種 30 最大和最小值 ,本線程主要擔(dān)任的是一個(gè)數(shù)據(jù)的轉(zhuǎn)發(fā)的角色 ,因?yàn)橥ㄐ诺慕Y(jié)構(gòu) 體,在發(fā)送線程端與硬件設(shè)備之間已經(jīng)定義好了相應(yīng)的協(xié)議。 b u f ) 。 b u f ) 。 //設(shè)置終端參數(shù) } 25 數(shù)據(jù)處理模塊 功能描述 數(shù)據(jù)接收線程接收到數(shù)據(jù)處理之后,激活數(shù)據(jù)處理模塊,用來處理接收到的信息 ,接收到的信息是規(guī)律規(guī)定的 ,所以本模塊對數(shù)據(jù)解析后 ,激活數(shù)據(jù)庫線程保 存數(shù)據(jù) ,激活內(nèi)存刷新數(shù)據(jù) ,更新實(shí)時(shí)環(huán)境信息,并判斷是否正常 ,不正常,則要激活向采集數(shù)據(jù)端發(fā)送命令的線程,發(fā)送命令。 tcsetattr(fd,TCSANOW,amp。 //設(shè)置波特率為 115200 cfsetospeed(amp。 cfsetispeed(amp。 //回車不轉(zhuǎn)為換行 = 0。 //允許輸入奇偶校驗(yàn) amp。= ~CSTOPB。 //不實(shí)用 RTS/CTS流控制 |= CS8。 //清目前字符長度 amp。 //忽略調(diào)制調(diào)解器線路狀態(tài) ,使用接收器 amp。options)。 void serial_init(int fd) { struct termios options。 extern pthread_cond_t cond_analysis。然后該線程通過 read串口進(jìn)行睡眠 ,如果有數(shù)據(jù)傳過來 ,就從該串口里把數(shù)據(jù) 讀出來 ,并判斷數(shù)據(jù)包的 head是否正確 ,如果 head正確,那么就把數(shù)據(jù)讀出來 ,加入數(shù)據(jù)鏈表緩存 .讀串口的詳細(xì)過程如下所示: include include define LEN_ENV 20 define LEN_RFID 4 extern int dev_uart_fd。如下圖 43 所示: 圖 43: sqlite_task()結(jié)構(gòu)圖 數(shù)據(jù)庫表 數(shù)據(jù)庫表一,如表 43 所示: 22 表 43:倉庫環(huán)境表 temperatureMax 溫度最大
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1