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

      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程序,找到原因,未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值