智能門禁系統參考模板_第1頁
智能門禁系統參考模板_第2頁
智能門禁系統參考模板_第3頁
智能門禁系統參考模板_第4頁
智能門禁系統參考模板_第5頁
已閱讀5頁,還剩29頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘要智能安防設備以前沿的技術與設計理念走進了市場,讓人們的生活更加便捷智能。通過智能安防設備,用戶可以更好的遠程感知防護周圍環境和信息,這種安防設備,會通過軟件支持以及數據交互,實現強大的功能。越來越多的創業者、科技公司、傳統廠商加入了智能安防的開發設計當中,然而目前來說智能硬件設備依處在發展早期階段,市場上大多數的產品都只是空炒概念、缺乏創新,不斷疊加各式各樣的功能。我們要抓住市場上已有產品的不足,將功能以簡單優雅的元素和色調呈現給用戶,對其功能進行智能化的時候,要找準用戶需求,以需求為導向、以健康安全為切入點,為用戶設計一款具有針對性的智能門禁系統。本文主要完成以下工作:1研究智能門禁系統

2、通信模塊的需求,根據需求將其分成幾個子模塊,并將每個模塊所需要的技術羅列出來,查閱網上資料、圖書、期刊、論文來掌握相關技術。2GSM模塊通過串口通信實現撥打電話和發送短信的功能。3掌握Qt配置文件的讀寫操作,將系統所需要的設置保存到配置文件中。4連接并實現socket通信連接的建立以及數據的發送與接收,數據包格式的定義,數據包的打包解包操作的實現,數據包的完整性驗證。5Qt國際化支持的實現。關鍵詞:嵌入式,門禁系統,Linux,Qt1 / 34ABSTRACTIntelligent security equipment to the forefront of technology and de

3、sign concept into the market, let the life of people more convenient intelligence. Through intelligent security system, the user can better protective environment remote sensing and information, this kind of security equipment, through software support and data interaction, powerful functions. More

4、and more entrepreneurs, technology companies, the traditional manufacturers to join the development and design of intelligent security, for now, however, intelligent hardware equipment according to the development in early stage, most of the products on the market just empty concept, lack of innovat

5、ion, constantly superposition of a variety of functions. We should seize the shortcomings of existing products on the market, the function with a simple and elegant elements and colour presented to the user, to intelligent, its function to get the user requirements, demand oriented, with health and

6、safety as the breakthrough point, for the user to design a targeted intelligent entrance guard system.This paper mainly do the following:1. Research the demand of the intelligent entrance guard system communication module, according to the demand will be divided into several modules, and will list e

7、ach module need technology, access to online data, books, journals, papers to master relevant technology.2. GSM module through the serial port communication, we can realize the function of call and send text messages.3. Master the Qt configuration file read and write operations, the system Settings

8、saved to the configuration file you need.4. Establishing the connection and realize the socket communication connection and data sending and receiving, data packet format, the definition of the package of packet unpack the implementation of the operation, the integrity of the data packet validation.

9、5. The realization of the Qt internationalization supportKeywords: Embedded, entrance guard system, Linux, QT,目錄摘要IABSTRACTII1 引言11.1課題背景11.2國內外研究現狀21.3研究的主要內容31.3.1系統研究的主要內容31.3.2本文研究的主要內容31.4本文的組織結構42. 系統分析52.1可行性分析52.2功能需求分析52.3系統用例分析62.3.1系統用例概述62.3.2用例分析63. 總體設計83.1總體框圖83.2工作流程圖83.3嵌入式系統設計方法93.

10、3.1系統軟硬件協同設計流程93.4數據庫設計103.4.1.E-R圖(power designer)104 .系統開發環境構建114.1硬件開發環境介紹114.2軟件開發環境介紹124.2.1建立C語言開發環境124.2.2建立Qt開發環境135功能模塊的設計與實現165.1GSM模塊165.1.1GSM模塊(ATK-SIM900A)介紹165.1.2SIM900A介紹175.1.3GSM模塊使用介紹185.1.4AT命令介紹185.1.5GSM功能實現195.3socket通信模塊205.3.1數據包格式205.3.2Socket建立連接215.3.3數據包的處理226系統測試26總結28

