毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

Arduino教室节能装置的开发+文献综述(8)

时间:2017-04-24 12:30来源:毕业论文
当用户PC端监控程序关闭时,系统需要传递消息给Arduino控制板,将Arduino核心控制板程序中的autoControl的变量置为true,切换到底层自主运行模式,让其自主


当用户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; Arduino教室节能装置的开发+文献综述(8):http://www.youerw.com/zidonghua/lunwen_5583.html
------分隔线----------------------------
推荐内容