智能家居通用管理平台(六) - 通信协议

    各厂商设备的状态数据和控制参数千差万别,为了规范驱动程序、客户端应用中使用数据的标准,我们制定了统一的数据格式,按照统一的协定,SHP就可以统一的模式管理所有的设备了。

    除了串口通信外,消息的传递采用stringJson对象。前面提到过,它实质是一个数据字典,可以存储任何内容。但存储的内容,必须按照SHP的协议读写。协议规定:

1、所有消息体内容(以后简称Json),必须含“cmd”词条(简称指令)。cmd的值,决定了消息的意义和使用方法,常用指令定义在SHProtocol 类中,目前还不是很完善,参见下面的代码:

public class SHProtocol   //智能家居通信协议
    {
        public static string LOGIN = "500";           //客户登录SHS,只有登录成功才能访问SHS
        public static string APPSTATE = "501";   //获取所有SHM程序状态[stream=文件内容]
        public static string STARTAPP = "502";   //通知启动或结束SHM程序,需要权限[appid=?][start=1][rights=NNNNNNNNNNNNNNN]
        public static string SHOWSHMUI = "503";  //通知SHM程序显示或隐藏[visible=1]显示,否则隐藏
        public static string SHASTATE = "504";   //获取某个SHA系统的所有设备[appid=N]
        public static string SHACTRL = "505";     //给某个SHA系统的设备发指令[appid=N][devid=M][subid=X][type=Y][act=K]
        public static string DEVSTATE = "506";   //某个SHA系统的设备的子设备状态数据[appid=N][devid=M][type=Y][subid=X][value=V]
        public static string GETTASK = "507";     //获取智能家居的任务数据
        public static string MENDTASK = "508";   //修改智能家居的任务数据
        public static string RUNTASK = "509";     //通知SHS执行某个任务[taskid=?]
        public static string GETALARM = "510";   //获取智能家居的监控设置
        public static string MENDALARM = "511";  //修改智能家居的监控设置
        public static string TEXT = "512";       //SHA发给SHM、SHS、CLIENT的文本通知信息
        public static string CAMERA = "513";     //有关摄像头操作
        public static string SCREEM = "514";     //获取SHS屏幕图像

    }

2、Json中的所有词条,都是小写英文字母,便于记忆

3、一个Json包含多个词条,由cmd指令决定。可以包含无关的词条,不影响操控,但会增加数据传输量。厂家也可以增加自己的特殊词条,形成特有平台的功能。但SHP不提倡。

    每个Json可携带的词条及其意义,以后将会以表格的形式严格规范出来。

    目前最重要的三个指令是LONGIN(500)、SHACTRL(505)、DEVSTATE(506)。

    500指令用于客户端、智能设备登录SHP,是安全的保障。

    505是客户端或服务器发给设备系统的指令,根据六类子设备的不同,带有不同的参数

    506是设备系统返回状态数据的指令。

    其他指令携带的参数,在实际的开发中,将不断完善。

    下节介绍SHP平台的即插即用机制。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值