一个简单的Web服务器,显示的模拟输入引脚值。
1、将ALPHA ENC28J60堆叠于ALPHA MEGA328-U上;
2、用网线连接交换机与ALPHA ENC28J60,在拨码开关中,将10拨上;
3、将ALPHA MEGA328-U通过数据线连接上电脑
/* 网络服务器 一个简单的Web服务器 显示的模拟输入引脚值。 使用一个Arduino WIZNET以太网盾。 创建182009年12月 由David A.梅利斯 修改2012年4月9日 由汤姆Igoe */ #include <SPI.h> #include <UIPEthernet.h> //输入MAC地址和IP地址下面控制器。 // IP地址将取决于你的本地网络上: byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192,168,100,177); //初始化以太网服务器库 //你要使用的IP地址和端口 //(端口80是默认HTTP): EthernetServer server(80); void setup() { //打开串口通信和等待端口打开: Serial.begin(9600); while (!Serial) { ;//等待串口连接。 } //启动以太网连接和服务器: Ethernet.begin(mac, ip); server.begin(); Serial.print("server is at "); Serial.println(Ethernet.localIP()); } void loop() { //监听传入客户 EthernetClient client = server.available(); if (client) { Serial.println("new client"); // http请求以一个空行结束 boolean currentLineIsBlank = true; while (client.connected()) { if (client.available()) { char c = client.read(); Serial.write(c); //如果您收到了该行的末尾(收到一个换行符 //字符)和行是空的,HTTP请求已经结束, //这样你就可以发送回复 if (c == '\n' && currentLineIsBlank) { //发送一个标准的HTTP响应头 client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); //连接将响应完成后关闭 client.println("Refresh: 5"); // 刷新页面会自动每隔5秒 client.println(); client.println("<!DOCTYPE HTML>"); client.println("<html>"); //每个模拟输入引脚的输出值 for (int analogChannel = 0; analogChannel < 6; analogChannel++) { int sensorReading = analogRead(analogChannel); client.print("analog input "); client.print(analogChannel); client.print(" is "); client.print(sensorReading); client.println("<br />"); } client.println("</html>"); break; } if (c == '\n') { // 你开始一个新行 currentLineIsBlank = true; } else if (c != '\r') { // 你已经得到了在当前行的字符 currentLineIsBlank = false; } } } // 给网络浏览器的时间以接收数据 delay(1); // 关闭连接: client.stop(); Serial.println("client disonnected"); } }