Tartalomjegyzék:
- 1. lépés: Előfeltételek
- 2. lépés: A tábla felépítése
- 3. lépés: Vázlatos
- 4. lépés: Adja hozzá az Irremote könyvtárat az Arduino szoftverhez
- 5. lépés: Jegyezze fel a kódokat a távirányítóiról
- 6. lépés: Hozza létre a weboldalt a távirányítóhoz
- 7. lépés: Töltse fel a távirányító kódját Arduino készülékére
- 8. lépés: Csatlakozás a webszerverhez a számítógépről
- 9. lépés: Választható lépés: Szerkessze a Hosts fájlt a könnyebb használat érdekében
Videó: Arduino böngésző alapú távirányító (linux): 9 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Gyerekeink vannak. Nagyon szeretem őket, de folyamatosan elrejtik a műhold és a TV távirányítóját, amikor bekapcsolják a gyermekcsatornákat. Miután ez több éven keresztül naponta megtörtént, és miután kedves feleségem megengedte, hogy karácsonyra Arduino -t fogyasszak, úgy döntöttem, hogy itt az ideje, hogy valami hasznosat készítsek (az ő szemében!) Az Arduino -val. Tehát itt van a csúcspontja: egy webes felület az Arduino-hoz, amely helyettesíti a távirányítóimat, és elérhető a belső hálózatomról. Amikor rájövök, hogy az ethernetpajzsom miért nem teszi lehetővé az arduino -mnak, hogy vázlatot tartson, új vázlatot fogok írni, amely az ethernet pajzsot használja webszerverként, vagyis nincs szükségem az apache telepítésére a számítógépre. Maradjatok velünk, odaérek!
1. lépés: Előfeltételek
Hardver: Arduino oldal: Arduino - Én egy Arduino Uno R2 kenyértáblát használok - a helyi elektronikai boltot, vagy a konyhát, ha autentikus kenyérsütő deszkát szeretne. az egyik törött távirányítóból (köszönöm gyerekek!) Infravörös vevő - az enyémet egy varázslatos szem távirányítóból szereztem be tranzisztorból - BC547 ellenállást használtam - 1,5 k ohmos változó ellenállást használtam 1 k ohmos kenyérpult jumper vezetékekhez - megkaptam az enyémet tömör magú RJ45 kábeltekercsből Számítógép oldal: Számítógép, amelyet szerverként kell használni USB -vezeték az Arduino szoftverhez: Arduino szoftver - az arduino.cc irremote könyvtárból - a https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (köszönöm Ken, nagyszerű munka!) Apache webszerver telepített PHP -vel - apache.org Belső IP -cím - az enyém 192.168.0.9 A távirányító képe - google vagy a fényképezőgéppel készített kép. Az enyémet 200x600 -as felbontásban mentettem
2. lépés: A tábla felépítése
Kenyérsütő deszkát használni az arduinohoz erősen ajánlott. Az Arduino -t és a kenyérsütő deszkát ugyanabba a házba szereltem fel, és az összes rendszeresen használt csapot állandóan a kenyérlapra kötöttem. Arduino csapok, amelyeket ehhez a projekthez használtak: 5V, földelt Digitális csapok 3, 11 (a 3 -as érintkező az IR LED -et vezérli, a 11 -es tű az IR -vevőhöz csatlakozik)
3. lépés: Vázlatos
Ez a vázlat nagyon egyszerű, 4 komponens és 6 vezeték. IR LED csatlakozások: Csatlakoztassa az ellenállás egyik lábát az Arduino digitális tüskéhez. A tranzisztor a LED negatív lábához (rövid láb, a LED lapos oldala) Csatlakoztassa a LED pozitív lábát (hosszú lábát, ívelt oldalát) az 5 V -os IR -vevőcsatlakozásokhoz (meg kell találnia a az Ön IR -vevőkészüléke): GND érintkező a földeléshez VS -érintkező 5 V -os VO -érintkezőhöz - Arduino digitális tű 11
4. lépés: Adja hozzá az Irremote könyvtárat az Arduino szoftverhez
Az irremote egy nagyszerű könyvtár, amelyet Ken Shirriff írt, és elérhető a blogjáról: https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Töltse le a könyvtárat a https:// arcfn webhelyről.com/files/IRremote.zip fájlt, és telepítse úgy, mint az arduino bármely más könyvtárát. Blogja sok hasznos információt tartalmaz a könyvtárról és annak telepítéséről.
5. lépés: Jegyezze fel a kódokat a távirányítóiról
Itt kezdődik az unalmas (de elkerülhetetlen) rész: A távirányító minden gombjának megnyomása, a kimeneti karakterlánc mentése és a virtuális távirányítóhoz való hozzárendelése. Csak egyszer kell megtenni, körülbelül 20 percet vesz igénybe. Indítson el egy szövegszerkesztőt a kimenet mentéséhez. Hozzon létre egy új dokumentumot, és írja be a távirányító minden gombját, soronként egyet: Bekapcsolás Le, Balra Jobbra stb. Indítsa el az Arduino IDE-t, és kattintson a "Fájlok-> Példák-> IRremote-> IRrecvDump" elemre, és töltse fel a az Arduino -d. Ez a példa a távoli kódokat a soros portra dobja. Indítsa el a soros port figyelőt, és nyomja meg a távirányító egyik gombját. A soros monitor ablakában megjelenik egy karakterlánc: "Dekódolt *: * (* bit)". Másolja ezt a sort, és mentse a dokumentumba a megfelelő sorba. Ismételje meg mindaddig, amíg az összes kulcsot el nem tárolja a szövegfájlban. Tudom, milyen szórakoztató ez a rész, eddig kétszer csináltam: P Most egy kis keresést és cserét kell végeznünk a szövegfájlban: keressük a "Dekódolt" helyettesítést "" kereséssel ": 0x" cseréljük le "," keresés "(" helyettesítés "," keresés "bitekhez" "helyettesítés" "-al, 15
6. lépés: Hozza létre a weboldalt a távirányítóhoz
Most le kell térképeznünk a távirányító képén található gombokat.
A https://www.maschek.hu/imagemap/imgmap segítségével feltérképeztem a gombokat, és módosítottam a kódot, amelyet a webhely ad, hogy működjön.
Kattintson a "Kép használata a számítógépen: [fájl kiválasztása]" elemre, válassza ki a képét, kattintson a [feltöltés] gombra, majd az [elfogad] gombra. Téglalapok, körök stb. A HREF esetén írja be a /remote.php?command= parancsot és a gomb sorát a szöveges dokumentumból, például /remote.php?command=NEC, 000110, 15 Bölcs dolog lenne (és rendkívül sokat segítene a hibakeresésben), ha kitölti Alt: a gomb nevével, de ez rajtad múlik.
Ismételje meg minden gombnál.
Minden kész? Akkor folytatjuk. Az oldal alján a "Kód", kattintson rá, és megnyílik egy ablak, amely a képkép kódját mutatja. Másolja ki és illessze be egy új szöveges dokumentumba. Ez a weboldalunk fő része.
Itt a teljes weboldalam, csak cseréld le a…
a fenti saját kóddal, és mentse el remote.php néven a webkönyvtárába (/var/www Linuxon) a távirányító képeivel együtt. Változtassa meg a sorokat a saját képeihez:
"https://www.w3.org/TR/html4/loose.dtd">
Arduino LED vezérlés
7. lépés: Töltse fel a távirányító kódját Arduino készülékére
Hozzon létre egy új vázlatot, és illessze be a következő kódot:/ * * WebRemote * Egy IR LED -et kell csatlakoztatni az Arduino PWM 3. tűjéhez. * 0.1 verzió, 2009. július uk/2012/02/irremote-arduino-experimentation/ * Az IRremote Library szerzői joga 2009 Ken Shirriff, https://arcfn.com */#include template inline Print & operator << (Print & obj, T arg) {obj.print (arg); return obj; } logikai véget ért = hamis; char inData [64]; // Méret megfelelő bájt index = 0; #define EOP "\ n" IRsend irsend; void setup () {Serial.begin (9600); Soros << "Soros port inicializálva" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; hosszú sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); if (index == 0) {pch = ""; } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {end = true; index = 0; szünet; } else {if (index <64) // Tömb mérete {pch += inChar; index ++; }}} if (véget ért) {// Itt elemezze az inData adatait itt … pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // ugrás a ',' vagy a '' // i fölött most a hexa j = pch.lastIndexOf ('') elejére mutat! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j most ',' vagy '' pontra mutat hexadex után sHex = 0; sTemp = pch.substring (i, j); ha (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); for (i = 0; i <sTemp.length (); i ++) {k = sTemp ; if (! ((k> = '0' && k = 'A' && k <= 'F'))) break; sHex *= 16; ha (k> = '0' && k <= '9') sHex += (k - '0'); egyébként, ha (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); if (! ((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; ha (k> = '0' && k <= '9') sBits += (k - '0'); } if (sType.length ()> 0) {Soros << pch << EOP << "Kódtípus:" << sType << "Hex:"; Sorozatnyomat (sHex, HEX); Soros << "Bits:" << sBits; } sendIt (sType, sHex, sBits); pch = ""; vége = 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); } else if (sType.equals (String ("RC5")))) {irsend.sendRC5 (sHex, sBits); } else if (sType.equals (String ("SONY")))) {irsend.sendSony (sHex, sBits); } else if (sType.equals (String ("NEC")))) {if (! i) irsend.sendNEC (sHex, sBits); } else if (sType.equals (String (""))) {Soros << "Késleltetés" << EOP; késleltetés (450); } késleltetés (30); }}
8. lépés: Csatlakozás a webszerverhez a számítógépről
.. vagy telefon vagy android vagy ipad vagy bármi más: menjen a https:// webszerver IP -cím/remote.php oldalra a böngészőben Számomra a cím https://192.168.0.9/remote.php, de a tiéd kétségkívül más lesz. Ha minden működik, látnia kell egy képet a távirányítóról, amelyre kattinthat.
9. lépés: Választható lépés: Szerkessze a Hosts fájlt a könnyebb használat érdekében
Egy lépés volt, hogy szerkesztettem a hosts fájlt (/etc/hosts Linuxon, C: / Windows / System32 / Drivers / etc / hosts Windowson). Ne feledje, hogy ez a fájl csak adminisztrátori parancssorban (Windows) vagy su (linux) segítségével szerkeszthető. Ezt minden olyan eszközön meg kell tennie, amelyhez rövid névvel szeretne hozzáférni a weboldalhoz. Most elérheti a távvezérlőt a https://remote/remote.php segítségével. Ez az első megfelelő utasításom, legyen szelíd, és tudassa velem, ha bármilyen probléma merül fel, hogy kijavíthassam őket.
Ajánlott:
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): 4 lépés (képekkel)
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): Szia, ma elmagyarázom, hogyan készíts saját kis időjárás alapú zenegenerátort. Ez egy ESP8266 -on alapul, ami olyan, mint egy Arduino, és reagál a hőmérsékletre, az esőre és fényintenzitás. Ne várd el, hogy teljes dalokat vagy akkordprogramokat készítsen
Arduino alapú GSM/SMS távirányító: 16 lépés (képekkel)
Arduino alapú GSM/SMS távirányító:! ! ! N O T I C E! ! ! Mivel a környékbeli mobiltelefon -tornyot korszerűsítik, már nem tudom használni ezt a GSM modult. Az újabb torony már nem támogatja a 2G eszközöket. Ezért már nem tudok semmilyen támogatást nyújtani ehhez a projekthez. Ilyen wi
Arduino alapú távirányító Eskate vagy szárnyashajó számára: 5 lépés (képekkel)
Arduino alapú távirányító Eskate vagy szárnyashajó számára: Ez az oktatóanyag bemutatja, hogyan kell fizikai távirányítót készíteni egy eskate vagy egy elektromos szárnyashajóhoz, beleértve az összes szükséges kódot és hardvert. Sok forrasztás van benne, de az elkészítése is szórakoztató. Mit tehet a távirányító? Együtt
Wi-Servo: Wi-Fi böngésző által vezérelt szervomotorok (Arduino + ESP8266-mal): 5 lépés
Wi-Servo: Wi-Fi böngésző által vezérelt szervomotorok (Arduino + ESP8266 esetén): Ez az utasítás megmutatja, hogyan lehet egyes szervomotorokat távolról vezérelni wi-fi hálózatban, egy közönséges internetböngésző (például Firefox) segítségével. Ezt több alkalmazásban is fel lehet használni: játékok, robotok, drónok, fényképezőgép pan/döntése stb. A motorok
Böngésző streamelő robot a GoPiGo3 segítségével: 5 lépés
Böngésző streaming robot a GoPiGo3 segítségével: Ebben a fejlett projektben a GoPiGo3 Raspberry Pi Robot segítségével egy böngésző videó streaming robotot építünk, amely élő videót közvetít a böngészőbe, és a böngészőből vezérelhető. Ebben a projektben a Raspberry Pi Camera modult használjuk a GoPiG segítségével