999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于開源OpenWrt的認證路由器定點考勤*

2018-08-08 07:31:40
單片機與嵌入式系統應用 2018年8期
關鍵詞:信息系統設計

(鄭州大學 信息工程學院,鄭州 450001)

引 言

現今社會,人力資源管理是現代企業工作的重中之重,其有效性嚴重影響企業發展,進一步影響企業的興衰成敗[1]。傳統的企業管理方式,例如在公司辦公時刷卡簽到、外勤辦公時電話查勤、月末匯總考勤信息時用紙質報表或電腦應用軟件[2]等方式擁有如下弊端:第一,考勤數據統計工作量大,而且誤差較大;第二,容易出現簽而未到、代打卡等情況。隨著社會節奏的加快,企業對管理的便捷、真實、高效的需求日益迫切。

移動終端的普及為解決這一難題提供了契機[3]。但是手機的室內定位精確度較低,不能滿足企業管理室內考勤真實有效的要求。傳統的室內考勤,如RFID[4]、指紋識別[5]和臉部識別[6]等雖解決了室內考勤問題,但是其效率不高,不能滿足現今企業對管理的高效要求。

隨著科技的發展,WiFi室內定位技術因其容易安裝、總精度高,且易于整合的優點逐漸走進人們視野。普通路由器基于WiFi實現室內考勤的方式[7]在企業管理中也是存在的,但是其考勤數據的真實性和有效性難以保證。通常標識路由器有兩種方式,一種基于IP地址,另一種基于MAC地址。路由器一般通過撥號等方式進行上網,每次重啟時公網IP可能發生變化,所以IP地址不能作其唯一標識;對于MAC地址來說,也會被非法改變或復制,難以實現唯一標識的作用。因此,這就使基于普通路由器的室內考勤方式流于形式。與此同時,開源路由器[8]設備也隨著開源路由器軟件的風靡而日趨流行,它解決了傳統路由器設備價格昂貴、靈活性差等問題,滿足用戶根據自己的需要進行定制開發的需求,這為實現企業管理的真實高效提供了新的解決思路。

綜上所述,針對現今企業管理便捷、真實、高效的要求,根據河南省某運營商的委托,結合智能移動手機終端、Android平臺和開源路由器,本文提出了基于OpenWrt開源路由器的企業管理系統解決方案。本方案利用OpenWrt開源路由器系統高靈活性的優點設計實現定制認證路由器;開發基于Android平臺的智能手機應用系統實現企業管理;兩者結合有效解決了手機無法準確完成室內考勤的問題,實現企業的便捷、真實、高效的管理;可以增強企業管理的信息化,為企業管理的信息化建設提供支持;可以使工作流程更順暢、企業健康向上發展。

1 系統總體設計

1.1 網絡拓撲圖

圖1為本系統的網絡拓撲圖。根據系統的需求,企業日常工作分為室內和室外兩種工作場景,所以本系統設計分為室內定點考勤和室外移動考勤兩種模式。在室內定點考勤時,由于GPS和基站室內定位困難,不能滿足公司室內定點打卡的需求,本系統設計了認證路由器。OpenWrt認證路由器安裝在辦公室內,手機客戶端通過連接OpenWrt路由器的WiFi信號實現信息通信;OpenWrt路由器對手機客戶端發送的考勤信息進行解析認證,并將認證后的考勤信息發送到服務器端考勤打卡,以此確定用戶考勤操作在公司規定范圍內實現,保證室內考勤的真實有效性。在室外移動考勤模式中,員工使用Android客戶端利用3G/4G和WiFi連接網絡實現數據通信,通過GPS和基站來實現定位功能,基于百度API顯示員工當前位置地址,通過HTTP協議實現客戶端和服務器端的信息通信。

圖1 系統網絡拓撲圖

1.2 系統總體架構

系統總體架構設計圖如圖2所示,本系統的整體架構分為服務器、OpenWrt認證路由器和Android客戶端三部分。認證路由器是基于開源嵌入式系統OpenWrt實現的,經過裁剪使其更適用于本系統所選擇的JS7628嵌入式開發板。在此基礎上設計實現了自定義協議和RSSI閾值比對模塊,實現與Android客戶端的快速認證,并確保室內打卡在認證路由器規定距離的范圍內,以避免非法打卡等現象的發生,滿足本系統室內定點考勤的需求。Android客戶端基于Android平臺采用C/S模式開發,通過GPS和基站實現室外考勤,并將室內與室外考勤融合在一起,實現考勤、請假、內部信息等管理功能,滿足系統整體需求。服務器端實現數據的后臺操作,包括數據的匯總、反饋和保存。

