您的位置:首页 > 其它

智能家居服务器和zigbee方面遇到的问题

2015-04-16 21:14 477 查看
      boa服务器既要控制zigbee协调器又要接受zigbee终端发送的传感器信息。所以在html里设置一个参数,来控制协调器。如果是‘a’的话就控制点灯,如果是‘b’的话就接受协调器信息。首先要修改cgi程序,使得cgi里的串口程序能发送‘a’或者‘b’,而且在发送‘b’的时候,需要能接受从TTL串口发送来的信息。需要改写程序如下

if(no=='a'){

//      static int EscKeyCount = 0;

              write(CommFd, &Cha, 1);}

if(no=='b'){

              write(CommFd, &Ch, 1);

if (FD_ISSET(CommFd, &ReadSetFD)) {//判断串口是否可读

//printf("<H3>Mult111 Result</H3>");

sleep(1);//必须加一个延时函数,因为如果没有延时函数的话,zigbee传输有延时,当读到串口数据时,信息还没有发到2440的TTL串口上,会读不出来信息

             while (read(CommFd, &Char, 1) == 1) {//从串口中读取一个char型,放在
//aCharToSend

接下来修改终端的zigbee程序,接受到‘a’的时候点灯,接收到‘b’的时候回传一个固定的数组,现在回传出现问题,有时成功有时不成功,发送乱码时能成功连续发送,而发送正常数组时只能发送一次,可能与memcopy函数有关,数组的第0位会成为标志位,这是产生乱码的原因,需要仔细看下zigbee程序,找到原因,未完待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: