Ge ditt Arduino-projekt sin egen Mini-Webserver, med en Ethernet-skärm

För en tid sedan visade jag dig hur du installerade ett internetkontrollsystem för din Arduino - men det var nödvändigt att hålla kontakten med en dator via USB för att upprätthålla internetanslutningen. Om du har en Ethernet-sköld men det är inte nödvändigt Idag ska vi se på att skapa en Arduino som en grundläggande webbserver så att vi kan vara värd för vår egen enhetskontrollwebbplats.

För en tid sedan visade jag dig hur du installerade ett internetkontrollsystem för din Arduino - men det var nödvändigt att hålla kontakten med en dator via USB för att upprätthålla internetanslutningen.  Om du har en Ethernet-sköld men det är inte nödvändigt Idag ska vi se på att skapa en Arduino som en grundläggande webbserver så att vi kan vara värd för vår egen enhetskontrollwebbplats.
Annons

arduino webbserver För en tid sedan visade jag dig hur du ställer in ett internetkontrollsystem för din Arduino Så här ställer du upp Arduino Web Control utan ett Ethernet Shield Så här ställer du upp Arduino Web Control utan ett Ethernet Shield Under de senaste veckorna har jag överlåtit kontroll över stämningen belyser i min studio för tittare under live-sändningen av Technophilia Podcast - du kan se resultaten av det i ... Läs mer - men det var tvungen att hålla kontakten med en dator via USB för att upprätthålla internetanslutningen. Om du har en Ethernet-sköld men det är inte nödvändigt Idag ska vi se på att skapa en Arduino som en grundläggande webbserver så att vi kan vara värd för vår egen enhetskontrollwebbplats.

Du kommer behöva:

  • En Arduino eller Arduino klon som detaljerad här Spendera inte pengar på en Arduino - Bygg din egen för mycket mindre Spendera inte pengar på en Arduino - Bygg din egen för mycket mindre Jag älskar min Arduinos. När som helst, jag har en hel del projekt på språng - prototyper är bara så lätt med dem. Men ibland vill jag hålla projektet funktionellt utan att köpa ... Läs mer
  • Ethernet Shield (~ $ 35) - se till att du får en version som matchar din Arduino eftersom de inte är alla kompatibla
  • Reservport på din router eller strömbrytare och Ethernet-kabel
  • WebServer-exemplet som tillhandahålls i Arduino-programmet

Inställning

Ethernet-skärmen använder stiften 10 till 13 för att styra nätverksanslutningen, så lämna dem ut ur projektet. stift 4 används också för SD-kortet, men vi kommer inte använda det idag.

Första saker först - öppna filen -> Exempel -> Ethernet -> WebServer som tillhandahålls inom Arduino IDE. Hitta linjerna som hänvisar till MAC och IP-adress.

arduino webbserver

MAC-adressen för minen hittades på lådan - din kan vara på själva skärmen. Justera den första raden av värden - du måste lämna den föregående 0x- biten dock. Tekniskt sett spelar det ingen roll om vad du lägger här så länge du inte har några motstridiga värden på ditt subnät - men det var sålunda den adress som tilldelades av tillverkaren, så vi borde troligtvis hålla fast vid det. Bara vet att om du tar fel, kommer det fortfarande att fungera.

Arduino webbserver exempel

Nästa är IP-adressen. Vi vill ha en specifik fast adress så att vi kan konfigurera porten vidarebefordran ordentligt - skölden kan få en adress från DHCP, men det är bara användbart om det bara kommer att användas som en klient, inte en server. Fyll i en IP-adress som är oanvänd och minnesvärd på ditt lokala nätverk, din router IP och 255.255.255.0 (delnätet). Om inget av detta är meningsfullt för dig, läs vår kostnadsfria och grundliga guide till hemnätverk Allt du behöver veta om hemnätverk Allt du behöver veta om hemnätverk Att ställa in ett hemnätverk är inte så svårt som du tror att det är . Läs mer .

Port vidarebefordran

Redigera raden som säger EthernetServer-servern (nummer) och ändra numret till 8081 . Detta ställer in vår server för att lyssna på port 8081 om din Internet-leverantör blockerar webtrafik på den traditionella porten 80.

