国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于物聯(lián)網(wǎng)技術(shù)的考勤系統(tǒng)設(shè)計與實現(xiàn)

2018-07-12 10:42:54潘潔趙翠芹梁雪閆列友蔣聯(lián)周
電腦知識與技術(shù) 2018年12期
關(guān)鍵詞:嵌入式技術(shù)物聯(lián)網(wǎng)技術(shù)

潘潔 趙翠芹 梁雪 閆列友 蔣聯(lián)周

摘要:在物聯(lián)網(wǎng)的春風(fēng)沐浴下,從低成本和低功耗出發(fā),利用STM32芯片搭建一個智能打卡的考勤系統(tǒng),幫助人們在惜時如金的生活中快速解決上班、上課等的考勤問題。

關(guān)鍵詞:物聯(lián)網(wǎng)技術(shù);嵌入式技術(shù);考勤系統(tǒng)

中圖分類號:TP3 文獻標(biāo)識碼:A 文章編號:1009-3044(2018)12-0009-02

1 引言

物聯(lián)網(wǎng)工程專業(yè)屬于典型的跨學(xué)科、跨平臺的交融學(xué)科,涉及軟件和硬件方面的綜合應(yīng)用知識。物聯(lián)網(wǎng)就是實現(xiàn)讓“物開口說話”,利用感知識別設(shè)備將物理世界的量轉(zhuǎn)換為計算機能處理的信息量,然后通過無線移動網(wǎng)絡(luò)進行傳輸,與互聯(lián)網(wǎng)結(jié)合形成的一個“萬物為一家,一網(wǎng)聯(lián)天下”的巨型網(wǎng)絡(luò)。物聯(lián)網(wǎng)的核心技術(shù)之一就是嵌入式技術(shù),尤其是ARM架構(gòu)的嵌入式技術(shù)。嵌入式是一個狼煙四起的一個市場,各個企業(yè)之間的格局也在發(fā)生著巨大變化,是行業(yè)間的核心競爭力。嵌入式技術(shù)是智能終端的風(fēng)向標(biāo),是科技圈談?wù)摰慕裹c,也是主流市場。嵌入式ARM技術(shù)已經(jīng)“破繭成蝶”,并進軍了智能設(shè)備市場,它借助智能設(shè)備平臺,將嵌入式技術(shù)應(yīng)用到99%的智能終端中,這些智能終端包括智能手機、Android設(shè)備、閱讀器、平板電腦iPhone和iPad等,目前,已經(jīng)有51 億枚 ARM 芯片用于智能終端。

隨著科技的進步,尤其是像物聯(lián)網(wǎng)這樣的專業(yè),需要學(xué)習(xí)的技術(shù)實在是太多,每一個技術(shù)寫出來就是卷帙浩繁的書籍,物聯(lián)網(wǎng)技術(shù)涉及軟件知識和硬件知識,屬于雨露均沾的技術(shù)。硬件方面需要掌握51單片機系列、嵌入式STM32[1]和A8網(wǎng)關(guān)系統(tǒng)的硬件PCB電路設(shè)計和原理圖;軟件方面需要從語言、操作系統(tǒng)、調(diào)試工具等方面的各種精通。這些技術(shù)有多種,除了看是否是受到開發(fā)者的青睞,還要考慮是否是業(yè)界所需。教師上課的50分鐘就顯得彌足珍貴。隨著高校學(xué)生擴招的趨勢,百人上課已經(jīng)是司空見慣不足為奇,利用上課時間點名,必然會帶來耗時問題。遲到和逃課現(xiàn)象在每個學(xué)校都會發(fā)生,遲到會影響課堂秩序[2]。對于逃課,老師又不可能每堂課去點名,即使偶爾的點名也會出現(xiàn)關(guān)系好的同學(xué)幫答到的現(xiàn)象。這就形成了課時少,講解內(nèi)容多的矛盾。為了解決這一矛盾,設(shè)計了一個基于物聯(lián)網(wǎng)技術(shù)的考勤系統(tǒng)。CPU采用的是ARM Cortex-M7的STM32F767芯片,外設(shè)主要是DCMI接口的OV5640攝像頭、FSMC接口的TFT液晶屏和人體傳感器。STM32F767芯片的開發(fā)環(huán)境是在Keil uVision5,上位機的開發(fā)環(huán)境是Visual Studio,后臺數(shù)據(jù)庫采用的是SQL Server。手機端APP產(chǎn)生學(xué)生學(xué)號的二維碼,STM32F767外接人體傳感器,當(dāng)傳感器檢測到有人接近時,打開OV5640攝像頭,掃描手機端的二維碼。STM32F767主控芯片識別二維碼,通過DMA方式把識別的二維碼數(shù)據(jù)發(fā)送到TFT液晶屏顯示出來,并通過USART串口發(fā)送到上位機數(shù)據(jù)庫里,上位機收到數(shù)據(jù)后與后臺數(shù)據(jù)庫進行校對,最后通過語音播報的方式播報打卡信息。

2 系統(tǒng)總的功能模塊

