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

基于Python和Django框架的物聯網智能設備管理系統的設計與實現

2018-09-03 10:42:32楊武帥萬啟元桑賢伯
中國新技術新產品 2018年11期
關鍵詞:物聯網

楊武帥 萬啟元 桑賢伯

摘 要:針對目前日益增多的智能設備提出了兼容性好,穩定性高,易于管理的管理系統的設計方法。在服務器端使用Python和Django框架進行與設備的數據交互及設備管理網站的構架,以手表為例說明整個管理系統的設計。

關鍵詞:Python;物聯網;Django;智能設備

中圖分類號:TP311 文獻標志碼:A

Abstract: In view of the increasing number of intelligent equipment, the design method of the management system with good compatibility, high stability and easy management is put forward. At the server side, we use Python and Django framework to interact with device and manage the website of device management. We take watch as an example to illustrate the design of the whole management system.

Keywords:Python;Internet of things;Django;intelligent equipment

1 編程語言與開發框架

1.1 Python介紹

Python是一種廣泛使用的高級編程語言,其擁有可讀性強、語法簡潔和跨平臺等特點。支持包括面向對象、命令式、函數式和過程式編程等編程范式。同時Python是社區驅動的開源編程語言。Python程序可讀性高,開發周期短,可靠性強,適于網絡通信需要。同時Python開發的程序具有很強的可移植性,可以在很多不同發行版本的Linux、Windows、Mac OS X等操作系統間完美移植,使用Python可以很大幅度地增強服務器程序的適應性,使服務器程序能最大限度地在現有的服務器上運行而不需要更換服務器操作系統。

1.2 Django介紹

Django是一個由Python編寫的開源Web應用框架,它采用模型(Model),視圖(View)和模板(Template)即MVT開發模式,支持眾多中間件并有豐富的內建應用。Django使原本復雜的網站后臺開發和維護變得更簡單,并在執行效率、安全性等方面有很大提升。

1.3 版本選擇

基于以上,管理系統使用Python語言和Django框架開發。經過版本比較,最終使用了目前發行的最新穩定版本,即Python3.6.4與Django2.0.1。為了使最終的設備管理終端可以適用于各種平臺并便于維護(如:Android、MAC OS X等移動平臺或PC平臺)管理系統采用B/S模式,即客戶使用瀏覽器通過網頁管理智能設備。

在開發時整個系統被劃分為設備接口部分、數據庫部分,數據處理與加密算法部分、管理網頁部分。每個部分分別開發。

2 設備接口部分

2.1 設備接口部分簡介

設備接口部分主要提供服務器與智能設備間的數據交互接口。智能設備通過網絡訪問服務器的設備接口來進行。在手表端手表需要實時上傳使用者的運動及健康數據,并且服務器可能會不定時地向手表發送信息,通知手表使用者一些消息,手表管理者也會通過服務器向手表發送命令或者消息。

2.2 實施方案

基于以上所述數據交互模式,只能選用便于隨時互相發送可靠數據的TCP長連接。TCP長連接占用服務器資源較大,但是數據發送靈活,可靠性高。在手表的應用中手表的管理者可以隨時向手表發送身體狀態查詢的命令和通知信息,并且當手表使用者身體有恙時手表可以迅速地將身體狀況信息發送到服務器,通知手表管理者,快速響應手表使用者的身體狀況以便采取相應措施。

2.3 設備接口的安全性

對于設備接口可能遭受的TCP長連接洪水攻擊,設備接口的TCP連接有相應的鑒權掉線機制。在每次商定密鑰后手表與服務器之間會相互鑒權,手表中的客戶與服務器鑒權密碼是根據手表的序列號和當前固件自帶的健全密鑰算法得出。在服務器對手表鑒權前,服務器會發送針對該手表的服務器鑒權密碼讓手表對服務器鑒權,防止攻擊者偽造服務器騙取手表鑒權密碼。手表與服務器的鑒權通信是協商密鑰并加密后進行的,所以通信中的密鑰不會受到中間人攻擊。在固件升級時服務器鑒權密碼與手表鑒權密碼算法均改變,既防止了由于手表固件太過陳舊導致的功能問題,又防止使用同一鑒權密碼時間太長導致的安全隱患。

3 數據處理與加密算法部分

3.1 數據處理與加密部分簡介