圖2 系統總體架構設計圖

1.2.1 Android手機客戶端

基于企業管理系統操作簡單、管理方便的目的,針對室內室外兩種工作模式下傳統考勤方式便捷性不足的弊端,本系統設計了Android客戶端。出于與開源路由器結合實現企業的便捷管理的目的,本方案的 Android客戶端設計了數據采集、數據展示以及交互模塊。

通過Android客戶端獲取用戶考勤的基本信息完成數據采集,包括當前時間、地點等實時信息和用戶姓名、部門等用戶基本信息。數據展示是整個系統的展示窗口,實現與用戶的交互,提高用戶體驗的滿意度,用戶通過Android客戶端可以實現查看各種信息的目的,包括打卡考勤及統計信息、請假及統計信息和公司內部信息等。企業考勤管理客戶端為了實現與認證路由器和服務器的數據交互,設計了交互模塊。基于TCP協議的Socket通信實現與OpenWrt認證路由器間的數據交互,為了實現能夠通過認證路由器的解析認證,設計自定義協議對采集到的室內考勤信息進行處理,實現室內考勤。通過HTTP協議實現與服務器端的數據交互,實現室外移動考勤和其他企業管理功能。

1.2.2 OpenWrt認證路由器

針對傳統室內考勤便捷性不足和真實性較低的問題,本系統設計了基于OpenWrt開源嵌入式系統的認證路由器,實現對室內考勤數據的認證,確保室內考勤的真實性;另外,實現與Android客戶端結合以提高系統的便捷性。為了實現與Android客戶端以及服務器端的數據交互設計了數據收發模塊,接收Android客戶端發來的考勤數據,并將認證處理過的數據發送到服務器端。為了確保室內考勤的有效性、避免非法打卡等情況的發生,本系統在認證路由器上設計實現了認證處理模塊,認證處理模塊是路由器的關鍵模塊。

為了防止認證路由器中的認證程序意外終止、保證進程的不間斷運行,本系統設計了進程管理。考慮到系統實現過程中的可配置性,本系統通過配置文件來配置參數,當進行系統維護時,維護人員可直接在配置文件中對相關參數進行配置,避免在源碼中的修改,提高了系統的可管理性。

1.2.3 服務器

服務器主要實現數據的匯總、反饋及保存,對收到的路由器或者手機客戶端發送的數據給予反饋,標記打卡等操作是否成功,并且將數據保存匯總以便響應手機客戶端發來的數據請求并生成考勤匯總表等。

2 OpenWrt認證路由器的設計

2.1 OpenWrt認證路由器的總體設計

針對傳統室內考勤真實性較低的問題,本系統設計了OpenWrt認證路由器實現對用戶室內考勤時的認證,以此確保企業管理系統室內考勤的真實有效性。同時,認證路由器與Android客戶端結合實現室內室外考勤集中管理,以提高系統的便捷性。為了彌補普通路由器標識符不可靠的問題,本系統利用開源路由器可定制的特性設計了自定義協議及RSSI閾值對比認證模塊,通過對手機客戶端接收到的考勤信息進行認證處理,然后向服務器端發送打卡請求實現室內定點考勤,提高室內考勤的真實有效性。

OpenWrt認證路由器的總體模塊設計分為硬件平臺、操作系統和應用程序三部分,主要包含內容如圖3所示。

圖3 OpenWrt認證路由器總體模塊設計圖

在運行過程中,啟動OpenWrt系統的Linux內核需要啟動文件Bootloader,本系統選擇Uboot程序來實現。根據系統需求,為了提高系統室內考勤的真實性,本系統基于嵌入式硬件平臺和OpenWrt操作系統設計了應用程序,實現數據接收、數據處理和數據傳送功能,對考勤信息進行認證處理,確保室內考勤信息的真實有效。本系統通過TCP協議的Socket通信從Android客戶端接收打卡信息實現數據接收;數據處理模塊將接收到的數據通過自定義協議和RSSI閾值對比模塊進行處理認證;數據發送模塊通過HTTP傳輸協議與服務器端傳輸數據,基于Libcurl庫實現數據傳送。另外為了支撐各數據操作模塊,系統還設計了進程管理、配置文件等模塊。

2.2 硬件平臺以及操作系統OpenWrt開發

2.2.1 系統硬件平臺