考勤系統(tǒng)的總模塊包括硬件模塊和軟件模塊,如圖1所示。硬件模塊主要是STM32F767主控制器、OV5640攝像頭、TFT液晶顯示屏、人體傳感器和串口;軟件模塊包括前臺和后臺數(shù)據(jù)庫,后臺數(shù)據(jù)庫主要用來保存考勤學(xué)生信息相關(guān)信息,前臺主要是將考勤的信息通過用戶界面展示給任課教師,主要是實現(xiàn)串口監(jiān)測、串口數(shù)據(jù)獲取、考勤信息顯示和語言播報。

3 硬件模塊

硬件模塊如圖1所示。是基于RAM Cortex-M7架構(gòu)進行嵌入式系統(tǒng)設(shè)計與編寫實現(xiàn)的。硬件資源主要有ATK-OV5640 攝像頭模塊、 TFT液晶屏模塊(RGB 屏、MCU 屏均可)、 LED小燈(DS0接PB1,DS1接PB2)、 按鍵(KEY0\KEY1\KEY2\KEY_UP)、 IO 擴展芯片 PCF8574、 蜂鳴器(連接在IO擴展芯片PCF8574上) 和外部SDRAM,如圖2所示。

4 軟件設(shè)計

軟件設(shè)計主要包括硬件驅(qū)動開發(fā)、后臺數(shù)據(jù)庫操作和上位機用戶軟件設(shè)計。

4.1 硬件驅(qū)動開發(fā)

硬件驅(qū)動開發(fā)的環(huán)境是keil uvision5,主要是對硬件資源的驅(qū)動。主要功能是對開啟攝像頭,并將攝像頭傳回的二維碼進行解碼,解碼函數(shù)的原型為void qr_decode(u16 imagewidth,u16 *imagebuf),兩個參數(shù)是識別器的寬度和RGB圖像幀數(shù)據(jù);攝像頭數(shù)據(jù)DMA接收完成中斷回調(diào)函數(shù)void qr_dcmi_rx_callback(void);圖像顯示函數(shù)為void qr_show_image(u16 xoff,u16 yoff,u16 width,u16 height,u16 *imagebuf),其中參數(shù)為圖像顯示坐標(biāo)以及圖像的寬高以及RGB圖像數(shù)據(jù)緩沖區(qū);人體傳感器處理函數(shù)void mansensor();圖像識函數(shù)atk_qr_decode(qr_img_width,qr_img_width,bmp,bartype, result),其中參數(shù)分別為要識別圖像的寬高以及要識別的條碼類型、內(nèi)存和識別結(jié)果;初始化識別庫函數(shù)u8 atk_qr_init(void);識別結(jié)束函數(shù)void atk_qr_destroy(void)等。數(shù)據(jù)傳輸協(xié)議主要是通過IIC協(xié)議和SCCB協(xié)議進行傳輸。

4.2 后臺數(shù)據(jù)庫

本系統(tǒng)可以供上課考勤使用,數(shù)據(jù)庫使用SQL Server。具有管理學(xué)生考勤信息情況功能。數(shù)據(jù)庫表主要包括學(xué)生信息表和學(xué)生考勤表。學(xué)生信息表用來存儲學(xué)生的詳細信息,表結(jié)構(gòu)如表1所示。學(xué)生考勤表用來存儲考勤學(xué)生相應(yīng)信息,表結(jié)構(gòu)如表2所示。

4.3 上位機前臺開發(fā)

該平臺建立在Visual Studio 2017軟件環(huán)境中,開發(fā)的語言是結(jié)合了c++和java優(yōu)勢的C#語言。軟件前臺使用C#語言。上位機軟件主要實現(xiàn)的功能是串口檢測、串口數(shù)據(jù)的獲取、考勤信息的顯示和語音播報。開發(fā)版供電時,上位機就會檢測到相應(yīng)的串口,然后打開串口通道;當(dāng)開發(fā)版識別到二維碼數(shù)據(jù)后,通過串口發(fā)送至上位機并顯示出來;獲取到串口數(shù)據(jù)后,將數(shù)據(jù)與后臺的數(shù)據(jù)進行匹配,當(dāng)匹配成功,則會顯示出來,同時進行語音播報。

軟件中提供了SerialPort類,該類實現(xiàn)了串口資源操作相關(guān)功能。命名空間為System.IO.Ports。程序代碼編寫過程中,首先用SerialPort()構(gòu)造函數(shù)初始化SerialPort 類的新實例,接著SerialPort.GetPortNames()函數(shù)獲取當(dāng)前計算機串行端口名稱數(shù)組,并配置串口參數(shù)。receiveComDataRun()實現(xiàn)串口接收解析,用while循環(huán)等待,確保是從一個數(shù)據(jù)幀的開頭開始接收。定義一個字符數(shù)組,用來存放串口接發(fā)送過來的數(shù)據(jù)。為了避免重復(fù)考勤,需要過濾掉重復(fù)顯示。

