بدون توضیح

dever f13469468d edit 5 سال پیش
admin 51123f163a edit 6 سال پیش
conf 227ab08bec edit 6 سال پیش
doc 8d91f49cac edit 6 سال پیش
front f13469468d edit 5 سال پیش
model 78617082ca edit 6 سال پیش
runtime bd69d8897b edit 6 سال پیش
service 07a7347901 edit 5 سال پیش
web 6a973deb84 edit 6 سال پیش
.gitignore cf087cc86c edit 6 سال پیش
LICENSE 8d91f49cac edit 6 سال پیش
README.md 8d91f49cac edit 6 سال پیش
admin.py 8d91f49cac edit 6 سال پیش
control.py c008d280df edit 6 سال پیش
cron.py 62e6fe4c33 edit 5 سال پیش
front.py 8d91f49cac edit 6 سال پیش
install.py 3264757d9b edit 6 سال پیش
pic.py 13920a3a67 edit 6 سال پیش
pub.py b7ce251ab8 edit 6 سال پیش
sub.py 8d91f49cac edit 6 سال پیش
switch.py 3264757d9b edit 6 سال پیش
tcp.py 8d91f49cac edit 6 سال پیش
web.py 8d91f49cac edit 6 سال پیش

README.md

demeter

数据采集服务+本地web界面

开发语言:python 框架:gevent+tornado+demeter类

通信协议:

所有通信都是基于topic(key:value)的形式进行传输。

topic的key定义:method/type/parent/child

其中,method为传输的数据类型(见基础数据类型表),type为设备的类型(见设备类型表),parent为网关id,child为设备id

1、接入网关:在农场后台,录入网关基本信息,如网关的设备id和名称即可。

2、接入设备:无需在后台录入,只要使用以下topic定义就能自动接入。

topic具体定义:


1、需要设备pub的key:用于数据、状态等提交到服务器,value均为数值

1.1、传感器:

key定义:sensor/温度等/gateway/device

说明:获取传感器数据,可以定义5分钟提交一次

注意:如需要批量提交,请去掉device项,value改成json格式:{'device_1':12,'device_2':33}


1.2、控制器:

    key定义:control/阀门、卷帘/gateway/device
    
    说明:获取控制器状态,可以定义30秒或者更短提交一次

1.3、摄像头拍照:

    key定义:pic/图片名_总数_当前序号/gateway/device
    
    说明:获取摄像头的照片,可以定义10分钟提交一次

1.4、电源:

    key定义:power/power/gateway/device
    
    说明:电源比较特殊,所以单独拿出来做一个类型。
    
    注意:当为网关电源时,gateway和device值相同即可


2.需要服务器pub的key:

2.1、更新开关状态:

    key定义:update/阀门等定义/gateway/device
    
    说明:更新开关的状态,设备sub订阅update/#这样的消息即可,qos需要为2。

附表(待持续完善):

1、基础数据类型表

类型名 说明
sensor 传感器
control 控制器
pic 摄像头
power 电源
update 更改状态

2、设备类型表

类型名 所属基础类型 说明
temprature sensor 温度
humidity sensor 湿度
light sensor 光照
co2 sensor 二氧化碳
pm2.5 sensor pm2.5
power power 电源
valve control、update 阀门
blower control、update 放风机