Indholdsfortegnelse:
- Trin 1: Forudsætninger
- Trin 2: Opbygning af bestyrelsen
- Trin 3: Skematisk
- Trin 4: Føj Irremote Library til Arduino -softwaren
- Trin 5: Registrer koderne fra dine fjernbetjeninger
- Trin 6: Opret websiden til din fjernbetjening
- Trin 7: Upload fjernbetjeningskoden til din Arduino
- Trin 8: Opret forbindelse til webserveren fra din computer
- Trin 9: Valgfrit trin: Rediger din værtsfil for at gøre den lettere at bruge
Video: Arduino browserbaseret fjernbetjening (linux): 9 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Vi har børn. Jeg elsker dem i stykker, men de gemmer hele tiden fjernbetjeningen til satellitten og fjernsynet, når de sætter børnenes kanaler på. Efter at dette var sket på daglig basis i flere år, og efter at min elskede kone havde tilladt mig at få en Arduino til jul, besluttede jeg, at det var på tide at lave noget nyttigt (i hendes øjne!) Med Arduino. Så her har vi kulminationen på det: En webbaseret grænseflade til Arduino, der erstatter mine fjernbetjeninger og er tilgængelig fra mit interne netværk. Når jeg finder ud af, hvorfor mit ethernet -skjold ikke tillader min arduino at beholde en skitse, skriver jeg en ny skitse, der bruger ethernet -skjoldet som webserver, hvilket betyder, at jeg ikke har brug for apache installeret på min computer. Følg med, jeg kommer derhen!
Trin 1: Forudsætninger
Hardware: Arduino side: Arduino - Jeg bruger et Arduino Uno R2 brødbræt - din lokale elektronikbutik eller køkkenet, hvis du vil have et autentisk monteringsskab til brødbræt - jeg brugte en gammel plastikbeholder med et gennemsigtigt låg Komponenter: Infrarød LED - jeg desolderede en fra en ødelagt fjernbetjening (tak børn!) Infrarød modtager - Jeg fik min fra en magic eye remote extender Transistor - jeg brugte en BC547 modstand - jeg brugte en 1,5k ohm variabel modstand sat til 1k ohm Breadboard jumperwires - jeg fik min fra en solid core RJ45 -kabelrulle Computerside: Computer, der skal bruges som server USB -kabel til Arduino Software: Arduino -software - fra arduino.cc irremote -bibliotek - fra https://www.arcfn.com/2009/08/multi-protocol- infrarød -fjern -bibliotek.html (tak Ken, godt arbejde!) Apache webserver med PHP installeret - apache.org Intern IP -adresse - min er 192.168.0.9 Billede af din fjernbetjening - google eller et billede taget på dit kamera. Jeg gemte min ved 200x600 opløsning
Trin 2: Opbygning af bestyrelsen
Det anbefales stærkt at bruge et brødbræt til en arduino. Jeg monterede min Arduino og et brødbræt i samme kabinet og tilsluttede alle stifterne, jeg regelmæssigt bruger, direkte til brødbrættet permanent. Arduino ben bruges til dette projekt: 5v, jord Digitale ben 3, 11 (pin 3 styrer IR LED, pin 11 tilsluttes IR modtageren)
Trin 3: Skematisk
Denne skema er meget enkel, 4 komponenter og 6 ledninger. IR LED -tilslutninger: Tilslut et af modstandens ben til Arduino digital pin 3 Tilslut det andet ben af modstanden til transistorens basisstift (det midterste ben i mit tilfælde) Tilslut transistorens emitter til jorden Tilslut kollektoren af transistoren til det negative ben på LED'en (kort ben, flad side af LED'en) Tilslut det positive ben (langt ben, buet side) af LED'en til 5v pin IR -modtagerforbindelserne (du skal finde pinout for din særlige IR -modtager): GND pin til jord VS pin til 5v VO pin til Arduino digital pin 11
Trin 4: Føj Irremote Library til Arduino -softwaren
irremote er et fantastisk bibliotek skrevet af Ken Shirriff og er tilgængeligt fra hans blog på https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Download biblioteket fra https:// arcfn.com/files/IRremote.zip og installer det som på ethvert andet bibliotek til arduinoen. Hans blog har en masse nyttig information om biblioteket og hvordan man installerer det.
Trin 5: Registrer koderne fra dine fjernbetjeninger
Her er starten på den kedelige (men uundgåelige) del: Tryk på hver knap på fjernbetjeningen, gemmer outputstrengen og kortlæg den til den virtuelle fjernbetjening. Du behøver kun at gøre det en gang, forvent at tage cirka 20 minutter eller deromkring. Start en teksteditor for at gemme dit output. Opret et nyt dokument, og skriv hver knap på din fjernbetjening ud, en pr. Linje: Tænd ned til venstre til højre.. osv. Start Arduino IDE og klik på "Filer-> Eksempler-> IRfjern-> IRrecvDump" og upload den til din Arduino. Dette eksempel vil dumpe fjernkoderne til den serielle port. Start den serielle portmonitor, og tryk på en tast på din fjernbetjening. Du vil se en streng vises i det serielle monitorvindue: "Afkodet *: * (* bits)". Kopiér denne linje, og gem den i dit dokument på den relevante linje. Gentag, indtil du har alle dine nøgler gemt i tekstfilen. Jeg ved, hvor sjov denne bit er, jeg har gjort det to gange indtil nu: P Vi skal nu søge og udskifte lidt i tekstfilen: søg efter "Afkodet" erstat med "" søg efter ": 0x" erstat med "," søg efter "(" erstat med "," søg efter "bits)" erstat med "" Så for en linje som: Afkodet NEC: 0x000110 (15 bit) skulle vi nu have en linje, der siger: NEC, 000110, 15
Trin 6: Opret websiden til din fjernbetjening
Vi skal nu kortlægge knapperne på dit billede af din fjernbetjening.
Jeg brugte https://www.maschek.hu/imagemap/imgmap til at kortlægge knapperne og ændrede den kode, som webstedet giver dig til at få det til at fungere.
Klik på "Brug et billede på din computer: [vælg fil]", vælg dit billede, klik på [upload], klik på [accept] Drop rektangler, cirkler osv. På hver knap. For HREF skal du sætte /remote.php?command= og linjen for den knap fra tekstdokumentet f.eks. /Remote.php?command=NEC, 000110, 15 Det ville være klogt (og en enorm hjælp til fejlfinding), hvis du også udfylder Alt: med knapnavnet, men det er op til dig.
Gentag for hver knap.
Helt færdig? Så fortsætter vi. Nederst på siden er "Kode", klik på det, og der åbnes en boks, der viser koden til billedkortet. Kopier det og indsæt det i et nyt tekstdokument. Dette er hoveddelen af vores webside.
Her er min komplette webside, bare udskift …
med din egen kode ovenfor, og gem den som remote.php i din webkatalog (/var/www på linux) sammen med dine fjernbetjeningsbilleder. Skift linjer for dine egne billeder:
"https://www.w3.org/TR/html4/loose.dtd">
Arduino LED -kontrol
Trin 7: Upload fjernbetjeningskoden til din Arduino
Opret en ny skitse og indsæt følgende kode i den:/ * * WebRemote * En IR LED skal tilsluttes Arduino PWM pin 3. * Version 0.1 juli, 2009 * Denne kode ophavsret Gregory Fenton, https://labby.co. uk/2012/02/irremote-arduino-experimentation/ * IRremote Library copyright 2009 Ken Shirriff, https://arcfn.com */#include template inline Print & operator << (Print & obj, T arg) {obj.print (arg); returnere obj; } boolsk sluttede = falsk; char inData [64]; // Størrelse som passende byteindeks = 0; #define EOP "\ n" IRsend irsend; ugyldig opsætning () {Serial.begin (9600); Seriel << "Seriel port initialiseret" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; lang sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); hvis (indeks == 0) {pch = ""; } hvis (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {ended = true; indeks = 0; pause; } ellers {if (indeks <64) // Matrixstørrelse {pch += inChar; indeks ++; }}} hvis (sluttede) {// Analysér dataene i inData her … pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // spring over ',' eller '' // jeg peger nu på starten af hex j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j peger nu på ',' eller '' efter hex sHex = 0; sTemp = pch.substring (i, j); hvis (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); for (i = 0; i <sTemp.length (); i ++) {k = sTemp ; hvis (! ((k> = '0' && k = 'A' && k <= 'F'))) break; sHex *= 16; hvis (k> = '0' && k <= '9') sHex += (k - '0'); ellers hvis (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); hvis (! ((k> = '0' && k = 'A' && k <= 'F'))) break; } sTemp = pch.substring (j+1); sBits = 0; for (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBits *= 10; hvis (k> = '0' && k <= '9') sBits += (k - '0'); } hvis (sType.length ()> 0) {Seriel << pch << EOP << "Kodetype:" << sType << "Hex:"; Serial.print (sHex, HEX); Seriel << "Bits:" << sBits; } sendIt (sType, sHex, sBits); pch = ""; sluttede = 0; }}} void sendIt (String sType, long sHex, int sBits) {for (int i = 0; i <2; i ++) {if (sType.equals (String ("RC6"))) {irsend.sendRC6 (sHex, sBits); } ellers hvis (sType.equals (String ("RC5"))) {irsend.sendRC5 (sHex, sBits); } ellers hvis (sType.equals (String ("SONY"))) {irsend.sendSony (sHex, sBits); } ellers if (sType.equals (String ("NEC"))) {if (! i) irsend.sendNEC (sHex, sBits); } ellers hvis (sType.equals (String (""))) {Seriel << "Forsinkelse" << EOP; forsinkelse (450); } forsinkelse (30); }}
Trin 8: Opret forbindelse til webserveren fra din computer
.. eller telefon eller android eller ipad eller hvad som helst: gå til https:// webserver IP -adresse/remote.php i din browser For mig er adressen https://192.168.0.9/remote.php, men din vil uden tvivl være anderledes. Hvis alt fungerer, skal du se et billede af din fjernbetjening med knapper, du kan klikke på.
Trin 9: Valgfrit trin: Rediger din værtsfil for at gøre den lettere at bruge
Et trin, jeg gjorde, var at redigere min værtsfil (/etc/hosts på linux, C: / Windows / System32 / Drivers / etc / hosts på windows). Bemærk, at denne fil kun kan redigeres i en administrativ kommandoprompt (Windows) eller ved su (linux) Tilføj linjen ip.add.re.ss fjern udskift ip.add.re.ss med serverens IP -adresse, og gem filen. Du skulle gøre dette på hver enhed, du ønskede at få adgang til websiden med det korte navn. Nu kan du få adgang til fjernbetjeningen med https://remote/remote.php Dette er min første korrekte instruerbare, vær forsigtig og lad mig vide, hvis der er problemer, så jeg kan løse dem.
Anbefalede:
TV -fjernbetjening Bliver en RF -fjernbetjening -- NRF24L01+ Tutorial: 5 trin (med billeder)
TV -fjernbetjening Bliver en RF -fjernbetjening || NRF24L01+ Tutorial: I dette projekt vil jeg vise dig, hvordan jeg brugte den populære nRF24L01+ RF IC til at justere lysstyrken på en LED -strimmel trådløst gennem tre ubrugelige knapper på en fjernsyns fjernbetjening. Lad os komme igang
IRduino: Arduino fjernbetjening - Efterlign en tabt fjernbetjening: 6 trin
IRduino: Arduino fjernbetjening - Efterlign en tabt fjernbetjening: Hvis du nogensinde har mistet fjernbetjeningen til dit tv eller din dvd -afspiller, ved du, hvor frustrerende det er at skulle gå til, finde og bruge knapperne på selve enheden. Nogle gange tilbyder disse knapper ikke engang den samme funktionalitet som fjernbetjeningen. Modtag
Kom godt i gang med MBlock -browserbaseret kodning til HyperDuino: 3 trin
Kom godt i gang med MBlock -browserbaseret kodning til HyperDuino: Velkommen til mBlock -webbaseret tutorial med HyperDuino. Dette viser dig, hvordan du konfigurerer mBlock og uploader din kode til din HyperDuino. Dette viser dig også, hvordan du opretter en grundlæggende kode til en smart bil. For at starte kan vi springe lige ind
Konverter din IR -fjernbetjening til RF -fjernbetjening: 9 trin (med billeder)
Konverter din IR -fjernbetjening til RF -fjernbetjening: I dagens Instructable viser jeg dig, hvordan du kan bruge et generisk RF -modul uden en mikrokontroller, som i sidste ende vil føre os til at bygge et projekt, hvor du kan konvertere en IR -fjernbetjening af enhver enhed til en RF Fjern. Den største fordel ved at konvertere en
Styr dine elektriske apparater med din tv -fjernbetjening (ir -fjernbetjening) med temperatur- og luftfugtighedsvisning: 9 trin
Styr dig elektriske apparater med din tv -fjernbetjening (ir -fjernbetjening) med temperatur- og luftfugtighedsdisplay: hej, jeg er Abhay, og det er min første blog om Instructables, og i dag vil jeg vise dig, hvordan du styrer dine elektriske apparater med din fjernsyns fjernbetjening ved at bygge denne simpelt projekt. tak til atl lab for støtte og levering af materialet