串口接收后的數(shù)據(jù)需要存入到后臺數(shù)據(jù)庫,需要加入System.Data.SqlClient、 System.Data.Sql和System.Data.Odbc這三個命名空間。建立一個數(shù)據(jù)庫連接對象SqlConnection,告訴它做什么,走什么路徑。創(chuàng)建數(shù)據(jù)庫集ds,調(diào)用Fill方法,先去數(shù)據(jù)庫查找數(shù)據(jù),并將打卡信息存入到數(shù)據(jù)庫中。對打卡成功的同學(xué)需要進行語音播報,調(diào)用SpeechLib庫,創(chuàng)建一個SpeechVoiceSpeakFlags()方法;創(chuàng)建了一個語音實例SpVoice(),可以對朗讀速度和音量進行調(diào)節(jié)。

5 系統(tǒng)實現(xiàn)

學(xué)生手機上安裝一個二維碼生成器的APP,能輸入學(xué)生學(xué)號就能產(chǎn)生相應(yīng)的二維碼;開啟開發(fā)板和上位機。當(dāng)人體傳感器檢測到有人時,STM32開發(fā)板會開啟攝像頭;將二維碼對準(zhǔn)攝像頭進行掃描,掃描成功后蜂鳴器會發(fā)出“嘀”的一聲;芯片獲取到二維碼圖像后會對其進行處理,即圖像預(yù)處理,包括圖像校正、二值化、去噪、找三個尋像圖形、根據(jù)尋像圖形中心確定旋轉(zhuǎn)角度再取樣網(wǎng)格,采樣數(shù)據(jù),最后將圖像轉(zhuǎn)化為數(shù)據(jù)矩陣再進行解碼;將解碼后的結(jié)果顯示在LCD液晶屏左下方中,同時通過串口將數(shù)據(jù)傳給上位機;上位機將受到的數(shù)據(jù)與后臺數(shù)據(jù)庫進行校對,最終將結(jié)果顯示出來并且以語音形式播報出來;最后將以及考勤的學(xué)生的學(xué)號和打卡時間存儲在后臺數(shù)據(jù)庫的數(shù)據(jù)表中。其結(jié)果如圖3所示。

6 總結(jié)

利用低成本低功耗的芯片搭建具有考勤功能的模塊。上課之前,學(xué)生只要掃掃考勤機上的二維碼,即可實現(xiàn)點名。解決上課點名、上班打卡的費時問題。手機打卡可有效避免此問題,因為經(jīng)過服務(wù)器綁定后,每個人的手機就代表自己,如果你要想讓別人幫你打卡,那么你就必須將手機放在同學(xué)那里,一般沒人會這樣做,所以不會發(fā)生代打卡,人情答到現(xiàn)象。所以,手機打卡會在一定程度上起到促進教學(xué)質(zhì)量的效果!

參考文獻:

[1] 張洋,劉軍,嚴(yán)漢字,等.原子教你玩STM32(庫函數(shù)版)[M].北京:北京航空航天大學(xué)出版社,2016.

[2] 丁同.基于ARM的射頻識別考勤系統(tǒng)的研究與設(shè)計[D].安徽理工大學(xué),2017.

猜你喜歡
嵌入式技術(shù)物聯(lián)網(wǎng)技術(shù)
基于S3C2440處理器系統(tǒng)的數(shù)字圖像處理技術(shù)和嵌入式技術(shù)結(jié)合機制
物聯(lián)網(wǎng)技術(shù)在智能車輛管理中的應(yīng)用探究
商情(2016年40期)2016-11-28 11:05:43
基于物聯(lián)網(wǎng)技術(shù)下的高校固定資產(chǎn)清查
中國市場(2016年41期)2016-11-28 05:39:01
探究物聯(lián)網(wǎng)技術(shù)對國民經(jīng)濟核算發(fā)展的影響
商情(2016年39期)2016-11-21 08:47:03
物聯(lián)網(wǎng)技術(shù)在設(shè)備管理中的應(yīng)用
遠程監(jiān)控工作中嵌入式技術(shù)應(yīng)用
基于Arduino的物聯(lián)網(wǎng)技術(shù)下校園路燈控制的實現(xiàn)與應(yīng)用
基于物聯(lián)網(wǎng)的汽車生產(chǎn)管理系統(tǒng)設(shè)計與應(yīng)用
基于視覺反饋的智能環(huán)境偵察車的研究
嵌入式技術(shù)與工程裝備智能信息化研究
绥宁县| 同心县| 水富县| 德昌县| 重庆市| 连江县| 白朗县| 恭城| 昌乐县| 盐源县| 阿拉善盟| 平乐县| 永顺县| 平塘县| 绵竹市| 延川县| 浪卡子县| 宣威市| 确山县| 舟山市| 大港区| 龙川县| 大洼县| 方山县| 九龙县| 溧水县| 巫山县| 南靖县| 甘谷县| 枣阳市| 磴口县| 洞口县| 山东| 姜堰市| 儋州市| 洛浦县| 余姚市| 东兰县| 通山县| 伊川县| 松原市|