11、1 引言1.1課題背景物聯網是繼計算機、互聯網與移動通信之后世界信息產業的第三次浪潮,它將現實的基礎設施和信息網絡實現了整合。物聯網作為互聯網和通信網的網絡延伸與應用拓展,具有整合感知識別、傳輸互聯和計算處理等功能,是對新一代信息技術的高度集成和綜合運用。安防視頻聯網監控是物聯網時代的應用先鋒,從某種意義上講,物聯網由于具備實時感知、準確定位、有效控制等安防基本要素,可以說它天生就是為安防準備的,將會對安防產生重大影響,因此而出現了物聯網安防,也被稱為智能安防。它促使安防產業“互聯網”化,使智能視頻成為物聯網發展的重要部分。公共安全管理的關鍵是預先感知,物聯網在公共安全方面應用的核心是智能化,

12、使得我們能夠建立相關技術平臺、謀劃事件預案,營造安全氛圍,使社會環境更加平安與和諧?,F代信息社會的發展,人民的生活水準也在不斷提升,因而對安全的需求也越來越迫切。尤其自“9·11”與倫敦爆炸案事件后,國內外安防市場就迫切需要智能安防監控系統產品,近年來,國內外先后涌現出一批不同程度的智能安防監控系統或產品,由此也可窺見,安防監控系統正在由數字化、網絡化逐步走向智能化。智能安防監控系統是指采用圖像處理、模式識別和計算機視覺技術,通過在監控系統中增加智能視頻分析模塊,借助計算機強大的數據處理能力過濾掉視頻畫面無用或干擾信息,自動識別不同物體,分析抽取視頻源中的關鍵有用信息,快速準確定位事

13、故現場,判斷監控畫面中的異常情況,并以最快速度和最佳方式發出警報或觸發其它動作,從而有效進行事前預警、事中處理、事后及時取證的全自動實時智能監控系統。簡單地說,智能安防監控就是由計算機替代部分人腦的工作,對監控的圖像自動進行分析并作出判斷,出現異常時及時發出預警,改變監控系統擺脫不了人工干預以及只能作為場景記錄的“事后諸葛亮”角色。而提到智能安防,自然而然就離不開智能門禁系統。門禁系統,又稱出入口管理系統,是一種管理人員進出的數字化管理系統。一般的門禁系統通常由門禁讀卡器(生物識別儀)、門禁控制器、電控鎖、開門按鈕、卡片及其他設備組成。歷經二十多年的發展,門禁系統已經超越過去單純的門道及鑰匙管

14、理,發展成為一套完整的出入管理系統。通過計算機系統進行何時何處放行某些人、何時何處拒絕某些人、何時發出報警信號及保存出入記錄,門禁系統能達到安全防范和及時警報聯動的目的,它在工作環境安全、提升企業管理效率中發揮著重大的作用。1.2國內外研究現狀 物聯網有感知層、網絡層和應用層三個主要層面。物聯網的第一層就是感知層,而視頻監控又是感知層最典型的應用,當前占到物聯網應用的約40%.視頻監控之所以在物聯網中承擔如此重要地位,主要原因有三個:其一,視頻監控應用最為廣泛、市場規模最大,任何監控都要包括圖像監控;其二,視頻監控是物聯網發展初期技術可實現性最強的;其三,隨著社會對安全和治安的重視,未來行業推

15、動因素多,行業推動的迫切性強。2011年中國物聯網產業市場規模將達到2500億元,根據“十二五”規劃,到2015年,中國物聯網整體市場規模將達到7500億元,年復合增長率超過30%,作為物聯網第一環節典型應用的視頻監控發展空間巨大。智能安防是物聯網當前最重要和最現實的應用平臺之一,智能安防具有從“集約安防”到“智慧安防”轉變之特征,從單一功能產品到多傳感終端集成;從單一變量監測到周邊環境全面感知;從被動防御到基于模型分析與態勢分析的主動防御,安防行業將會因此實現從提供產品到系統運營服務的全面升級,同時物聯網還將對安防行業的發展格局及業務模式產生重大影響。2012年2月14日,我國正式出臺了物聯

