• 日记smarthome


    测试命令:测试命令 7e 7e 两个字节 一个字节  两个字节 一个字节     解释: 两个字节是userid的值

    int Userid = data[i] * 256 + data[i + 1]; 

    一个字节是 DeviceID的值,

    int Deviceid = data[i + 2];

    说明测试命令发的是整型的userid,而不是字符string型

    结束测试命令:只能7c 7c 7c

    手机发命令:

    用手机客户端的话,发的控制命令肯定就是字符型了目前只能是,

    字符串“407”转为整数407,int str1 = Convert.ToInt32(string object);

    首先服务器收到的数据存放在byte型数组 data[]里

    步骤1:解码与编码      重点:数据类型之间转换

    string str2 = new ASCIIEncoding  ().GetString(buffer);    // 如果buffer[]={0x33,0x32,0x2c,0x31}  则str2="32,1"

    string dataToString = new ASCIIEncoding().GetString(data);
    byte command = 0;
    if (dataToString.Contains("relayoff"))
    command = 1;

    string[]Stringprocessed=dataToString.Split(','); //"407,102,relayoff"

    int usertemp = Convert.ToInt32(Stringprocessed[0]);   //usertemp=407 
    int devicetemp = Convert.ToInt32(Stringprocessed[1]);

    设备终端插座的数据:

    数据:16进制数  7c xxxxxxxxx7c  中间有7d 01 和7d 02 需要转义

    注册命令:0x7e 0x7e userid deviceid    解释:userid也是整型,两个字节

     rec_ThreePhase[20] = (double)(data[i + 6] * 256 * 256 * 256 + data[i + 7] * 256 * 256 + data[i + 8] * 256 + data[i + 9])/100;//energy   当data[6],7,8,9都是0xff时,写入数据库的rec_ThreePhase[20] 值为-0.01

  • 相关阅读:
    XDebug的配置和使用
    PHP一致性hash
    命令注入绕过技巧总结
    Aireplay-ng 6 种常用攻击模式详解
    CDlinux无线审计工具使用
    Aircrack-ng无线审计工具使用
    Ubuntu中的mysql
    Centos安装python3.7时遇到的问题
    写程序的时候发现了个数学在线工具,感觉挺好,Gegebra
    OpenCV实现图像变换(python)-仿射变换原理
  • 原文地址:https://www.cnblogs.com/fyp7077/p/7639493.html
Copyright © 2020-2023  润新知