码迷,mamicode.com
首页 > 其他好文 > 详细

日记smarthome

时间:2017-10-09 10:04:41      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:and   string   xxx   contain   nbsp   split   span   coding   xxxxxx   

测试命令:测试命令 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

标签:and   string   xxx   contain   nbsp   split   span   coding   xxxxxx   

原文地址:http://www.cnblogs.com/fyp7077/p/7639493.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!