日记smarthome
Posted 马勇123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日记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
以上是关于日记smarthome的主要内容,如果未能解决你的问题,请参考以下文章