推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python和Django框架的物联网智能设备管理系统的设计与实现

更新时间:2019-12-25 09:19:43 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:pythondjango框架物联网智能设备 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

针对目前日益增多的智能设备提出了兼容性好,稳定性高,易于管理的管理系统的设计方法。在服务器端使用Python和Django框架进行与设备的数据交互及设备管理网站的构架,以手表为例说明整个管理系统的设计。


部分文件列表

文件名 大小
基于Python和Django框架的物联网智能设备管理系统的设计与实现.pdf 2M

部分页面预览

(完整内容请下载后查看)
2018 NO.6上)  
中国新技术新产品  
高 新 技 术  
基于Python和Django框架的物联网智能设备  
管理系统的设计与实现  
杨武帅ꢀꢀ万启元ꢀꢀ桑贤伯  
(辽宁科技大学,辽宁 鞍山 114051)  
摘ꢀꢀ要 针对目前日益增多的智能设备提出了兼容性好,稳定性高,易于管理的管理系统的设计方法。在服务器  
端使用 Python 和 Django 框架进行与设备的数据交互及设备管理网站的构架,以手表为例说明整个管理系统的设  
计。  
关键词 Python 联网 Django 能设备  
中图分类号 TP311ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ  
文献标志码 A  
Abstract:ꢀIn view of the increasing number of intelligent equipmentthe design method of the management system with  
good compatibilityhigh stability and easy management is put forward. At the server sidewe 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.2 Django 介绍  
Django 是一个由 Python 编写的开源 Web 应用框架采  
1 编程语言与开发框架  
1.1 Python 介绍  
用模型(Model视图(View)和模板(Template)即 MVT  
开发模式持众多中间件并有丰富的内建应用Django使原  
本复杂的网站后台开发和维护变得更简单,并在执行效率、  
安全性等方面有很大提升。  
Python 是一种广泛使用的高级编程语言,其拥有可读性  
法简洁和跨平台等特点。支持包括面向对象令式、  
函数式和过程式编程等编程范式时 Python 是社区驱动的  
开源编程语言。Python 程序可读性高,开发周期短,可靠性  
于网络通信需要。同时 Python 开发的程序具有很强的  
可移植性以在很多不同发行版本的 LinuxWindowsMac  
OS X 等操作系统间完美移植使用 Python 可以很大幅度地增  
强服务器程序的适应性,使服务器程序能最大限度地在现有  
的服务器上运行而不需要更换服务器操作系统。  
1.3 版本选择  
基于以上,管理系统使用 Python 语言和 Django 框架开  
发。经过版本比较,最终使用了目前发行的最新稳定版本,  
即 Python3.6.4 与 Django2.0.1了使最终的设备管理终端可  
以适用于各种平台并便于维护(如 :AndroidMAC OS X 等移  
源通常选用恒流特征电源嘴高度提升后口将被拓宽, 切割金属制品材质、尺寸参数及热导率等密切相关,切割速  
切割电流将减小,而功耗、弧长及电压均会增大,进一步增  
大弧柱能量损耗,导致切割能量的降低 时,在喷嘴射流  
口处等离子射流的形态多为外膨胀型,而为实现对切割质量  
及速度的有效控制,需控制喷嘴高度在阈值范围下限,并避  
免双弧现象出现,可考虑采用陶瓷外喷嘴。  
度较低时不利于对电弧质量的有效控制,且易导致金属融  
化,形成圆角边缘 切割速度过快时易引发切口挂渣,影  
响切割质量。  
结语  
数控切割技术基于数字化程序控制技术发展而来,并伴  
随技术领域的突破不断取得新的发展。国内等离子数控切割  
技术尚处于起步发展阶段,需通过电弧电压及切割速度、切  
割功率密度、喷嘴高度、工作气体与流量等技术要点的有效  
控制不断提升切割效率及精度。  
3.3 工作气体与流量  
在等离子数控切割中,需依据待切割金属板的材质、厚  
度等合理选用工作介质,包括切割气体、辅助气体及起弧气  
体等,一方面起到对氧化物的清洁作用,另一方面确保等离  
子射流合理形态。在流量控制方面,应避免流量过大引发射  
流长度的缩短,进一步降低电弧稳定性及切割质量性能 也  
应避免流量过小引发的等离子弧挺直度变差,等离子弧切割  
机多通过气体压力实现有效控制。  
参考文献  
[1] 刘德刚,李佳星,赵静赟 . 基于 ObjectARX 的切割轨迹  
自动编程系统的设计与实现 [J]. 组合机床与自动化加工技术,  
2014(8137-139.  
3.4 电弧电压及切割速度  
[2] 雷刚,汪健,彭林,等 . 基于 PC104和 PCL6025B 的数控  
切割机控制系统设计 [J]. 制造业自动化,2014(5148-151.  
等离子数控切割设备的电弧电压是切割效率及精度控  
制的关键,电弧电压提升将导致电弧焓值的提升,同时射流  
流速也得到提升,有利于提升切割速度 割速度范围与待  
- 13 -  
2018 NO.6上)  
中国新技术新产品  
高 新 技 术  
动平台或 PC 平台)管理系统采用 B/S 模式,即客户使用浏  
览器通过网页管理智能设备。  
换格式,所以在手表与服务器传递数据时,数据处理部分将  
传递的信息以 JSON 打包(解包)来进行数据传递。  
在开发时整个系统被划分为设备接口部分、数据库部  
分,数据处理与加密算法部分、管理网页部分。每个部分分  
别开发。  
3.3 加密部分实施方案  
在与手表的数据交互中需要采取加密防止中间人攻击  
等攻击方式导致的使用者信息泄露。在手表这样的嵌入式设  
备中运行复杂的加密算法无疑是非常耗时的,而添加硬件加  
密模块会增大手表的体积影响便携性以采用了 TEA 加密  
算法,TEA 算法实现简单,消耗资源少,极其容易通过软件  
实现。于是在服务器端手表通信的数据也采用了 TEA 加  
密技术确定加密轮数为 32 轮。存入数据库的密码类数据  
也是需要加密的,防止拖库带来的用户信息泄露。存入数据  
库的数据并不需要完整,只需要通过验证即可,因此采用了  
MD5 摘要算法为用户名不可更改并与密码一一对应于  
是取用户名为盐值添加到密码后面整体进行 MD5 运算图  
1 所示。  
2 设备接口部分  
2.1 设备接口部分简介  
设备接口部分主要提供服务器与智能设备间的数据交  
互接口。智能设备通过网络访问服务器的设备接口来进行。  
在手表端手表需要实时上传使用者的运动及健康数据,并且  
服务器可能会不定时地向手表发送信息,通知手表使用者一  
些消息,手表管理者也会通过服务器向手表发送命令或者消  
息。  
2.2 实施方案  
基于以上所述数据交互模式,只能选用便于随时互相发  
送可靠数据TCP连接TCP连接占用服务器资源较大,  
但是数据发送灵活,可靠性高。在手表的应用中手表的管理  
者可以随时向手表发送身体状态查询的命令和通知信息,并  
且当手表使用者身体有恙时手表可以迅速地将身体状况信  
息发送到服务器,通知手表管理者,快速响应手表使用者的  
身体状况以便采取相应措施。  
图 1 密码入库加密代码段  
表 1 加密算法比较  
2.3 设备接口的安全性  
对于设备接口可能遭受的 TCP 长连接洪水攻击备接  
口的 TCP 连接有相应的鉴权掉线机制每次商定密钥后手  
表与服务器之间会相互鉴权,手表中的客户与服务器鉴权密  
码是根据手表的序列号和当前固件自带的健全密钥算法得  
出。在服务器对手表鉴权前,服务器会发送针对该手表的服  
务器鉴权密码让手表对服务器鉴权,防止攻击者伪造服务器  
骗取手表鉴权密码。手表与服务器的鉴权通信是协商密钥并  
加密后进行的,所以通信中的密钥不会受到中间人攻击。在  
固件升级时服务器鉴权密码与手表鉴权密码算法均改变,既  
防止了由于手表固件太过陈旧导致的功能问题,又防止使用  
同一鉴权密码时间太长导致的安全隐患。  
名称  
GOST  
RC4  
实现难度  
一般  
一般  
运算速度  
一般  
一般  
安全性  
一般  
IDEA  
TEA  
简单  
一般  
3.4 加密密钥的确定  
在与手表通信时加密需要约定密钥才能完成。在每次发  
起长连接时发起交换密钥来约定密钥,每次更换密钥,使通  
信具有前向安全性。在每次密钥交换时进行 RSA 协商来  
协商两个素数通过 DH 交换来交换通信密钥。在 TCP 长  
连接握手后发送 RSA 素数协商,每次 RSA 协商由服务器发  
起先由服务器发送公钥给手表。服务器等待手表返回加密后  
的素数,返回并用私钥解密后服务器发起 DH 密钥协商,服  
务器将对数明文发送到手表并等待手表返回对数,当手表返  
回明文对数后服务器经过运算取得密码。  
3 数据处理与加密算法部分  
3.1 数据处理与加密部分简介  
数据处理部分是位于接口部分之后,处理手表发送到服  
务器的数据或者打包服务器向手表发送的数据。  
表 2 密钥协商算法比较  
为了保证手表用户数据安全,防止健康数据位置数据等  
隐私的泄露,服务器必须采取加密措施。在与手表通信时加  
密,在与手表管理者通信时加密,在数据库中存储加密。  
算法  
RSA  
前身保密  
抗中间人  
DH  
DH+RSA  
3.2 数据处理部分实施方案  
在数据处理部分中要将数据打包解包发送到设备接口 4 数据库部分  
或者存入数据库,要使用便于发送,便于调试,不易出错的  
Django 默认数据库是 SQLite3 数据库,于是项目采用  
SQLite3 数据库。  
打包解包方案是选用 JSON 数据交换方式。JSON 是一种  
轻量级数据交换格式,它语言简洁,层次清晰,实现简单,  
便于在嵌入式设备中操作。JSON 生成的字符串极具可读性,  
很大程度上方便了调试。手表制作时采用了 JSON 的数据交  
4.1 数据库各项关系  
数据库中的用户分为 3 种 通用户、网站管理员、超  
- 14 -  

全部评论(0)

暂无评论