Skip to content

wutingkang/IOTEWebManagementPlatform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

IOTEWebManagementPlatform

一个物联网设备 Web 管理平台

作业需求: 实现一个物联网设备 Web 管理平台。 模拟照明灯、温度传感器、湿度传感器等基本的物联网设备

##基本要求: ###有基本的用户管理功能 ###用户可以添加删除需要监测管理的设备 ###用户可以查看设备列表及设备的当前状态 ###模拟物联网设备向服务器周期性上报状态 ##扩展要求(选做其中的几项): ###1、可以查看设备的历史数据,如显示最近一段时间(1 个小时或 1 天等)内的温度变化情 况,灯的开关情况 ###2、前端界面能及时显示设备状态变更情况 ###3、增加对设备的控制功能,如能向模拟的设备发送开关命令 ###4、增加告警功能,可以设置告警阈值,生成告警记录或者能向指定邮箱发送邮件 ##分析: 实现网页监视控制模拟的物联网设备,关键是要实现网页端对数据库的动态访问,实时显示 模拟物联网设备的数据变化显示。 网页端采用 AJAX 动态访问和 REST 表述性状态传递套设计原则和架构风格,这样就能够实现 在同一个页面中数据的实时变化和对传感器的编辑, 如新增,删除,重命名,控制传感器工 作状态等。对于物联网设备的模拟,一开始听老师讲可以使用 socket 技术, 但是想来想去也 不知道该怎么弄,后面才发现涉及到 socket 的内容课程后面才讲到。虽然学了,但是发现实 现起来比使用 AJAX 技术要复杂麻烦,所以,对物联网设备的模拟便采用后者的办法。 具体实现详见下面分析。 ##设计: ###具体设计的功能: ###登陆,用户名也可以显示; ###添加设备(重名时有提示,同一个添加按钮在选择显示不同的传感器时添加的是不同的设备; 没有选择显示的设备时有提示), ###删除设备; 没有选择显示的传感器种类却新建设备时会提示:先选择显示的传感器种类 同一个页面可以选择显示 三种不同的传感器数据(表头,数据); ###定时刷新; 编辑按钮 弹出的页面可以修改 名称 状态(直接把状态映射到按钮上,不同状态有不同的 颜色和文字); ###因为修改名称和状态在同一个模板上,同时修改二者且点击状态按钮时也有重名提示;   ##实现: ###建立 Django web 工程,主体实现内容: ###新建 superuser,实现账户登录功能; ###model 文件里新建三个传感器数据模型,都包含:名称,设备工作状态。监测的数据; ###在模板文件夹中新建 login.html(登陆页面) 和 managePlatform.html(主页面,数据显示,传感 器操作); ###新建 app,并在 urls.py 和 view.py 文件中编写相关处理函数及其映射,函数的功能详见工 程中的注释; ###对物联网设备的模拟是每次从服务器请求工作状态是工作中的传感器对象集合,随机改变检 测数据后再写回服务器的数据库, ###使用 AJAX 技术,所以页面可以始终保持在同一个。 对数据的动态显示也是同样的道理,从服务器读取数据转换成可读性更好的形式再显示出来。 ###物联网设备的模拟和数据的动态显示都是定时执行,而且可以根据当前查看的传感器种类关 闭其他传感器的模拟,按钮的颜色, 列表表头的内容都可以根据查看的传感器种类而改变。

About

一个物联网设备 Web 管理平台

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published