數據處理部分是位于接口部分之后,處理手表發送到服務器的數據或者打包服務器向手表發送的數據。

為了保證手表用戶數據安全,防止健康數據位置數據等隱私的泄露,服務器必須采取加密措施。在與手表通信時加密,在與手表管理者通信時加密,在數據庫中存儲加密。

3.2 數據處理部分實施方案

在數據處理部分中要將數據打包解包發送到設備接口或者存入數據庫,要使用便于發送,便于調試,不易出錯的打包解包方案,于是選用JSON數據交換方式。JSON是一種輕量級數據交換格式,它語言簡潔,層次清晰,實現簡單,便于在嵌入式設備中操作。JSON生成的字符串極具可讀性,很大程度上方便了調試。手表制作時采用了JSON的數據交換格式,所以在手表與服務器傳遞數據時,數據處理部分將傳遞的信息以JSON打包(解包)來進行數據傳遞。

3.3 加密部分實施方案

在與手表的數據交互中需要采取加密防止中間人攻擊等攻擊方式導致的使用者信息泄露。在手表這樣的嵌入式設備中運行復雜的加密算法無疑是非常耗時的,而添加硬件加密模塊會增大手表的體積影響便攜性,所以采用了TEA加密算法,TEA算法實現簡單,消耗資源少,極其容易通過軟件實現。于是在服務器端,與手表通信的數據也采用了TEA加密技術,并確定加密輪數為32輪。存入數據庫的密碼類數據也是需要加密的,防止拖庫帶來的用戶信息泄露。存入數據庫的數據并不需要完整,只需要通過驗證即可,因此采用了MD5摘要算法,因為用戶名不可更改并與密碼一一對應,于是取用戶名為鹽值添加到密碼后面整體進行MD5運算,如圖1所示。

3.4 加密密鑰的確定

在與手表通信時加密需要約定密鑰才能完成。在每次發起長連接時發起交換密鑰來約定密鑰,每次更換密鑰,使通信具有前向安全性。在每次密鑰交換時,先進行RSA協商來協商兩個素數,再通過DH交換來交換通信密鑰。在TCP長連接握手后發送RSA素數協商,每次RSA協商由服務器發起先由服務器發送公鑰給手表。服務器等待手表返回加密后的素數,返回并用私鑰解密后服務器發起DH密鑰協商,服務器將對數明文發送到手表并等待手表返回對數,當手表返回明文對數后服務器經過運算取得密碼。

4 數據庫部分

Django 默認數據庫是SQLite3數據庫,于是項目采用SQLite3數據庫。

4.1 數據庫各項關系

數據庫中的用戶分為3種:普通用戶、網站管理員、超級管理員。

普通用戶具有其唯一ID、用戶名、密碼、注冊時間、郵箱。

每個手表設備具有唯一序列號、持有者。

每個手表會不定時返回心率、血壓、坐標。

每個手表會在使用者運動狀態改變時返回運動狀態改變情況。

管理員具有唯一管理員ID、用戶名、密碼。

超級管理員只有一位,具有用戶名和密碼。

具體數據庫設計如圖2所示。

經驗證,該數據庫設計滿足巴斯范式,在正常使用中不存在插入異常、刪除異常和修改異常。

5 管理網頁部分

5.1 管理網頁部分介紹

管理網頁部分是手表使用者的家人查看手表使用者的健康情況,發送消息給手表使用者時使用的,能將數據庫中對應手表的數據圖形化輸出到網頁上。網頁有登陸、綁定手表,查看已綁定手表返回的各項信息與發送信息到已綁定手表功能。

5.2 網頁前端

人性化的圖形界面有助于用戶更方便地管理手表的信息。在網頁前臺使用了HTML5和Bootstrap開源前端來組織頁面。Bootstrap更強調響應式設計,會根據不同設備的視窗寬度來組織頁面,使頁面可以同時適用于移動終端與PC終端,減少客戶端開發成本,增強易維護性。

5.3 網站后臺

網站后臺使用Django框架開發,Django框架可以與Python開發的其他部分無縫結合,與其他部分共用數據庫,縮減開發時間,降低維護成本。

網站后臺承擔著管理網站和其他部分之間的交互工作。在網頁登陸時后臺會根據數據庫判斷用戶名密碼是否正確,向用戶發送包含SessionID的Cookie使用戶可以保持登陸。并根據用戶當前所綁定的手表向用戶提供該手表返回的使用者信息。

