• 团队博客4


        基于Zigbee网络的获取数据需要建立传感器数据接收监听器的进程,时刻监听是否有新数据上传,核心代码如下:

    //传感器数据接收监听器

    String sdat = new String(dat); //要发送的数据

    String s = "[" + MAC + "]<<" + sdat;//封装数据

    mSensorData.onSensorData(MAC, sdat);//调用类的方法获取数据

    if (mCurrentActivity != null) {

       //建立线程锁

    synchronized (mCurrentActivity) {

          String[] sMAC = mCurrentActivity.getMACAddress();//获取MAC地址

          for (String x : sMAC) {//循环整个MAC地址

                 if (x.equalsIgnoreCase(MAC)) {//判断MAC地址是否符合

                        String sdata = MAC + "=" + new String(sdat);//封装数据格式

                        String MACs = mUserConfig.getString(SmartHomeApplication.KEY_Monitor); //获取MAC地址

                        String mMACs[] = new String[] { "" };//定义MAC集合数组

                        if (MACs.length() > 0) {//解析信息

                               String[] b = MACs.split("=");//以=为分割标志,分割字符串

                               mMACs[0] = b[1];//第一个为MAC地址

                        }

                        if (MAC.equalsIgnoreCase(mMACs[0])) {//判断MAC的地址是否符合

                               mCurrentActivity.postSensorData(dat);//发送获取数据指令

                        } else {

                               mCurrentActivity.postSensorData(sdata).getBytes());//获取数据

                        }

                 }

          }

    }

    }

    基于Zigbee网络的发送数据时,该系统需要MqttMessage类中的方法,需要使用MQTT协议与Zigbee网络中的传感器进行通信。具体代码如下:

    //Android程序通过wsn连接Zigbee网络

    String topic = "/com/zonesion/wsn/control/" + mApplicationID + "/"+ addr;

    //初始化MqttMessage

    MqttMessage msg = new MqttMessage(dat);

    //发送0指令

    msg.setQos(0);

    if (mLocal.isConnected()) {//判断本地是否是连接的

       //本地发布

          mLocal.publish(topic, msg);

    } else if (mGlobal.isConnected()) {//判断全局是否是连接的

       //全局发布

          mGlobal.publish(topic, msg);

    } else {

          Log.d(TAG, "No mqtt server connected!");//输出提示信息

    }

  • 相关阅读:
    Codewars Solution:Two to One
    Codewars Solution:Get the Middle Character
    golang jwt+token验证
    C#基础知识点梳理二
    C#基础知识点梳理一
    逻辑值
    step-1
    视频第5讲-ID转换
    通过向量访问矩阵
    跟着jmzeng学习GEO数据分析-GEO42872_1--题外
  • 原文地址:https://www.cnblogs.com/421a/p/5838558.html
Copyright © 2020-2023  润新知