Ladda upp demo vid denna tidpunkt och testa det på en lokal maskin. Du måste självklart också ansluta Ethernet-kabeln. Håll USB-kontakten ansluten, eftersom vi behöver den för ström - du kan ersätta den med en 9V-strömförsörjning senare, men vi testar fortfarande.

Noob-tip: om du får det här felet betyder det att du felaktigt har lagt till en kapital O istället för en 0 i MAC-adressområdet. Det finns ingen O i hex-värden! Om du verkligen är ny, kan det vara värt att kolla in vår nybörjare Arduino guide!

Arduino webbserver exempel

För att komma åt Arduino skriver du adressen och portnumret direkt från en webbläsare.

Arduino webbserver exempel

Du borde se något sånt - så långt så bra. Tyvärr är det bara tillgängligt på det lokala nätverket just nu, så fortsätt in på din router portkonfigurationssida för att ställa om en omdirigering från port 8081 till samma port på din Arduino IP ( Se: Vad är port vidarebefordran? Vad är port vidarebefordran & Hur kan det hjälpa mig? [MakeUseOf Explains] Vad är porten vidarebefordra och hur kan det hjälpa mig? [MakeUseOf Explains] Skriker du lite inuti när någon säger att det finns ett portförmedlingsproblem och därför vann din glänsande nya app " t fungerar? Din Xbox låter dig inte spela spel, dina torrentladdningar vägrar ... Läs mer )

arduino webbserver handledning

Testa detta ut från en mobil 3G-enhet med Wifi-inaktiverad; kom ihåg att använda din offentliga IP-adress, inte din lokala nätverksadress. Din router ska kunna berätta för det här, eller bara fråga Google "vad är min ip".

arduino webbserver

Förstå produktionen

Sidan som serveras i demo läser värden från de analoga stiften - men eftersom det inte finns något som är anslutet där, kommer du att få nonsens. Prova att ansluta en ljussensor (bildmotstånd) till port A0 och + 5v, med 10k motstånd också på A0 och GND (det här är en spänningsdelare, eftersom analoga stiften endast kan läsa spänning och inte motstånd) bara för att bekräfta servern är faktiskt läser värden. Observera att när ljusintensiteten ändras, förändras värdena på de andra stiften också - det beror på att de inte är kopplade till varandra.

Komma Interaktiv

Att läsa dessa värden är bra och bra, men att göra hoppet för att kontrollera en Arduino härifrån är ett steg och utanför ramen för denna handledning idag. I stället för att återuppfinna hjulet ska jag peka dig mot Arduino Forum User Hari som skrev ett grundläggande API för interaktion med digitala stiften. Använd den här koden (jag har ändrat den för att fungera med det senaste Ethernet-biblioteket), anslut den långa ledningen till en LED (anod) till stift 8 och den korta ledningen till stift 7 (med ett lämpligt motstånd). Du kan sedan använda webbadresser i formuläret http: // ip: port / digitalWrite / 8/1 för att slå på LED: n och http: // ip: port / digitalWrite / 8/0 för att stänga av den och läsa analoga värden med analogläsning / 0 .

Detta exempel från bildr kommer också att lära dig hur man styr en sekvens av lysdioder genom att läsa GET-förfrågan.

Du kanske också gillar att checka ut det här exemplet, vilket matar ut en blankett på sidan för att styra en blinkm RGB-LED, men du kan enkelt anpassa den till en RGB-remsa, t.ex. det dynamiska omgivningsbelysningsprojektet. Bygg din egen dynamiska omgivande belysning för en Media Center-byggnad Din egen dynamiska omgivande belysning för ett mediecenter Om du tittar på många filmer på din dator eller mediecenter, är du säker på att du har mött belysningsdilemmet. stänger du helt av alla ljus? Håller du dem på full blast? Eller ... Läs mer vi byggde ett tag tillbaka.

Jo, jag hade kul att bygga dessa, så jag hoppas att du gjorde det också. Om du har gjort ett bibliotek som gör att du serverar sidor och kontroller enkelt, var god kontakta i kommentarerna.

In this article