菜单
  

    当用户PC端监控程序关闭时,系统需要传递消息给Arduino控制板,将Arduino核心控制板程序中的autoControl的变量置为true,切换到底层自主运行模式,让其自主运行本系统,独立处于传感器中的信息并控制教室内的用电器。在此,以防远端发送断开连接信息传输失败,系统处于远程监控模式下,且Arduino控制板将处于无限制监听等待PC端发来的信息,从而导致系统崩溃,无法处于传感器中的信息并控制教室内的用电器,需要一个计时器来计时,底层UDP端口监听超过一定时间,本系统将自动从远程监控模式下切换到底层自主运行模式下运行。
    自主运行模式功能实现代码如下:
      if(autoControl)    //自主模式标志boolean变量
      {
        if(isPeople>1)
          digitalWrite(LED, HIGH);
        else
          digitalWrite(LED, LOW);      //日光灯智能控制
        if(temperature>referenceTemp)  //温度传感器中的温度与阈值温度进行对比
          digitalWrite (Temp_led,HIGH);
        else
          digitalWrite (Temp_led,LOW);  //电风扇智能控制
      }
    3.2.3    远程监控模式下的Socket编程
    Arduino控制板中的程序一直处于UDP端口监听状态,是通过先收到PC端数据,后依据该数据进行处理,并上传传感器中的信息至PC监控端。如果数据是用电设备的控制信息,则Arduino控制板将按照控制信息来控制教室内的用电器,同时上传传感器中的信息到PC端;如果数据是远程监控启动,则Arduino控制板将直接上传感器中的信息到PC端;如果数据是远程监控关闭信息,则Arduino控制板将把自主运行模式标志信息置为true,切换到自主运行模式下运行,Arduino控制板自行处理感应器中的信息,控制教室内的用电设备。其中涉及的通信代码如下:
      int packetSize = Udp.available();  
      if(packetSize)
      {
        autoControl=false;
    Udp.readPacket(packetBuffer,UDP_TX_PACKET_MAX_SIZE,remoteIp,
    remotePort);
        switch(packetBuffer[0])//对远程监控端的信息进行处理
        {
          case '0':digitalWrite(LED, LOW); digitalWrite (Temp_led,LOW);
                   Udp.sendPacket( sendBuffer, remoteIp, remotePort); break;
          case '1':digitalWrite(LED, LOW); digitalWrite (Temp_led,HIGH);
                   Udp.sendPacket( sendBuffer, remoteIp, remotePort); break;
          case '2':digitalWrite(LED, HIGH); digitalWrite (Temp_led,LOW);
                   Udp.sendPacket( sendBuffer, remoteIp, remotePort); break;
          case '3':digitalWrite(LED, HIGH); digitalWrite (Temp_led,HIGH);
                   Udp.sendPacket( sendBuffer, remoteIp, remotePort); break;
      case '4':autoControl=true; Serial.println("Remote monitoring has been closed!");break;   //远程监控开关
          case '5'://远程监控开启
            Serial.println("Remote monitoring has been started!");        
            Udp.sendPacket( sendBuffer, remoteIp, remotePort); break;
  1. 上一篇:AT89S52单片机智能小车控制系统设计+电路图
  2. 下一篇:LabVIEW飞行器模型静态参数测试台设计方法研究
  1. Arduino单片机车载太阳能空气净化器设计

  2. 轨道交通的ATO速度曲线节能优化策略研究

  3. 基于Arduino的自动浇花系统设计+电路图+程序

  4. HL-1底盘arduino的智能小车设计+电路图

  5. Arduino单片机智能小车设计与实现

  6. Arduino基于多声呐检测的无人机避障技术研究

  7. Arduino的电子温度计设计+电路图+程序

  8. 中国传统元素在游戏角色...

  9. 江苏省某高中学生体质现状的调查研究

  10. NFC协议物理层的软件实现+文献综述

  11. g-C3N4光催化剂的制备和光催化性能研究

  12. 巴金《激流三部曲》高觉新的悲剧命运

  13. 现代简约美式风格在室内家装中的运用

  14. C++最短路径算法研究和程序设计

  15. 高警觉工作人群的元情绪...

  16. 上市公司股权结构对经营绩效的影响研究

  17. 浅析中国古代宗法制度

  

About

优尔论文网手机版...

主页:http://www.youerw.com

关闭返回