#!/usr/bin/env python # -*- coding: utf-8 -*- from demeter.core import * def manage(): model = Demeter.model('manage_admin') model.id = 1 info = model.select(type='fetchone') if not info: model.role_id = 1 model.username = 'admin' model.mobile = '15810090845' model.password = '123456' model.insert() model = Demeter.model('manage_role') model.id = 1 info = model.select(type='fetchone') if not info: model.name = '管理员' model.insert() def web(): model = Demeter.model('web_set') model.id = 1 info = model.select(type='fetchone') if not info: model.name = '新农宝盒智慧云平台' model.keywords = '新农宝盒,智慧云平台,智能硬件,大数据,农业,农业互联网' model.description = '新农宝盒智慧云平台' model.icp = '京ICP备12045252号-2' model.tel = '18701029660' model.passtel = '18701029660' model.mobile = '' model.buy = '' model.insert() model = Demeter.model('web_article_category') data = ('站点介绍', '焦点图', '系统优势') for value in data: model.name = value info = model.select(type='fetchone') if not info: model.name = value model.insert() model = Demeter.model('web_article') data = ('合作伙伴', '免责声明', '联系我们', '帮助文档', '团队介绍') for value in data: model.name = value info = model.select(type='fetchone') if not info: model.category_id = 1 model.name = value if model.name == '帮助文档': model.link = '/help' model.insert() model = Demeter.model('web_menu') data = ( {'name':'新农宝盒首页','link':'/main'} ,{'name':'灌溉商城','link':'http://www.guangaishangcheng.com/'} ,{'name':'帮助中心','link':'/help'} ) for value in data: model.link = value['link'] info = model.select(type='fetchone') if not info: model.name = value['name'] model.link = value['link'] model.insert() def farm(): farm_id = 1 model = Demeter.model('farm') model.id = farm_id info = model.select(type='fetchone') if not info: model.name = '默认园区' model.insert() # 初始化网关,测试用 hardware_id = 10086 model = Demeter.model('device_gateway') model.hardware_id = hardware_id info = model.select(type='fetchone') if not info: model.farm_id = farm_id model.hardware_id = hardware_id model.name = '默认网关' id = model.insert() Demeter.service('device').upGatewayStatus(farm_id, id, hardware_id) def device(): # 以下类型只能新增,不能随意更改或删除 # 初始化设备类型 device_type = ( {'name':'温度', 'key':'temprature', 'unit':'℃'} ,{'name':'湿度', 'key':'humidity','unit':'%RH'} ,{'name':'光照', 'key':'light','unit':'LUX'} ,{'name':'二氧化碳', 'key':'co2','unit':'PPM'} ,{'name':'风速', 'key':'speed','unit':'km/h'} ,{'name':'风向', 'key':'direction','unit':''} ,{'name':'PM2.5', 'key':'pm2.5','unit':'μg/m3'} ,{'name':'电源', 'key':'power','unit':'V'} ,{'name':'阀门', 'key':'valve','unit':''} ,{'name':'放风机', 'key':'blower','unit':''} ,{'name':'卷帘机', 'key':'curtain','unit':''} ) model = Demeter.model('device_type') for value in device_type: model.key = value['key'] info = model.select(type='fetchone') if not info: model.key = value['key'] model.name = value['name'] #model.exp = '{n}' model.unit = value['unit'] model.insert() # 初始化硬件类型 1/1/2/3/4/5/6 hardware_type = ( {'name':'网关', 'key':'gateway'} ,{'name':'传感器', 'key':'sensor'} ,{'name':'控制器', 'key':'control'} ,{'name':'电源', 'key':'power'} ,{'name':'状态', 'key':'status'} ,{'name':'摄像头', 'key':'pic'} ,{'name':'摄像机', 'key':'camera'} ) model = Demeter.model('hardware_type') for value in hardware_type: model.key = value['key'] info = model.select(type='fetchone') if not info: model.key = value['key'] model.name = value['name'] model.insert() # 初始化消息类型 msg_type = ( {'name':'系统消息', 'key':'system'} ,{'name':'警告提醒', 'key':'notice'} ,{'name':'操作提示', 'key':'oper'} ,{'name':'新闻', 'key':'news'} ) model = Demeter.model('msg_type') for value in msg_type: model.key = value['key'] info = model.select(type='fetchone') if not info: model.key = value['key'] model.name = value['name'] model.insert() # 初始化错误码类型 notice_type = ( {'name':'设备离线', 'key':'offline'} ,{'name':'请求超时', 'key':'timeout'} ) model = Demeter.model('notice_type') for value in notice_type: model.key = value['key'] info = model.select(type='fetchone') if not info: model.key = value['key'] model.name = value['name'] model.insert() manage() web() farm() device() print 'install success!'