[Legacy] 硬件如何与服务器交流 - WNJXYK/JLU_DSD GitHub Wiki

硬件向服务器注册

值得注意的是,如果当前硬件是一个可操作设备,例如:灯。那么它应该与服务器建立两个 Socket 连接,方向为一进一出,否则只需要建立一个即可。

  1. 硬件向服务器指定端口建立 Socket 连接,同时立刻发送注册信息包。

    注册信息包格式

    {
        "id" : "Raspi", // 硬件序号 
        "type" : "Light", // 硬件类型 
        "socket" : "in", // Socket方向,向服务器汇报数据为 'in', 接收服务器指令为 'out'
        "auth" : "WNJXYK" // 简单验证口令
    }
    
  2. 接收服务器反馈包

    反馈包内容:

    // 若正常建立连接
    {
        "status" : 0, 
        "msg" : "Hello Device"
    }
    // 若出现错误
    {
        "status" : -1, 
        "msg" : "Some Reason" // 错误原因
    }
    

硬件向服务器发送心跳包

通过汇报数据的 Socket,向服务器发送 {},间隔应为服务器掉线设定的一般,建议 5 秒一次。

硬件向服务器发送变化数据

硬件接收服务器指令