5.4 網站安全性

網站可以查看手表使用者的健康狀態、位置等數據,網站需要擁有足夠的安全性保證用戶的數據不泄露。在登陸時添加圖形驗證碼和IP黑名單機制防止分布式碰撞攻擊。在操作數據庫的接口加入字符串格式化防止SQL注入攻擊。利用Django本身防止XSS注入攻擊和防止CSRF跨站攻擊的特性防止相應攻擊。需要加密的數據也會提交到處理與加密部分減少由于數據泄露造成的二次危害。

結語

本文結合了Python以及Django框架開發了一個B/S結構的物聯網設備管理系統。在功能方面完全滿足智能手表管理的需求,并能很方便地移植到其他的物聯網智能設備上。希望在未來管理系統可以改進并管理多種不同的設備,并能承載更大的壓力。

參考文獻

[1]王冉陽.基于Django和Python的Web開發[J].電腦編程技巧與維護,2009(2):56-58.

[2]劉志凱.基于Web的Python編程環境研究[D].新疆農業大學,2015.

[3]羅霄,任勇,山秀明.基于Python的混合語言編程及其實現[J].計算機應用與軟件,2004(12):17-18,112.

猜你喜歡
物聯網
基于物聯網的煤礦智能倉儲與物流運輸管理系統設計與應用
基于高職院校物聯網技術應用人才培養的思考分析
基于LABVIEW的溫室管理系統的研究與設計
論智能油田的發展趨勢及必要性
中國或成“物聯網”領軍者
環球時報(2016-08-01)2016-08-01 07:04:45
主站蜘蛛池模板: 呦女亚洲一区精品| 精品国产中文一级毛片在线看 | 亚洲AⅤ无码日韩AV无码网站| 亚洲欧洲日本在线| 久久婷婷综合色一区二区| 国产男女免费完整版视频| 久久人人97超碰人人澡爱香蕉| 久久国产香蕉| 国产老女人精品免费视频| 青青草欧美| 国产成在线观看免费视频 | 亚洲人成色77777在线观看| …亚洲 欧洲 另类 春色| 日本www在线视频| 国产精品露脸视频| 四虎成人在线视频| 精品少妇人妻一区二区| 91无码人妻精品一区二区蜜桃| 性视频一区| 亚洲成年人网| 国产经典在线观看一区| 国内精品免费| 亚洲a级在线观看| 亚洲天堂啪啪| 一本综合久久| 国产精品九九视频| 精品久久香蕉国产线看观看gif| 一本一道波多野结衣av黑人在线| 精品一区二区三区无码视频无码| 亚洲美女一级毛片| 亚洲精品国产日韩无码AV永久免费网 | 国产精品嫩草影院av| 亚洲一区二区日韩欧美gif| 草草影院国产第一页| 伊人中文网| 亚洲中文在线看视频一区| 在线观看热码亚洲av每日更新| 欧美一区二区三区香蕉视| 国产免费网址| 91精品伊人久久大香线蕉| 免费国产在线精品一区 | 2020最新国产精品视频| 国产精品成人第一区| 国产微拍一区二区三区四区| 九色91在线视频| 色网在线视频| 国产69精品久久久久孕妇大杂乱| 亚洲精品成人福利在线电影| 在线va视频| 色偷偷综合网| 中日韩欧亚无码视频| 欧美精品在线看| 视频一区亚洲| 成人看片欧美一区二区| 国产丝袜第一页| 在线国产欧美| 青草视频免费在线观看| 日本欧美视频在线观看| 国产免费久久精品99re丫丫一| 亚洲免费福利视频| 91精品国产91久无码网站| 国国产a国产片免费麻豆| 国产精品妖精视频| 久久亚洲国产视频| 国产精品页| 手机在线免费毛片| 超碰91免费人妻| 天天色天天操综合网| 91青青在线视频| аⅴ资源中文在线天堂| 日韩av无码精品专区| 都市激情亚洲综合久久| 国产99精品久久| 国产成人毛片| 欧美色伊人| 色综合久久88| 国产福利免费视频| 日韩AV无码一区| 中文成人在线| 成人a免费α片在线视频网站| 日韩天堂在线观看| 成年A级毛片|