代码地址:#
整体架构设计#
设计思路:基于HTTP协议的(类MQTT)+Server+Web的开发。
客户端向服务端进行订阅信息(定时心跳并汇报状态)、上传传感器数据(原数据)、并刷新服务端的指令要求!
1.0的简化版本#
Mysql的数据结构#
传感器信号的采集存储【device_log】#
一个信号一个设备(传感器)ID、存储的原始值为String、一个精准的时间戳、一个备用的备注
id | device_id | value | time | bz |
---|
1 | 1 | 24.5 | 2023-11-15 23:55:32 | test |
传感器的信息(定死)【device_message】#
传感器的name、归属模块module_id、检测类型type、检测单位unit、备注bz、
阈值报警提示:最大值man、最小值min、
id | name | module_id | type | unit | man | min | bz |
---|
1 | 温度传感器 | 1 | 温度 | ℃ | 40 | 10 |
|
模块的信息(用户最小控制范围为模块)(定死)【module_message】#
模块name、模块的状态status(30s中内有心跳为1、没有心跳1min为0、删除为-1) 、
模式设置mode(0为自动模式、1为智能模式、2为严格模式)、备注bz、
id | name | status | mode | bz |
---|
1 | 智能晾衣架模块 | 0 | 1 | |
模块的心跳记录(大约30S会汇报一次)【module_log】#
id | module_id | time | bz |
---|
1 | 1 | 2023-11-15 23:55:32 | test |
控制指令记录(用户选择规范指令)(定死)【oder_message】#
指令名字、指令内容message、控制模块module_id、
指令状态status(1可用、0禁用、-1已删除)、备注bz、
id | name | message | module_id | status | bz |
---|
1 | 打开窗户 | OpenWindows | 1 | 1 | test |
控制记录(用户刷新指令,模块按顺序执行)【oder_log】#
操作者ID、指令ID、模块ID、
操作时间(用户输入时)、执行时间(模块刷新到时)、
成功失败未响应撤回status(操作完回馈信息:1成功、2失败、0暂未向应、-1已撤销)、备注bz、
id | user_id | module_id | write_time | read_time | status(0) | bz |
---|
1 | 1 | 1 | 2023-11-15 23:55:32 | 2023-11-15 23:56:02 | 1 | test |
用户信息【user_message】#
用户ID、用户name、email、pwd、loginTime、sex、phone、备注bz、操作次数visit、
权限等级(1可以看、2可操作、4可管理,同理3=1+2、5=1+4、7=1+2+4)
id | name | pwd | email | power | phone | loginTime | sex | visit | bz |
---|
1 | JIMO | 123456 | 1517962688@qq.com | 7 | 13843819438 | 2023-11-15 23:55:32 | 1 | 20 | Admin |