經過對比分析,本設計選用JS7628開發板為本系統的硬件平臺,它的主芯片是MTK(聯發科)的MT7628AN SoC芯片,其核心板是基于該芯片的WiFi模塊,具有580 MHz的CPU頻率,300 MHz的WiFi。JS7628開發板可長期穩定運行OpenWrt系統,滿足本文OpenWrt對認證路由器的設計要求。

圖4為 JS7628開發板實物圖。為了滿足本系統的設計需求,在設計過程中將開發板的3個以太網接口分別設置成一個WAN口和兩個LAN口。WAN口與外網相連并且實現本系統考勤等數據的發送;兩個LAN口設置局域網實現認證路由器端打卡數據的接收。擁有雙天線,可以保證本系統打卡數據接收和發送的高速進行。DC 5 V/2 A的電源接口為開源路由器提供運行基礎,電源指示燈為是否正常供電提供指示作用。下排的5個LED指示燈,分別指示系統是否正常運行、WiFi是否正常通信以及3個以太網口是否處于正常工作狀態。另外,開發板通過復位按鈕來實現故障恢復。

圖4 JS7628開發板外觀圖

2.2.2 OpenWrt開發流程

OpenWrt系統開發的流程如圖5所示。與其他在WRT54G/GS的源碼基礎上修改得來的開源路由系統不同,OpenWrt系統是基于Linux源碼日漸完善的。開發者利用OpenWrt的高度模塊化特性可以方便快捷地將各種功能移植到該系統下,豐富用戶體驗。

圖5 OpenWrt系統開發的流程

2.3 各功能模塊設計

本文設計的OpenWrt認證路由器主要有數據接收、數據處理、數據發送、進程管理和配置文件等模塊。

2.3.1 數據接收

認證路由器的數據接收模塊主要是從手機客戶端接收到考勤信息送去認證處理模塊的過程,即與手機客戶端的交互模塊。基于數據傳送的安全性和連接的可靠性考慮,本系統通過TCP協議的Socket通信實現手機客戶端與OpenWrt認證路由器的數據傳輸,確保可靠連接。

2.3.2 數據處理

為了實現認證路由器對用戶的快速認證,避免二次以及多次交互認證,本系統設計了一個自定義的數據封裝協議,并且為了確保用戶在公司規定范圍內打卡,本系統設計了RSSI的閾值比對認證。

2.3.2.1自定義協議

為了提高室內考勤的真實有效性,本系統設計了自定義協議對手機客戶端傳送的考勤信息進行認證處理,以此來確保此次考勤打卡的信息有效且是在公司定點打卡。本文的自定義協議分段設計了數據內容;并且對界定字符進行區分,分為起始符SOF和結束符EOF,使界定更加明確,區分有用數據和垃圾數據,提高傳輸的有效性。圖6將室內考勤信息分成了兩部分,即標識符部分和數據部分。

圖6 自定義協議數據內容設計圖

為了方便公司間設置不同的標識符,設計了UNIQUE字段,實現標識符的唯一性,以示不同企業間的區別。數據部分的設計則和具體的傳輸內容有關,包括公司ID、員工ID等信息以及其他考勤信息,對數據進行自定義的認證處理,以此防止非法打卡等情況出現;另外,數據部分還設計了CRC校驗字段,用于差錯檢測,加強傳輸過程中數據的糾錯檢測,提高數據傳輸的正確率。

圖7為本文自定義協議的數據封裝圖。

圖7 本文自定義協議數據封裝圖

其數據轉義規則如下:

為了避免數據中與起始符SOF相同的數據字符被當成起始符,減少數據處理過程中的錯誤率,本協議通過將相同字符SOF轉義為連續的兩個字符ALT和S1,實現字符轉義。與之對應的是,當數據接收端接收到連續的兩個字符ALT和S1時,將其轉回與起始符SOF相同的數據字符。同理EOF和ALT。

2.3.2.2RSSI閾值對比

針對傳統室內考勤存在的真實有效性差等問題,進一步確保用戶進行室內考勤時的地點范圍,本系統設計了RSSI的閾值比對認證,圈定用戶考勤打卡時與OpenWrt認證路由器間的距離范圍。RSSI(Received Signal Strength Indication)為接收信號強度。RSSI定位是通過接收到的信號強弱來測定接收點與信號源的距離。本文設計的RSSI閾值比對認證模塊選擇了基于RSSI距離損耗測距方法。

無線信號的發射功率和接收功率的關系用式(1)表示,PR是無線信號的接收功率,PT是無線信號的發射功率,r是收發單元之間的距離,n為傳播因子,數值大小取決于無線信號傳播的環境。

(1)

在式兩邊取對數可得到:

10nlgr=10lgPT/PR

(2)

節點的發射功率是已知的,將發送功率代入上式得:

10lgPR=A-10×nlgr

(3)

式(3)的左半部分10lgPR是接收信號功率轉換為dBm的表達式,可以直接寫成下式:

PR(dBm)=A-10×nlgr

(4)

這里的PR(dBm)就是指在距離為r的時候應該獲取的RSSI值,A可以看作信號傳輸1 m遠時接收信號的功率。

根據式(4),計算出當距離OpenWrt路由器d時的RSSI值,將其設為閾值,然后將獲取的手機RSSI值與閾值進行比對,若大于該閾值,則說明用戶打卡時距離認證路由器的距離小于設定距離d,由此判定打卡信息有效。另外,將參數A和n以及認證距離d放進配置文件,方便改動。

本系統設計的RSSI閾值對比的實現流程如圖8所示。當手機與認證路由器進行連接時,認證路由器可以獲取到手機端的RSSI值。程序從配置文件中獲取企業事先設定好的考勤距離d,將d值帶入公式計算出RSSI閾值Py。將獲取的用戶RSSI值與程序計算出的閾值Py進行比較,若RSSI值大,則判定本次考勤打卡有效。

圖8 RSSI閾值對比流程圖

2.3.3 數據發送

本系統將接收到的數據進行處理后,需要將數據發送到服務器端進行匯總和存儲。OpenWrt認證路由器與服務器端的數據傳送利用HTTP協議的Post方式實現,認證路由器對服務器發出室內考勤打卡請求,服務器收到請求后做出響應。在數據發送模塊中,本系統基于Libcurl庫實現認證路由器與服務器端基于HTTP協議Post方式的數據發送。

2.3.4 進程管理和配置文件

為了防止認證路由器中的認證程序在運行過程中意外終止,本系統為OpenWrt認證路由器設置進程管理功能的守護進程,以保證進程的不間斷運行,如數據處理(包括自定義協議的認證和RSSI閾值對比模塊)、數據接收和數據傳送等。

將配置文件同主程序放在同一文件夾下,當系統初始化的時候自動讀取配置文件,加載出相應參數。配置文件的內容是以鍵值對的方式存儲的,當讀取參數的鍵時,就可以得到該參數的具體值。RSSI部分的可配置參數有d、A、n等,其中d是手機端打卡時與OpenWrt認證路由器之間的距離閾值,不同公司會對距離d有不同需求,參數A、n也一樣,與環境有關,不同的公司環境不同,需對其進行不同配置。將它們放進配置文件中,當有不同需求時,只需要在配置文件中修改然后初始化系統即可,無需修改源碼。

3 Android客戶端與OpenWrt認證路由器的結合

本系統手機客戶端利用百度API定位員工的上班打卡位置,定位的實現過程如下:

① 確認百度定位需要的權限并在AndroidMainifest.XML文件中設置:

② 設置百度密匙,代碼如下:

android:name="com.baidu.lbsapi.API_KEY"

android:value="@string/baidu_key"

③ 設置定位參數;

private void initLocation(){

LocationClientOption option = new LocationClientOption();

option.setLocationMode(tempMode); //設置定位模式

option.setOpenGps(true); //打開GPS

option.setCoorType(tempcoor); //返回的定位結果是百度

//經緯度,默認值gcj02

option.setScanSpan(span_time_); //設置發起定位請求的間

//隔時間為5000ms

option.setIsNeedAddress(is_need_address);

//獲取反地理編碼

mLocationClient.setLocOption(option);

}

④ 在員工打卡時獲取員工定位信息,代碼實現如下:

