Skip to content

Instantly share code, notes, and snippets.

@JohnChain
Last active January 2, 2016 14:29
Show Gist options
  • Save JohnChain/8317187 to your computer and use it in GitHub Desktop.
Save JohnChain/8317187 to your computer and use it in GitHub Desktop.
综合的protobuf消息格式
message message_header_0x01
{
required int32 message_id = 1;
optional int32 session = 2;
}
message room {
required int32 room_id = 1;
}
message sensor {
required int32 temp = 1;
required int32 humi = 2;
required int32 light = 3;
required int32 co2 = 4;
}
enum MESSAGE_ID {
READ_TIME = 1;
READ_TIME_RESPONSE = 2;
UPDATE_TIME = 3;
UPDATE_TIME_RESPONSE = 4;
READ_CONF = 5;
READ_CONF_RESPONSE = 6;
UPDATE_CONF = 7;
UPDATE_CONF_RESPONSE = 8;
READ_CONTROLLER_STATE = 9;
READ_CONTROLLER_STATE_RESPONSE = 10;
UPDATE_CONTROLLER_STATE = 11;
UPDATE_CONTROLLER_STATE_RESPONSE = 12;
READ_SENSOR_DATA = 13;
READ_SENSOR_DATA_RESPONSE = 14;
SENSOR_DATA_PUSH = 15;
}
// 1. READ_TIME只是一个动作, 不需要参数
// 2. READ_TIME_RESPONSE
message SynTime {
required string timestamp = 1; //时间格式为:"2014-01-08 22:15:42"
}
// 3. UPDATE_TIME
//message SynTime
//4. UPDATE_TIME_RESPONSE
enum RESPONSE {
OK = 1;
// ……
}
message ResponseCode {
required RESPONSE code = 1;
optional string log = 2;
}
//-------------------------------------------
// 1. READ_CONF
// READ_CONF传输过程中使用的消息是conf_list, 注意required字段, 也就是说发送放将需要read的conf 的k填好, 然后填写到conf_list当中;
message conf {
required string k = 1;
optional int32 v = 2;
}
message conf_list {
repeated conf c = 1;
}
// 2. READ_CONF_RESPONSE
//message conf_list;
// 3. UPDATE_CONF
//message conf_list;
//4.UPDATE_CONF_RESPONSE;
//message ResponseCode
//-------------------------------------------------
// 1. READ_CONTROLLER_STATE
message Controller {
required int32 controller_id = 1;
enum STATE {
OPEN = 1;
CLOSE = 2;
ERROR = 3;
}
optional STATE state = 2;
}
// 2. READ_CONTROLLER_STATE_RESPONSE
//message Controller;
// 3. UPDATE_CONTROLLER_STATE
//message Controller;
// 4. UPDATE_CONTROLLER_STATE_RESPONSE
//message ResponseCode;
//1. READ_SENSOR_DATA
//2. READ_SENSOR_DATA_RESPONSE
//3. SENSOR_DATA_PUSH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment