畅游无限游戏盒子(五)--adruino远程控灯

这样可以建立起服务器 控制灯 


这个代码是别人的 我已不记得再哪里看到了 侵删


#include <SPI.h> 

#include <Ethernet.h> 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; 
IPAddress ip(192,168,1,102); 
EthernetServer server(80); 
EthernetClient client;
String readString= "" ;


int Light=2;


int Sensor=A0;


void setup() {


Serial.begin(9600);


//初始化Ethernet通信


Ethernet.begin(mac, ip);


server.begin();


Serial.print( "Server is at " );


Serial.println(Ethernet.localIP());
pinMode(Light,OUTPUT);




}
void loop() {


// 监听连入的客户端


client = server.available();


if (client) {


Serial.println( "new client" );


boolean currentLineIsBlank = false ;


while (client.connected()) {


if (client.available()) {


char c = client.read();


readString += c;


if (c == '\n' ) {


Serial.println(readString);


//检查收到的信息中是否有”on”,有则开灯


if (readString.indexOf( "?on" ) >0) {


digitalWrite(Light, HIGH);


Serial.println( "Led On" );


break ;


}


//检查收到的信息中是否有”off”,有则关灯


if (readString.indexOf( "?off" ) >0) {


digitalWrite(Light, LOW);


Serial.println( "Led Off" );


break ;


}


//检查收到的信息中是否有”getBrightness”,有则读取光敏模拟值,并返回给浏览器


if (readString.indexOf( "?getBrightness" ) >0) {


client.println(analogRead(Sensor));


break ;


}


//发送HTML文本


SendHTML();


break ;


}


}


}


delay(1);


client.stop();


Serial.println( "client disonnected" );


readString= "" ;


}


} // 用于输出HTML文本的函数
void SendHTML()


{
client.println( "HTTP/1.1 200 OK" );


client.println( "Content-Type: text/html" );


client.println( "Connection: close" );


client.println();


client.println( "<!DOCTYPE HTML>" );


client.println( "<html><head><meta charset=\"UTF-8\"><title>OpenJumper!Arduino Web Server</title><script type=\"text/javascript\">" );


client.println( "function send2arduino(){var xmlhttp;if (window.XMLHttpRequest)xmlhttp=new XMLHttpRequest();else xmlhttp=new ActiveXObject(\"Microsoft.XMLHTTP\");element=document.getElementById(\"light\");if (element.innerHTML.match(\"Turn on\")){element.innerHTML=\"Turn off\"; xmlhttp.open(\"GET\",\"?on\",true);}else{ element.innerHTML=\"Turn on\";xmlhttp.open(\"GET\",\"?off\",true); }xmlhttp.send();}" );


client.println( "function getBrightness(){var xmlhttp;if (window.XMLHttpRequest)xmlhttp=new XMLHttpRequest();else xmlhttp=new ActiveXObject(\"Microsoft.XMLHTTP\");xmlhttp.onreadystatechange=function(){if (xmlhttp.readyState==4 && xmlhttp.status==200)document.getElementById(\"brightness\").innerHTML=xmlhttp.responseText;};xmlhttp.open(\"GET\",\"?getBrightness\",true); xmlhttp.send();}window.setInterval(getBrightness,1000);</script>" );


client.println( "</head><body><div align=\"center\"><h1>Arduino Web Server</h1><div>brightness:</div><div id=\"brightness\">" );


client.println(analogRead(Sensor));


client.println( "</div><button id=\"light\" type=\"button\" οnclick=\"send2arduino()\">Turn on</button><button type=\"button\" οnclick=\"alert('OpenJumper Web Server')\">About</button></div></body></html>" );


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值