Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Servidor web
- Um servidor web simples que mostra o valor dos pinos de entrada analógica.
- usando um escudo Arduino Wiznet Ethernet.
- O circuito:
- * Escudo Ethernet conectado aos pinos 10, 11, 12, 13
- * As entradas analógicas conectados a pinos A0 a A5 (opcional)
- criado 18 de dezembro de 2009
- por David A. Mellis
- modificado 9 de abril de 2012
- por Tom Igoe
- */
- #include <SPI.h>
- #include <Ethernet.h>
- // Insira um endereço MAC ao endereço IP para o controlador abaixo.
- // O endereço IP será dependente de sua rede local:
- byte mac[] = {
- 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
- };
- IPAddress ip(192, 168, 25, 17);
- // Inicializar a biblioteca servidor Ethernet
- // com o endereço IP e a porta que você deseja usar
- // (porta 80 é padrão para HTTP):
- EthernetServer server(80);
- void setup() {
- // Abra comunicações série e esperar por porta para abrir:
- Serial.begin(9600);
- while (!Serial) {
- ; // esperar por porta serial para conectar. Necessário para Leonardo única
- }
- // iniciar a conexão Ethernet ao servidor:
- Ethernet.begin(mac, ip);
- server.begin();
- Serial.print("Conectado no servidor ");
- Serial.println(Ethernet.localIP());
- }
- void loop() {
- // ouvir para clientes de entrada
- EthernetClient client = server.available();
- if (client) {
- Serial.println("novo cliente");
- // uma solicitação http termina com uma linha em branco
- boolean currentLineIsBlank = true;
- while (client.connected()) {
- if (client.available()) {
- char c = client.read();
- Serial.write(c);
- // se você chegou ao fim da linha (recebeu um caractere de nova linha
- // e a linha estiver em branco, o pedido http terminou,
- // para que você possa enviar uma resposta
- if (c == '\n' && currentLineIsBlank) {
- // send a standard http response header
- client.println("HTTP/1.1 200 OK");
- client.println("Content-Type: text/html");
- client.println("Connection: close"); // a ligação vai ser fechado após a conclusão da resposta
- client.println("Refresh: 5"); // atualizar a página automaticamente a cada 5 segundos
- client.println();
- client.println("<!DOCTYPE HTML>");
- client.println("<html>");
- // o valor de saída de cada pino de entrada analógico
- 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') {
- // você está começando uma nova linha
- currentLineIsBlank = true;
- }
- else if (c != '\r') {
- // você tenha obtido um personagem na linha atual
- currentLineIsBlank = false;
- }
- }
- }
- // dar tempo ao navegador para receber os dados
- delay(1);
- // fechar a conexão:
- client.stop();
- Serial.println("client disconnected");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement