課程設計-遠程安防監控-我的報告

信息安全系15級學生課程設計——2018.05

課題:物聯網實訓·遠程安防監控系統

1、課題簡介

本系統是基於PC、ARM Cortex-A8/A九、GPRS、ZigBee等設備依託在各項互聯網、傳感器等技術上編寫以實現遠程安防監控,使用戶更方便的監控所需監控的環境,得到全部信息及其處理特殊狀況。前端

本系統主要分爲三大模塊:核心服務器端(PC)、前端數據中心(A9/A8)和遠程監控終端(ZigBee)。linux

2、實現狀況

目前,本課題組已將所需調試的模塊編譯並試運行,個別地方仍然存在問題,但已可初步實現PC和ARM之間的串口通訊並使用瀏覽器訪問遠程監控控制頁面,在正常使用狀態下不會出現運行Bug。shell

貢獻度排名:趙文昊、王一帆、許星霖瀏覽器

WiFi模塊和視頻接口模塊目前尚存在未解決的問題,具體狀況將在下面詳述。安全

3、實現步驟

1.環境搭建

在課程設計初期,約一週的時間內一直都在進行環境的配置,基本是由趙文昊負責的,因爲教程內使用的Ubuntu虛擬機版本、編譯器版本都比較老,這些花掉了很多時間,而且沒有指出詳細的配置方法和效果,致使在嘗試向後進行時困難重重,不少編譯沒法經過。在這種狀況下仍是求助老師得到了一個配置好的Ubuntu虛擬機環境,這塊的進度比較慢,也拖慢了總體實現的進度,可是最終沒有爲後面的步驟形成影響。服務器

在小組3人中,只有1人徹底沒有Linux的使用基礎,故前期許星霖簡要學習了Linux指令,能夠完成簡單的操做,達到了足夠完成本次實現的程度。ide

2.編譯源碼

在這個階段咱們對老師提供的模塊代碼進行了編譯,這裏用到了交叉編譯,在解釋什麼是交叉編譯以前,先要明白什麼是本地編譯。工具

本地編譯學習

本地編譯能夠理解爲,在當前編譯平臺下,編譯出來的程序只能放到當前平臺下運行。平時咱們常見的軟件開發,都是屬於本地編譯:設計

好比,咱們在 x86 平臺上,編寫程序並編譯成可執行程序。這種方式下,咱們使用 x86 平臺上的工具,開發針對 x86 平臺自己的可執行程序,這個編譯過程稱爲本地編譯。

交叉編譯

交叉編譯能夠理解爲,在當前編譯平臺下,編譯出來的程序能運行在體系結構不一樣的另外一種目標平臺上,可是編譯平臺自己卻不能運行該程序:

好比,咱們在 x86 平臺上,編寫程序並編譯成能運行在 ARM 平臺的程序,編譯獲得的程序在 x86 平臺上是不能運行的,必須放到 ARM 平臺上才能運行。

因此,這須要咱們將交叉編譯的工具鏈路徑配置到系統環境變量中,這裏沒有什麼問題。

接下來是BootLoader、Linux內核、主程序、根文件系統這幾塊源碼的編譯,趙文昊和王一帆兩邊都對源碼進行了編譯,對比發現沒有不一樣之處,也就能夠正常使用了。

3.鏡像燒寫

這塊地方因爲個人電腦VMware有點奇怪,SD卡怎麼說也接不到虛擬機上,因此Linux-SD卡燒寫這塊實現主要是由王一帆同窗實現的,Fastboot燒寫鏡像這塊主要是我來實現的。

將咱們在上個環節中編譯出來的程序代碼拷到一塊兒後,在Linux中以管理員身份運行mkuboot.sh這個shellcode文件,便可自動運行鏡像燒寫過程。

而Fastboot方式燒寫鏡像就在Windows平臺下操做便可,將編譯好的文件放在鏡像燒寫的目錄中,在安裝好設備的Fastboot鏡像並添加了Fastboot命令的狀況下,使用資料中給出的批處理命令自動燒寫便可成功。

4.Linux內核調試

在這以後的內容都是我和王一帆同窗共同完成的兩我的都進行了實驗操做,在啓動了開發板上的Linux命令提示符後,程序一直向咱們彙報錯誤以下所示,出於膽小一直沒敢輸入指令,後來才知道不停跳出錯誤提示這個過程當中能夠大膽敲入咱們須要的命令。這個時候咱們並不知道開發板上沒有燒WiFi模塊,畢竟開發板被一塊大屏幕蓋住了,後面另找老師要來了WiFi模塊的外接設備,雖然啓動後仍然在跳出錯誤報告和日誌信息,可是建立軟連接後就能夠正常鏈接到設備上了。

在獲取到了外接WiFi模塊後無線網卡會在開啓wap_supplicant服務後,在ifconfig中失去wlan0網卡,因此WiFi模塊目前實現仍是存在問題。

5.BOA和視頻模塊調試

BOA服務器循序漸進開啓服務便可打開,後來也證實了之後不須要再屢次手動開啓服務,開機會自動啓動,啓動服務後在電腦上訪問開發板的IP地址便可鏈接到管理平臺。(因爲WiFi模塊出錯,因此這裏只能使用網線直連電腦,須要配置eth0網卡IP和電腦以太網口靜態IP地址,確保電腦能Ping通開發板,開發板Ping不通電腦多是防火牆規則所致)

試一下,LED和蜂鳴器的控制都是正常的 ,風扇控制不了由於咱們開發板上並無風扇這個設備,因此暫時放掉了。

視頻模塊這裏咱們在試用指導書上的命令時,提示Camera設備繁忙,沒法使用video0接口進行攝像頭調用,天然也就沒法經過訪問8080或者是本身設定好的端口進行訪問鏈接攝像頭,而且咱們很難判斷具體是哪一個進程在佔用攝像頭,我在嘗試kill掉一些程序後中止了嘗試,不敢去kill掉系統進程。

咱們換了一個video1進行視頻模塊的調試,出現了一些變化,8080端口能夠訪問再也不是404:Not Found了,可是頁面背景是灰色的,並無攝像頭的圖象顯示,我我的認爲是攝像頭的video設備錯誤,video0之外的設備不能獲取圖象。

4、其它出現的問題

驅動程序Fastboot安裝有錯

安卓設備目前只有個人設備能夠作到鏈接上後能夠在設備管理器中看到它併爲其安裝驅動程序,因此目前只有個人設備能夠經過Fastboot方式燒寫SD卡鏡像,另外,許星霖組員的電腦上沒法將Fastboot代碼添加到環境變量Path中因此發Fastboot命令沒法找到。

解決方案:Fastboot驅動安裝時應關閉驅動強制簽名,百度上可查,親測有效。可是在本次課程設計結束後應調回初始設置,不然電腦將面臨危險,不推薦長時期使用這個狀態。

VMware鏈接SD卡設備出錯

這個我目前其實也不知道怎麼解決,由於個人VMware好像只有在實現這個課程設計的時候纔出現這個問題,目前能想到的給你們提供的方法也就是更新VMware版本或者修改服務項的鍵值,到如今仍然不能解決。

相關文章
相關標籤/搜索