Giv dit Arduino-projekt sit eget mini-webserver med et Ethernet-skjold

  • Michael Fisher
  • 0
  • 2913
  • 417
Reklame

For et stykke tid siden viste jeg dig, hvordan du opsætter et internetkontrolsystem til din Arduino Sådan konfigureres Arduino Web Control uden et Ethernet-skjold Sådan konfigureres Arduino Web Control uden et Ethernet-skjold De sidste par uger overleverede jeg kontrollen over stemningsbelysningen i mit studie til seerne under den direkte udsendelse af Technophilia Podcast - du kan se resultaterne af det i… - men det måtte forblive tilsluttet en computer via USB for at opretholde internetforbindelsen. Hvis du dog har et Ethernet-skjold, er det ikke nødvendigt I dag skal vi se på at oprette en Arduino som en grundlæggende webserver, så vi kan være vært for vores eget enhedsstyringswebsted.

Du får brug for:

  • En Arduino eller en Arduino-klon som beskrevet her. Brug ikke penge på en Arduino - Byg dine egne til meget mindre. Brug ikke penge på en Arduino - Byg dine egne til meget mindre. Jeg elsker mine Arduinos. På ethvert tidspunkt har jeg en hel del projekter på farten - prototype er bare så let med dem. Men nogle gange vil jeg holde projektet funktionelt uden at købe ...
  • Ethernet Shield (~ $ 35) - Sørg for at få en version, der matcher din Arduino, da de ikke alle er kompatible
  • Reserveport på din router eller switch og Ethernet-kabel
  • WebServer-eksemplet, der findes i Arduino-applikationen

Sætte op

Ethernet-skjoldet bruger stifter 10 til 13 til styring af netværksforbindelsen, så lad dem være ude af dit projekt; pin 4 bruges også til SD-kortet, men vi bruger det ikke i dag.

Første ting først - åbne Fil->eksempler->Ethernet->Webserver der leveres inden for Arduino IDE. Find linjerne, der henviser til MAC- og IP-adresse.

MAC-adressen til min blev fundet i kassen - din kan være på selve skjoldet. Juster den første værdelinje - du skal forlade det foregående 0x dog lidt. Teknisk set betyder det ikke noget, hvad du lægger her, så længe du ikke har nogen modstridende værdier på dit undernet - men alligevel var dette den adresse, som producenten har tildelt, så vi burde sandsynligvis holde os til det. Bare ved, at hvis du får det forkert, fungerer det stadig.

Næste op er IP-adressen. Vi ønsker en bestemt fast adresse, så vi kan konfigurere portvideresendelse korrekt - skjoldet er i stand til at hente en adresse fra DHCP, men det er kun nyttigt, hvis det blot skal bruges som en klient, ikke en server. Udfyld en IP-adresse, der er ubrugt og mindeværdig på dit lokale netværk, din router-IP og 255.255.255.0 (undernettet). Hvis intet af dette giver mening for dig, kan du læse vores gratis og grundige guide til netværk i hjemmet Alt, hvad du har brug for at vide om netværk i hjemmet Alt, hvad du har brug for at vide om netværket i hjemmet Det er ikke så svært at oprette et hjemmenetværk, som du tror, ​​det er. .

Portvideresendelse

Rediger den linje, der siger EthernetServer-server (nummer), og ændre nummeret til 8081. Dette indstiller vores server til at lytte på port 8081, hvis din internetudbyder blokerer webtrafik på den traditionelle port 80.

Upload demoen på dette tidspunkt og test den ud fra en lokal maskine. Du bliver selvfølgelig også nødt til at tilslutte Ethernet-kablet. Hold USB også tilsluttet, da vi har brug for den til strøm - du kan erstatte den med en 9V strømforsyning senere, men vi tester stadig.

Noob-tip: Hvis du får denne fejl, betyder det, at du fejlagtigt har anbragt en kapital O i stedet for en 0 i MAC-adresseområdet. Der er ingen O i hex-værdier! Hvis du virkelig er ny, kan det være værd at tjekke vores begynders Arduino-guide!

For at få adgang til Arduino skal du indtaste adressen og portnummeret direkte fra en browser.

Du skulle se noget lignende - indtil videre så godt. Desværre er dette kun tilgængeligt på lokalt netværk lige nu, så kør videre til din routers portkonfigurationsside for at konfigurere en omdirigering fra port 8081 til den samme port på din Arduino's IP (Se: Hvad er portvideresendelse? Hvad er portvideresendelse og hvordan kan det hjælpe mig? [MakeUseOf Explains] Hvad er portvideresendelse og hvordan kan det hjælpe mig? [MakeUseOf Explains] Græder du lidt indeni, når nogen fortæller dig, at der er et problem til portvideresendelse af havn, og det er grunden til, at din skinnende nye app ikke fungerer? Din Xbox lader dig ikke spille spil, dine torrent-downloads nægter ... )

Test dette ud fra en mobil 3G-internetenhed med Wifi deaktiveret; husk at bruge din offentlig IP-adresse, ikke din lokale netværksadresse. Din router skal kunne fortælle dig dette eller bare spørge Google “hvad er min ip“.

Forstå output

Den side, der serveres i demoen, læser værdier fra de analoge stifter - men da der ikke er noget der er forbundet der, får du vrøvl. Prøv at tilslutte en lyssensor (fotomodstand) til porten A0 og +5v, med en 10 k modstand også tændt A0 og GND (dette er en spændingsdeler, da de analoge ben kun kan læse spænding og ikke modstand) bare for at bekræfte, at serveren faktisk læser værdier. Bemærk, at når lysintensiteten ændres, ændres værdierne på de andre stifter faktisk også - dette er fordi de alle er forbundet med hinanden.

At blive interaktiv

Det er alt sammen godt og godt at læse disse værdier, men springe til kontrollerende en Arduino herfra er ret et spring, og uden for denne tutorials rækkevidde i dag. I stedet for at opfinde hjulet igen, vil jeg pege dig mod Arduino forum user hari, der skrev et grundlæggende API til interaktion med digitale pins. Brug denne kode (jeg har ændret den til at arbejde med det nyeste Ethernet-bibliotek), tilslut den lange ledning af en LED (anode) til pin 8 og den korte ledning til pin 7 (med en passende modstand). Du kan derefter bruge URL'er til formularen http: // ip: port / digitalWrite / 8/1 for at tænde lysdioden, og http: // ip: port / digitalWrite / 8/0 for at slukke for det og læse analoge værdier med analogRead / 0.

Dette eksempel fra bildr vil også lære dig, hvordan du styrer en række af LED'er ved at læse GET-anmodningen.

Du kan muligvis også tjekke dette eksempel, der udsender en formular på siden for at kontrollere en blinkende RGB LED, selvom du let kunne tilpasse den til en RGB-strimmel som det dynamiske omgivelsesbelysningsprojekt Byg din egen dynamiske omgivelsesbelysning til et mediecenterbygning Din egen dynamiske omgivelsesbelysning til et mediecenter Hvis du ser en masse film på din pc eller mediecenter, er jeg sikker på, at du har stået over for lysdilemmaet; slukker du alle lys helt? Holder du dem på fuld eksplosion? Eller ... vi byggede et stykke tid tilbage.

Jeg havde det sjovt med at bygge disse, så det håber jeg også, du gjorde. Hvis du har oprettet et bibliotek, der gør det nemt at betjene sider og kontroller, bedes du kontakte kontakten.




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.