数据模型 - SaberGuo/thc-platform GitHub Wiki
模型
使用Laravel中validation规则和方式对模和模型关系进行定义,具体参见:https://laravel.com/docs/5.3/validation
扩展规则
- refer,引用另一个模型
var models = {
user: {
id: 'integer',
name: 'string'
},
device: {
id: 'integer',
name: 'string',
sn: 'string',
lat: 'numeric',
lon: 'numeric',
alt: 'numeric',
},
device_config: {
id: 'integer',
device_id: 'refer:device',
data: [
{
port: 'string',//接口类型,AD, 485
port_num: 0-10,//接口编号,AD0-11, 485-0,485-1
sensor_type: 'sensorNo'//传感器类型
params:[
{
"key": "Ta",
"desc": "",
"name": "空气温度",
"type": "temperature",
"unit": "℃",
"data_num": 0
},
{"key": "Ua",
"desc": "",
"name": "空气湿度",
"type": "humdity",
"unit": "%",
"data_num": 1},
{"key": "Pa",
"desc": "",
"name": "大气压",
"type": "pressure",
"unit": "hPa",
"data_num": 2
}]
},
...
// 待补充
],
},
device_data: {
id: 'integer',
device_config_id: 'refer:device_config',
ts: 'date',
data: {
'$user_define_key_name': {
value: 'numeric'
}
}
}
}
demo
[{"port": "Img", "params": [{"key": "img_env", "desc": "", "name": "图片1", "type": "image", "unit": "", "data_num": 0}], "port_num": 0, "sensor_type": "hisi"}, {"port": "485", "params": [{"key": "Ta", "desc": "", "name": "空气温度", "type": "temperature", "unit": "℃", "data_num": 0}, {"key": "Ua", "desc": "", "name": "空气湿度", "type": "humdity", "unit": "%", "data_num": 1}, {"key": "Pa", "desc": "", "name": "大气压", "type": "pressure", "unit": "hPa", "data_num": 2}], "port_num": 0, "sensor_type": "nh122"}, {"port": "AD", "params": [{"key": "solar", "desc": "", "name": "光照", "type": "solar", "unit": "lux", "data_num": 0}], "port_num": 0, "sensor_type": "nhzd10"}]
说明
界面操作说明
- 用户首先添加记录,首先选择sensor_type,根据sensor_type,port类型自动补齐(不用显示在网页上)
- 用户然后选择port_num(port_num从0开始,每种num有一定范围要求,后章节介绍)
- 选择sensor_type后,每个sensor_type具备不同个数的数据,后续章节介绍)
- sensor_type每个数据设定key,name,desc,三个部分由用户填写
port 类型包括AD,485,Img,PI
- AD:标识AD数据,port_num:0~11
- 485:标识为485接口,port_num:0~1
- Img:标识图像数据,port_num:0~1
- PI:标识脉冲数据,port_num:0~1
sensor_type 标识使用的传感器型号和采集的数据类型,现有的型号为,此参数应该为枚举类型
- davis_rain:降雨传感器,采集的数据为降雨量,port: PI, 降雨量:data_num:0,unit:mm,type: rain
- mec10:土壤传感器,采集的数据为土壤温度、port:485, 湿度,温度:data_num:0,unit:℃,type: temperature,湿度:data_num:1,unit:100%,type:humdity
- nh122:环境传感器, 采集的数据为空气温度、port:485, 湿度,温度:data_num:0,unit:℃,type: temperature, 湿度:data_num:1,unit:100%,type:humdity, 气压:data_num:2, unit:hPa,type:pressure
- nhfs45bu:风速传感器, 采集的数据为风速,port: AD, 风速:data_num:0,unit:m/s,type:windspeed
- nhfx46au:风向传感器, 采集的数据为风向,port: AD, 风向:data_num:0,unit:°,type:winddirect
- nhzd10:光照传感器,采集的数据为全辐射光照,port: AD, 光照:data_num:0,unit:lux,type:solar
- th10s: 土壤传感器, 采集的数据为土壤温度、湿度,port:485, 温度:data_num:0,unit:℃,type: temperature,湿度:data_num:1,unit:100%,type:humdity
- ms10vt: 土壤传感器,采集的数据为土壤温度,port:AD, 温度:data_num:0,unit:℃,type: temperature
- ms10vh: 土壤传感器,采集的数据为土壤湿度,port:AD, 湿度:data_num:0,unit:100%,type:humdity
- wxt520: 环境传感器,485接口,采集的数据为空气温度、湿度、气压、风速、风向,port:485, 风速:data_num:0, unit:m/s,type:windspeed, 风向:data_num:1,unit:°,type:winddirect, 温度:data_num:2,unit:℃,type: temperature,湿度:data_num:3,unit:100%,type:humdity气压:data_num:4, unit:hPa,type:pressure
- hisi: 图像传感器,采集数据为图像,port:Img, data_num:0,unit:无,type:image