跳到主要內容

Arduino Web Server WOL

1.修改原本的 Web Server 程式碼,並加上UDP 協定 broadcast MagicPacket

outputString="";
targetmac="";

if(readString.indexOf("?")>0)
{
  textend = readString.indexOf(" HTTP/1.1");
  
  if((textstart = readString.indexOf("?input=")) >0)
  {
    textstart+=7;
    outputString=readString.substring(textstart,textend);
    outputString.toUpperCase();
    for(int i=0;i<outputString.length();i=i+2)
    {
        int temp;
        char tempchar=0;
        int test=16;
        for(int j=0;j<2;j++)
        {
          if(outputString[i+j]>='A')
          {
            temp=(int)(outputString[i+j]-'A'+10);
          }
          else
          {
            temp=(int)(outputString[i+j]-'0');
          }
          tempchar+=(char)(temp*test);
          test=test/16;
        }
        targetmac+=tempchar;
    }
    Udp.beginPacket(broadcast, 7);
    for (int i = 0; i < 6; ++i){
      Udp.write(0xFF);
    }
    for(int i=0;i<16;i++)
    {
       for(int j=0;j<6;j++)
      {
      Udp.write(targetmac[j]);
      }
    }
    Udp.endPacket();
    }
}

留言