Dê seu projeto arduino o seu próprio mini-servidor web, com um escudo ethernet

Um tempo atrás, eu mostrei como configurar um sistema de controle de internet para o seu Arduino - mas tinha que ficar ligado a um computador através de USB, a fim de manter a conexão com a internet. Se você tem um escudo Ethernet, porém, isso não é necessário Hoje vamos olhar para a criação de um Arduino como um servidor web básico para que possamos hospedar nosso próprio site controle do dispositivo.

Como configurar Arduino Controle da Web sem um escudo EthernetComo configurar Arduino Controle da Web sem um escudo EthernetPara as últimas semanas, eu entregue o controle da iluminação ambiente no meu estúdio para os espectadores durante a transmissão ao vivo do tecnofilia Podcast - você pode ver os resultados do que no ...consulte Mais informação

Você vai precisar de:

  • A Arduino, ou clone Arduino como detalhado aqui
  • Escudo Ethernet (~ US $ 35) - certifique-se de obter uma versão que corresponde ao seu Arduino como eles não são compatíveis
  • porta de reposição em seu roteador ou switch e cabo Ethernet
  • O exemplo ServidorWeb fornecida no pedido Arduino

Configurando

O escudo Ethernet usa pinos 10 a 13 para controlar a conexão de rede, por isso deixe aqueles fora de sua pin projeto- 4 também é usado para o cartão SD, mas não vamos estar usando isso hoje.

Em primeiro lugar - abrir o Arquivo-gt;Exemplos-gt;Ethernet-gt;Servidor web que é fornecido dentro do Arduino IDE. Encontrar as linhas referentes endereço MAC e IP.

servidor web arduino

O endereço MAC para o meu foi encontrado na caixa - seu pode ser no próprio escudo. Ajuste a primeira linha de valores - você precisa deixar o anterior 0x bit embora. Tecnicamente falando, isso realmente não importa o que você colocar aqui, desde que você não tem quaisquer valores em conflito no seu sub-rede - mas, mesmo assim, este foi atribuído pelo fabricante do abordados, por isso, provavelmente deve ficar com isso. Só sei que se você errar, ele continuará a funcionar.

exemplo servidor Arduino

Em seguida é o endereço IP. Queremos um endereço fixo específico para que possamos encaminhamento de porta configurado corretamente - o escudo é capaz de obter um endereço de DHCP, mas isso é apenas útil se ele está apenas indo para ser usado como um cliente, e não um servidor. Preencha um endereço IP que é não utilizado e memorável em sua rede local, o IP do roteador, e 255.255.255.0 (a sub-rede). Se nada disto está a fazer sentido para você, vá ler o nosso livre e completa guia para redes domésticas.

port Forwarding

Edite a linha que diz servidor EthernetServer (número), e altere o número de 8081. Esta configuração irá nosso servidor para escutar na porta 8081 no caso do seu ISP está bloqueando o tráfego web na porta tradicional 80.

Faça o upload da demo neste momento e testá-lo a partir de uma máquina local. Você vai, naturalmente, precisa conectar o cabo Ethernet também. Mantenha o USB conectado também, como nós precisamos dele para o poder - você pode substituir isso com um poder 9V oferta mais tarde, mas ainda estamos testando.

Noob-dica: Se você receber esse erro, isso significa que você erroneamente colocar um O maiúsculo em vez de um 0 na área de endereços MAC. Não há S em valores hex! Se você realmente é novo, pode valer a pena verificar nossos iniciantes de guia Arduino!

exemplo servidor Arduino



Para acessar o Arduino, digite o número endereço e porta diretamente de um browser.

exemplo servidor Arduino

Você deve ver algo como isso - até aí tudo bem. Infelizmente, isso só é acessível no rede local agora, então cabeça sobre a página de configuração da porta do seu roteador para configurar um redirecionamento de porta 8081 para a mesma porta no seu IP do Arduino (Vejo: O que é o encaminhamento de porta?)O que é Port Forwarding & Como é que isso pode ajudar-me? [MakeUseOf Explica]O que é Port Forwarding & Como é que isso pode ajudar-me? [MakeUseOf Explica]Você chora um pouco para dentro quando alguém lhe diz que há um problema de encaminhamento de porta e é por isso que seu aplicativo novo e brilhante não vai funcionar? O Xbox não vai deixar você jogar jogos, seus downloads de torrent recusar ...consulte Mais informação

tutorial servidor arduino web

Testar isso a partir de um dispositivo móvel internet 3G com Wi-Fi-deficiente lembre-se de usar o seu endereço IP público, não o seu endereço de rede local. O roteador deve ser capaz de dizer isso, ou apenas pedir ao Google “o que é meu ip”.

servidor web arduino

Compreender a saída

A página que está sendo servido na demo está lendo valores dos pinos analógicos - mas desde que não há nada conectado lá, você está indo para obter um disparate. Tente conectar um sensor de luz (foto resistor) à porta A0 e +5v, com um 10k resistor também sobre A0 e gND (Este é um divisor de tensão, uma vez que os pinos analógicos pode apenas ler a tensão, e não a resistência) apenas para confirmar o servidor está realmente ler valores. Observe que quando as mudanças de intensidade de luz, os valores sobre os outros pinos realmente mudar também - isso é porque todos eles são desconectados.

obtendo interativo

Lendo estes valores é tudo muito bem, mas fazer o salto para controlador um Arduino a partir daqui é um grande salto, e fora do escopo deste tutorial hoje. Em vez de re-inventar a roda, eu vou apontá-lo para usuário do fórum Arduino hari que escreveu uma API básica para interagir com pinos digitais. Usando este código (eu tenho modificado para funcionar com a mais recente biblioteca Ethernet), conecte a ligação longa de um (ânodo) LED ao pino 8, e a curto chumbo ao pino 7 (com um resistor apropriado). então você pode usar URLs de forma http: // ip: porta / digitalWrite / 1/8 para ligar o LED, e http: // ip: port / digitalWrite / 8/0 para desligá-lo e ler valores analógicos com analogRead / 0.

Este exemplo de bildr também irá ensiná-lo a controlar uma seqüência de LEDs através da leitura do pedido GET.

Você pode também gostaria de fazer o checkout este exemplo que gera um formulário na página para controlar um blinkm LED RGB, embora você poderia facilmente adaptá-lo para uma faixa de RGB, como o projecto de iluminação ambiente dinâmico nós construímos um tempo atrás.Construa seu próprio Iluminação Dinâmica ambiente por um Media CenterConstrua seu próprio Iluminação Dinâmica ambiente por um Media CenterSe você ver um monte de filmes em seu PC ou centro de mídia, eu tenho certeza que você já enfrentou a iluminação dilemma- você completamente desligar todas as luzes? Você mantê-los em plena explosão? Ou...consulte Mais informação

Bem, eu me diverti construir estas, então eu espero que você fez também. Se você fez uma biblioteca que faz servindo páginas e controles simples, por favor, entrar em contato nos comentários.


Artigos relacionados