16、網“十二五”發展規劃,作為當前世界新一輪經濟和科技發展戰略制高點之一的物聯網,對于促進經濟發展和社會進步有重要的現實意義。規劃圈定了重點發展的九大應用,包括產業類的智能工業、智能農業、智能物流、智能交通、智能環保,以及民生類的智能電網、智能安防、智能醫療和智能家居。物聯網作為一種技術和理念,也是一種應用和發展的模式。它通過云計算中心,將可按約定的協議將物件與互聯網連結起來進行信息交換和通信等功能。物聯網將可能實現人與物體之間的“對話”、物體和物體之間的“交流”,使得生活中的任何物品都可以變得“有感覺、有思想”。物聯網的應用同時將為優化資源配置、加強科學管理、緩解資源能源約束提供可能與拓寬渠道。

17、在安防產業鏈中,視頻監控無疑是重中之重。安防行業主要包括安防設備、安防工程及運營服務三個部分。2010年中國安防行業總產值2270億元中,安防設備約占1000億元,安防工程約占1150億元,運營服務約占120億元,三個部分占比分別為44%、51%、5%.安防設備又分成電子類安防產品與實體類安防產品兩大類。電子類安防產品中,視頻監控產品產值約400億元,占電子類安防產品的58%,是安防產業鏈中產值最大、行業發展最快的行業。1.3研究的主要內容1.3.1系統研究的主要內容智能門禁系統項目主要是對智能安防的設計與實現,我們是在PcDuino以及pc上借助qt開發平臺進行系統的開發測試,在PcDuin

18、o上我們連接有多種傳感器進行信息的采集通過通信模塊和網絡將數據共享和同步。系統分為機器端和手機端,機器端主要負責基本功能、人臉識別、發送短信、語音互動等功能的實現;手機端主要負責信息的接收處理和顯示、修改和同步設置、個人數據錄入到數據庫等功能的實現。本系統研究的主要功能如下:機器端(1) 基本功能:門禁舵機控制(2) 其他功能有led手電筒、人臉識別、語音互動。(3) GSM模塊實現發送短信、撥打電話。(4) 數據保存和通信方面:支持配置保存到配置文件,利用socket通信在機器端和手機端進行數據的交互如設置的同步,socket通信的時候數據包以一定的格式在發送端打包,在接收端解包,驗證數據的

19、完整性,根據校驗碼執行對應的操作。手機端(1) 設置和機器端的連接參數進行socket連接(2) 連接的同時進行時間等信息的同步(3) 顯示攝像頭信息(4) 設置機器端的配置并同步1.3.2本文研究的主要內容如本文課題所示,本人主要研究的是紅外測距模塊與通信模塊的設計與實現,其中包含信息的處理與保存,配置文件的讀寫,GSM模塊通過串口通信發送短信,socket通信,數據包格式的編寫,數據包的打包解包,國際化支持。具體內容如下所示:(1) 機器端使用的是搭載Ubuntu系統的PcDuino,在開發之前,需要在PcDuino上安裝好qt,然后配置運行環境。(2) 機器端所有的配置包括機器自帶的設置

20、以及手機端更改的設置都保存在配置文件中,不同設置保存在不同的節(section)下,機器端在啟動時會自動加載配置文件的內容,保存機器端設置的同時也會保存到配置文件中。(3) 撥打電話和發送求助短信是利用GSM模塊實現的,開發板和GSM模塊的數據交互是通過串口。這里本人使用的是網上開源的qt串口讀寫庫,機器端在初始化的時候打開串口并對串口參數進行設置,學習sim900開發手冊后,按照說明使用AT指令集完成發送短信的操作。(4) 網絡通信使用的是socket,機器端在運行時就開放端口并開始監聽。為了實現手機對多個機器的連接,由手機端發起socket連接請求后,機器會對id進行驗證,驗證通過后才能建

21、立連接,然后雙方開始自動同步信息如校對時間、離線時更改的設置等,建立連接后修改的設置會立即同步。socket通信時,數據包都是按照規定的格式進行打包和解包的,接收的數據包會進行完整性驗證,無效的數據包會丟棄。(5) 本系統擁有國際化支持,qt自帶Qt語言家工具可供更新和發布語言文件,用于本系統在不用環境下的使用。1.4本文的組織結構本文共分六章,具體的內容組織如下:第一章:引言,介紹本系統的研究背景,并根據文獻資料,介紹到目前國內外智能安防設備的發展情況,并簡述本文研究內容。第二章:系統可行性分析及功能需求,根據當前發展現狀,簡述本系統的需求,并根據需求進行分析。第三章:開發環境的介紹,介紹開

22、發需要的軟件和硬件環境。第四章:系統模塊設計與實現,主要根據功能需求,設計實現本模塊所涉及的功能,并作代碼分析。第五章:系統控制模塊運行于測試,主要根據系統的設計,對各功能模塊進行測試。第六章:論文結束語。最后是致謝與參考文獻。2. 系統分析2.1可行性分析本課題的可行性分析主要對社會、技術、經濟方面的研究來確定系統的可行性,根據研究的結果提出可行的解決方案,實現系統的各項功能,具體分析如下:(1) 社會可行性:自從2014年智能硬件的興起,智能安防設備逐漸成為電子產品的熱點,越來越多的創業者和開發者加入了智能安防設備的大軍,而智能門禁系統則是結合傳統安防以及智能互動之后出來的產物,在目前有很

23、大的市場。(2) 技術可行性:市場上已經有多款智能安防設備,上面集成了多種傳感器,能夠檢測數據并實時傳輸給手機。說明目前的技術已經可以實現將傳感器集成到門禁系統上,進行數據的采集。本人選擇的開發板具有足夠的性能,也有豐富的傳感器提供測試和研究,開發板上有多組不同功能的接口,并且官方提供拓展板來解決更高的接口需求,其上搭載的Ubuntu系統是非常優秀的開源系統,能完成大量的功能定制。(3) 經濟可行性:PcDuino開發板性能足夠勝任日常開發使用,配套的開發工具都是免費開源的,大大降低了開發成本,傳感器及線材等開發成本都在接受的范圍內。在開發后期的維護中,系統不需要大量的開支,而開發完成產生的收

24、益遠大于前期開發成本,所以本系統在經濟上是可行的。2.2功能需求分析本人所負責的是通信模塊的設計與實現以及信息的處理和保存,需要實現的功能需求主要是以下幾點:(1) 系統要能夠提供接口,控制GSM模塊實現發送短信的操作。具體在機器端的體現是,當人臉識別超時之后自動發送短信??刂艷SM模塊需要實現串口通信,sim900開發手冊的學習,熟悉AT指令集的使用。(2) 為了實現手機端對多個機器的連接,機器在接收到手機端的連接請求的時候,要對機器的ID進行驗證。在數據傳輸的時候,要對數據包的完整性進行驗證,防止出現數據包的損壞導致數據出錯。數據包中要包含要執行的操作以及要操作的數據,以便提取對應的操作號

25、和數據。2.3系統用例分析2.3.1系統用例概述用例分析是從用例模型到分析模型的過程,是需求與設計之間的橋梁。用例分析把系統的行為分配給分析類,讓分析類交互完成系統的行為。用例圖是指由參與者(Actor)、用例(Use Case)以及它們之間的關系構成的用于描述系統功能的視圖。用例圖(User Case)是被稱為參與者的外部用戶所能觀察到的系統功能的模型圖,呈現了一些參與者和一些用例,以及它們之間的關系,主要用于對系統、子系統或類的功能行為進行建模。用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯系的。用例圖用于對系統、子系統或類的行為進行可視化,使用戶能夠理解如何使用這些元素,并使開發者

26、能夠實現這些元素。將每個系統中的用戶分出工作狀態的屬性和工作內容,方便建模,防止功能重復和多余的類。用例圖定義了系統的功能需求,它是從系統的外部看系統功能,并不描述系統內部對功能的具體實現。2.3.2用例分析在本次設計中,智能門禁系統主要包括設備管理、人臉信息管理、號碼管理等幾類功能。其中設備管理,管理對應設備的信息,可以添加、修改、刪除設備信息。人臉信息管理,管理智能門禁系統所要驗證的人臉信息,可以識別、添加、刪除人臉信息。號碼管理,管理號碼的信息,可以增加、修改、刪除號碼信息,訪客可以通過驗證人臉信息來決定能否打開門進入。本次設計總體用例圖如圖2-1所示。圖2-1智能門禁系統總體用例圖3.

27、 總體設計3.1總體框圖智能門禁系統的主要分為紅外測距、語音播報、人臉檢測與識別、GSM通信等四大模塊,總體框圖如圖3-1所示。圖3-1智能門禁系統總體框圖3.2工作流程圖智能門禁系統在經過系統初始化之后,通過紅外測距模塊檢測到是否有人靠近門禁系統。檢測不到重復此過程,監測到有人靠近則調用語音播報模塊提醒訪客將臉部靠近攝像頭進行人臉獲取、定位、特征提取等采集工作,將特征進行比對判斷是否符合原始數據中的人臉信息,如若符合則進行開門、安全檢查、關門等操作,反之將等待室內人員響應,如果響應超時則調用GSM通信模塊將信息發送到指定的號碼之中,提醒門口訪客情況。具體工作流程圖如圖3-2所示圖3-2智能門

28、禁系統工作流程圖3.3嵌入式系統設計方法嵌入式計算系統將必須緊密工作的硬件和軟件相結合。系統體系結構一旦確定,硬件和軟件可以相對獨立地進行設計。協同設計的目標是做出恰當的體系結構決策,允許在以后的實現階段中獨立完成。好的體系結構決策需要恰當的分析方法,因為它們必須滿足嚴格的度量標準,例如實時性能和功耗。硬件/軟件劃分選取體系結構,其中一些操作直接由硬件完成,而另一些則由運行在可編程平臺上的軟件完成。硬件/軟件劃分生成可以獨立實現的模塊設計。那些模塊隨后結合,進行性能或功耗測試,并調試以創建最終的系統。3.3.1系統軟硬件協同設計流程軟硬件協同設計是指對系統中的軟硬件部分使用統一的描述和工具進行

29、集成開發,可完成全系統的設計驗證并跨越軟硬件界面進行系統優化。傳統協調流程如圖3-3所示。圖3-3傳統設計方法設計流程圖3.4數據庫設計數據庫在一個系統中占有非常重要的地位,數據庫結構設計的好壞直接對應用系統的效率,以及實現的效果產生影響。合理的數據庫結構設計可以提高數據存儲的效率,保證數據的完整和一致。3.4.1.E-R圖(power designer)本次系統設計中,根據設計規劃處的實體有:主人實體、號碼實體、人臉信息實體,門禁設備實體、訪客實體,總體E-R圖如3-4所示。圖3-4智能門禁系統總體E-R圖4 .系統開發環境構建4.1硬件開發環境介紹本系統主要使用的硬件設備是PcDuino

30、開發板。PcDuino 是一種高性能,高性價比的迷你PC 的平臺,擁有非常豐富的接口,如下圖所示。能夠運行PC操作系統,如Ubuntu 和Android 的ICS 等。通過PcDuino 可以內置HDMI 接口輸出視頻到電視或顯示器屏幕。PcDuino接口圖PcDuino 的硬件性能指標遠超樹莓派,性能穩定,做工精良。PcDuino 的CPU 采用1GHz ARM Cortex A8 內核,DRAM 為1GB,板載存儲達到2GB Flash。另外,PcDuino可以從NAND 或者從mini-SD 卡(TF 卡)啟動,在NAND Flash 內有出廠預裝的ubuntu系統,可方便使用。PcDu

31、ino硬件參數如下圖所示PcDuino硬件參數圖4.2軟件開發環境介紹4.2.1建立C語言開發環境在進行PcDuino開發之前,首先需要獲取PcDuino的C語言環境,也就是Arduino程序的底層支持包。PcDuino官方將C環境放在Github的網站上,使用者可以通過web網頁或者Git工具自由下載。Ubuntu默認不集成Git,因此需要手動下載安裝Git,命令如下:sudo apt-get install git安裝完成后,跳轉到用戶目錄/home/Ubuntu,并使用Git工具獲取PcDuino的C語言開發環境,命令如下:cd git clone 使用Git工具的過程中可能由于PcDu

32、ino的時間與服務器的時間不同步,需要更新系統時間:sudo date -s 2016/1/1sudo date -s 22:10:00接下來可以在用戶目錄下看到C語言開發環境了。4.2.2建立Qt開發環境Qt是一個1991年由奇趣科技開發的跨平臺C+圖形用戶界面應用程序開發框架。它既可以開發GUI程序,也可用于開發非GUI程序,比如控制臺工具和服務器。Qt是面向對象的框架,使用特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,易于擴展,允許組件編程。接下來介紹如何在PcDuino上安裝QT(以下操作都是在終端上執行,執行前要確保PcDui

33、no能上網):apt-update(1分鐘左右)Qt Creator的安裝(10分鐘左右)Qt4-dev-tools的安裝(1分鐘左右)Qt4-qmake的安裝(1分鐘左右)Libqt4-dev的安裝(1分鐘左右)Mysql-client的安裝(2分鐘左右)5功能模塊的設計與實現智能門禁系統本人主要負責紅外測距與通信模塊的設計與實現,在本文中將對通信模塊進行詳細的敘述。智能門禁系統的通信模塊主要包括兩個個子模塊:GSM模塊,通過串口通信實現撥打電話和發送短信; socket通信模塊,在機器端和手機端建立socket連接進行信息傳遞;通信模塊總體框架如圖5-1所示。圖5-1系統框架圖5.1GSM

34、模塊5.1.1GSM模塊(ATK-SIM900A)介紹ATK-SIM900A模塊是ALIENTEK開發的一款高性能工業級GSM/GPRS模塊(開發板),接口豐富,功能完善,尤其適用于需要語音/短信/GPRS數據服務的各種領域,如圖5-2以及圖5-3所示:圖5-2ATK-SIM900A資源圖圖5-3ATK-SIM900A特性圖5.1.2SIM900A介紹SIM900A模塊如圖5-4所示是一款尺寸緊湊的GSM/GPRS模塊,采用SMT封裝,基于STE的單芯片案,采用ARM926EJ-S架構,性能強大,可以內置客戶應用程序??蓮V泛應用于車載跟蹤、車隊管理、無線POS、手持PDA、智能抄表與電力監控等

35、眾多方向。圖5-4SIM900ASIM900A模塊主要特點:SMT封裝:易于客戶生產加工尺寸?。?24*24*3mm功耗低:待機模式電流低于18mA、sleep模式低于2mA供電范圍寬:3.24.8V支持頻段:GSM/GPRS 900/1800MHz語音編碼:支持半速率、全速率、增強型速率支持回聲抑制算法,可以基于不同客戶設備通過AT命令調節回音抑制消除。5.1.3GSM模塊使用介紹將GSM模塊串口連接到PcDuino的USB接口,電源接口連接上電源,按下電源開關,此時紅燈亮起。按下powerkey約2S后,可以看見一盞紅燈常亮,一盞紅燈閃爍。當紅燈閃爍頻率為100ms亮500ms滅的時候,說

36、明SIM卡還未注冊成功,正在搜尋網絡;當紅燈閃爍頻率為100ms亮1S滅的時候,說明SIM卡已注冊上網絡了。5.1.4AT命令介紹我們用到AT+CMGS指令來發送短信,發送全英文/數字短信的時候,我們先設置為:"GSM"字符集(AT+CSCS="GSM"),文本模式(AT+CMGF=1)。假設我們要給手機號:15261*0,發送一條短信,則發送:AT+CMGS="15261*0",然后模塊返回:>,此時我們輸入我們需要發送的內容: SIM900A_V1.0 Send English SMS Test.,注意,此可以不用發送回車了

37、。在發送完內容以后,最后以十六進制(HEX)格式單獨發送(不用添加回車):1A(即0X1A)1,即可啟動一次短信發送。注1:0X1A,即“CTRL+Z”的鍵值,用于告訴SIM900A,要執行發送操作。另外還可以發送:0X1B,即“ESC”的鍵值,用于告訴SIM900A,取消本次操作,不執行發送。稍等片刻,在短信成功發送后,模塊返回如:+CMGS:7,的確認信息,表示短信成功發送,其中7為模塊內部的短信計數器,一般不用理會。5.1.5GSM功能實現短信發送分為多步,將AT指令一條條先后發送給串口,中間必須要加延時,因為GSM同一時間只能執行一條語句。void MainWindow:SendMes