protected void getBaiduLocationResult() {

locationInfo_ = LocationUtil.getLocationInfo(baiDuLocationListener,

context, lm);//獲取員工位置信息

if (locationInfo_ != null) {

longitude_ = locationInfo_.getLongitude();

latitude_ = locationInfo_.getLatitude();

tv_addr.setText(addr);

mBaiduMap = mMapView.getMap();//調用百度地圖

mCurrentMarker = BitmapDescriptorFactory

.fromResource(R.drawable.map_dingwei);

//將手機的經緯度生成坐標

LatLng cenpt = new LatLng(Double.valueOf(latitude_),

Double.valueOf(longitude_));

//構造地圖狀態

MapStatus mMapStatus = new MapStatus.Builder()

.target(cenpt).zoom(16).build();

//構造描述地圖變化的對象

MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory

.newMapStatus(mMapStatus);

mBaiduMap.setMapStatus(mMapStatusUpdate);

//定位員工位置

}

圖9展示了本系統設計的室內考勤時Android客戶端與認證路由器的交互過程。

圖9 室內考勤Android客戶端與開源路由器交互

① Android客戶端與認證路由器通過三次握手后建立連接;

② Android客戶端將考勤信息包括員工基本信息等按照本系統設計的自定義協議進行封裝,使其可以通過認證路由器的認證處理;

③ 數據封裝完成后傳輸到認證路由器,認證路由器接收到考勤數據進行認證處理,處理過程上文已詳細說明;

④ 認證路由器認證完成后將數據上傳到服務器端,并得到反饋信息傳給Android客戶端;

⑤ Android客戶端得到反饋信息,本次室內考勤完成。

結 語

本文基于實際項目對企業管理的便捷、真實和高效的需求,設計實現基于OpenWrt開源路由器的企業考勤管理系統。首先,針對傳統考勤方案中不能兼顧室內室外兩種情況的弊端,提出了手機客戶端和OpenWrt開源路由器(WiFi)相結合的考勤方案;然后,基于開源嵌入式系統OpenWrt設計本系統認證路由器并實現了自定義協議和RSSI閾值比對等認證處理模塊,保證了企業管理系統室內考勤信息的真實性;最后,基于Android設計開發了本系統的手機客戶端,兼顧了企業管理的高效便捷性。基于OpenWrt開源路由器的企業管理系統基本滿足用戶需求,但是系統有待進一步完善:

① 增加手機客戶端人臉識別功能,在手機客戶端采集人臉信息,提取特征值后上傳到服務器端識別驗證,從而進一步保證考勤信息的真實性;

猜你喜歡
信息系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
設計之味
舒適廣告(2008年9期)2008-09-22 10:02:48
主站蜘蛛池模板: 国产小视频免费观看| 六月婷婷激情综合| 亚洲无卡视频| 欧美日韩成人在线观看| 综合亚洲网| 欧洲成人免费视频| 亚洲综合在线最大成人| 亚洲天堂区| 国产拍在线| 免费一极毛片| 亚洲第一视频免费在线| 亚洲香蕉久久| 国产成人三级| 97se亚洲综合不卡| 在线毛片网站| 亚洲AV无码精品无码久久蜜桃| 国产精品一老牛影视频| 97se亚洲综合| 亚洲男人在线天堂| 国产精品自在在线午夜区app| 亚洲国产中文欧美在线人成大黄瓜| 在线国产三级| 伊人天堂网| 免费A级毛片无码免费视频| 91精品啪在线观看国产| 永久毛片在线播| 亚洲色图狠狠干| 欧美激情视频一区二区三区免费| 亚洲人成在线精品| 2020亚洲精品无码| 国产成人综合在线视频| 国产91高清视频| 国产成人无码综合亚洲日韩不卡| 成人午夜亚洲影视在线观看| 久久综合五月| 久久国产毛片| 色香蕉影院| 国产视频你懂得| 婷婷伊人久久| 国产丝袜第一页| 亚洲无码精品在线播放| 欧美五月婷婷| 国产又黄又硬又粗| 在线欧美一区| 丝袜国产一区| 成·人免费午夜无码视频在线观看| 亚洲第一av网站| 91在线激情在线观看| 欧美全免费aaaaaa特黄在线| 日韩高清中文字幕| 国产精品视频白浆免费视频| 国产精品浪潮Av| 成人亚洲视频| 亚洲一区国色天香| 日本a级免费| 国产av色站网站| 精品中文字幕一区在线| 亚洲免费人成影院| 激情亚洲天堂| 国产成人a在线观看视频| 精品国产91爱| 亚洲日韩精品无码专区| 精品国产香蕉伊思人在线| 91丝袜在线观看| 91久久青青草原精品国产| 国产美女在线观看| 91美女视频在线| 婷婷久久综合九色综合88| 3D动漫精品啪啪一区二区下载| 欧美国产日韩在线播放| 99视频在线免费| 色天堂无毒不卡| 国产美女在线免费观看| 欧美成一级| 亚洲欧洲日产国码无码av喷潮| 成人午夜天| 国产精品2| 国产免费精彩视频| 中文字幕免费视频| 日韩欧美高清视频| 成年A级毛片| 亚洲色欲色欲www在线观看|