38、sage() /發送短信 QString phone_Num; phone_Num = Data:s_Phonesos; phone_Num.prepend("AT+CMGS = "+86"); phone_Num.append(""r"); com_Gsm->write("AT+CSCS="GSM"r"); delay(100); com_Gsm->write("AT+CMGF=1r"); delay(100); com_Gsm->write(phone_

39、Num.toLatin1(); delay(100); com_Gsm->write(QString("門口有人").arg(Data:s_Nickname).toLatin1();/the content of the message delay(100); com_Gsm->write(QString("032").toLocal8Bit();/the ASCII code of the ctrl+z is 26 delay(100); qDebug()<<"SOS message has send!"5.

40、3socket通信模塊5.3.1數據包格式Socket通信的數據包是以一定的格式封裝起來,用于校驗、提取操作號以及要操作的數據,如下表所示。手機端數據包格式操作號操作名稱數據包格式數據位數001連接請求操作號|機器id|數據長度101|0001|000143|4|5002同步時間操作號|日期|時間|數據長度002|2015/12/31|02:54:00|000293|10|8|5003同步手機號操作號|手機1|手機2|手機3|SOS號|數據長度003|157xx|157xx|157xx|157xx|000573|11|11|11|11|5004同步用戶名操作號|用戶名|數據長度004|Eder

41、th|000163|6|5機器端數據包格式操作號操作名稱數據包格式數據位數101響應連接請求操作號|響應代碼|數據長度101|1|000113|1|5102機器安裝狀態操作號|安裝狀態|數據長度3|1|5102|1|000115.3.2Socket建立連接Socket建立連接由手機端發起,手機端除了填寫機器的IP和端口號來建立連接,還要填寫機器的ID。機器端接收到連接請求時,提取數據包中的機器ID和本機的機器ID進行比較,如果一致才能允許建立連接。void MainWindow:ConnectCheck() /驗證連接 QString id = socketMessageR.mid(4, 4)

42、; socketMessageS = "101|1|00011" if(id = Data:s_Id) SendSocketMsg(socketMessageS); qDebug() << socketMessageS; qDebug() << "連接建立成功" lightSensorState = digitalRead(LIGHTSENSOR_PIN); /第一次連接后同步狀態 if(lightSensorState) SynchroLightonState(); else SynchroLightoffState(); Sy

43、nchroTemperature(); 5.3.3數據包的處理這里以同步手機號為例,講解數據包的處理過程。1 打包手機端修改好號碼之后點擊保存,手機端會調用同步手機號碼的函數進行數據包的打包然后發送。void watch:SynchroPhone() socketMessageS = ("003|"); socketMessageS = socketMessageS + phone1 + '|' + phone2 + '|' + phone3 + '|' + phonesos; QString tmp = QString:nu

44、mber(socketMessageS.size()+6); tmp = tmp.rightJustified(5, '0'); socketMessageS = socketMessageS + '|' + tmp; qDebug()<<socketMessageS; sendMessage(socketMessageS);2 驗證數據包完整性機器端接收數據包之后,會對數據包的完整性進行校驗,如果數據不完整則放棄這一個數據包。void MainWindow:ReadSocketMsg() QByteArray qba= socket->rea

45、dAll(); qDebug()<<qba; socketMessageR = QVariant(qba).toString(); /轉成String if(socketMessageR.right(5).toInt() = socketMessageR.size() /校驗數據長度 SocketHandleList(); else qDebug()<<"socket數據包異常"3 提取操作號確認數據包是完整的之后,機器端會提取數據包中的操作號,然后到操作列表里找到對應的操作去執行。void MainWindow:SocketHandleList()

46、 /socket 處理列表 int handleCode = socketMessageR.left(3).toInt(); switch(handleCode) case 1: ConnectCheck(); break; case 2: SynchroTime(); break; case 3: SynchroPhone(); break; case 4: SynchroNickname(); break; default: qDebug()<<"SocketHandleList don't find handleCode" 4 解包數據包提取數據在

47、對應的操作函數中,系統會根據數據包格式自動提取要操作的數據,完成操作。void MainWindow:SynchroPhone() /同步電話號碼 Data:s_PhoneM = QString:number(socketMessageR.mid(4, 11).toLongLong(); /解包數據 Data:s_PhoneF = QString:number(socketMessageR.mid(16, 11).toLongLong(); Data:s_PhoneO = QString:number(socketMessageR.mid(28, 11).toLongLong(); Data:s_Phonesos = QString:number(socketMessageR.mid(40, 11).toLongLong(); qDebug() << Data:s_PhoneM << " " << Data:s_PhoneF << " "

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論