Mündəricat:
- Addım 1: ön şərtlər
- Addım 2: İdarə Heyətinin qurulması
- Addım 3: Şematik
- Addım 4: Arduino Proqramına İrremote Kitabxanası əlavə edin
- Addım 5: Uzaqdan İdarəetmə Sisteminizdən Kodları Yazın
- Addım 6: Uzaqdan İdarəetmə üçün İnternet Səhifəsi yaradın
- Addım 7: Uzaqdan İdarəetmə Kodunu Arduino -ya yükləyin
- Addım 8: Kompüterinizdən Veb Serverə qoşulun
- Addım 9: İsteğe Bağlı Adım: İstifadə etməyi asanlaşdırmaq üçün Host Faylınızı Düzəldin
Video: Arduino Brauzer Əsaslı Uzaqdan İdarəetmə (linux): 9 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Uşaqlarımız var. Mən onları çox sevirəm, amma uşaq kanallarını açanda peyk və TV üçün pultu gizlətməyə davam edirlər. Bir neçə ildir gündəlik olaraq baş verən hadisələrdən sonra və sevgilim arvadımın Milad üçün Arduino almasına icazə verdikdən sonra, Arduino ilə faydalı bir şey (gözlərində!) Etməyin vaxtı gəldiyinə qərar verdim. Beləliklə, burada bunun zirvəsinə sahibik: pultlarımı əvəz edən və daxili şəbəkəmdən əldə edilə bilən Arduino üçün veb əsaslı bir interfeys. Ethernet qalxanımın arduino -nun eskiz saxlamasına niyə icazə vermədiyini anladığımda, ethernet qalxanı veb server olaraq istifadə edən yeni bir eskiz yazacağam, yəni kompüterimdə apache yükləməyimə ehtiyac yoxdur. İzləmədə qalın, ora çatacağam!
Addım 1: ön şərtlər
Avadanlıq: Arduino tərəfi: Arduino - Arduino Uno R2 Breadboard -dan istifadə edirəm - yerli elektronika mağazanızdan və ya orijinal bir çörək taxtası İstəsəniz mətbəxdən - Montaj korpusu - Şəffaf qapaqlı köhnə bir plastik qutudan istifadə etdim. Komponentlər: İnfraqırmızı LED qırıq bir uzaqdan idarəetmə vasitəsi ilə (uşaqlara təşəkkürlər!) İnfraqırmızı Alıcı - Sehrli bir gözdən uzadılmış Transistordan mina aldım - BC547 Rezistorundan istifadə etdim - 1k ohm Breadboard tullanan tellərinə qoyulmuş 1.5k ohm dəyişən bir rezistordan istifadə etdim - mənimki var möhkəm bir nüvəli RJ45 kabel makarasından Kompüter tərəfi: Server kimi istifadə ediləcək kompüter Arduino Proqramına: Arduino proqramı - arduino.cc kənar kitabxanasından - https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (təşəkkürlər Ken, əla iş!) PHP quraşdırılmış Apache web serveri - apache.org Daxili IP ünvanı - mina 192.168.0.9 pultunuzun şəkli - google və ya kameranızda çəkilmiş bir şəkil. Özümü 200x600 qətnamədə saxladım
Addım 2: İdarə Heyətinin qurulması
Arduino üçün çörək taxtasından istifadə etmək çox tövsiyə olunur. Arduino və çörək taxtasını eyni korpusa yerləşdirdim və müntəzəm olaraq istifadə etdiyim bütün sancaqları birbaşa çörək taxtasına daimi olaraq bağladım. Bu layihə üçün istifadə olunan Arduino sancaqları: 5v, torpaq rəqəmsal sancaqlar 3, 11 (pin 3 IR LEDini idarə edir, pin 11 IR qəbuledicisinə qoşulur)
Addım 3: Şematik
Bu sxem 4 komponentdən və 6 teldən çox sadədir. IR LED əlaqələri: Rezistorun ayaqlarından birini Arduino rəqəmsal pininə bağlayın 3 Rezistorun digər ayağını tranzistorun əsas pininə qoşun (mənim vəziyyətimdə orta ayaq) Transistorun emitentini yerə bağlayın Kollektoru qoşun LED -in mənfi ayağına tranzistor (qısa ayaq, LED -in düz tərəfi) LED -in pozitiv ayağını (uzun ayağı, əyri tərəfi) 5v pinli IR qəbuledici əlaqələrinə qoşun (bunun üçün pinout tapmaq lazımdır. xüsusi IR qəbulediciniz): GND pin VS pin 5v VO pin Arduino rəqəmsal pin 11
Addım 4: Arduino Proqramına İrremote Kitabxanası əlavə edin
irremote, Ken Shirriff tərəfindən yazılmış böyük bir kitabxanadır və https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html kitabxanasını https:// arcfn saytından yükləyin.com/files/IRremote.zip və arduino üçün hər hansı digər kitabxanada olduğu kimi quraşdırın. Onun bloqunda kitabxana və onun necə qurulacağı haqqında çox faydalı məlumatlar var.
Addım 5: Uzaqdan İdarəetmə Sisteminizdən Kodları Yazın
Darıxdırıcı (lakin qaçılmaz) hissənin başlanğıcı budur: Uzaqdan idarəedicinin hər düyməsinə basmaq, çıxış simini saxlamaq və virtual uzaqdan idarəetmə sisteminə uyğunlaşdırmaq. Bunu yalnız bir dəfə etməlisiniz, təxminən 20 dəqiqə çəkməsini gözləyin. Çıxışınızı saxlamaq üçün mətn redaktorunu işə salın. Yeni bir sənəd yaradın və pultunuzdakı hər düyməni hər sətirdən birində yazın: Arxaino IDE-ni işə salın və "Fayllar-> Nümunələr-> IRremote-> IRrecvDump" düyməsini basın və yükləyin. sizin Arduino. Bu nümunə uzaqdan gələn kodları serial portuna atacaq. Serial port monitorunu işə salın və pultunuzdakı düyməni basın. Serial monitor pəncərəsində bir simli göründüyünü görürsünüz: "Kod çözülmüş *: * (* bit)". Bu sətri kopyalayın və müvafiq sətirdə sənədinizə qeyd edin. Bütün açarlarınızı mətn sənədində saxlayana qədər təkrarlayın. Bu bitin nə qədər əyləncəli olduğunu bilirəm, indiyə qədər bunu iki dəfə etmişəm: P İndi mətn sənədində bir az axtarmalı və əvəz etməliyik: "Dekodlaşdırılmış" ı axtarın "" axtar ": 0x ilə əvəz edin "," axtar "(" ilə əvəz et "," bit "axtar)" "ilə əvəz et" Belə ki, belə bir xətt üçün: Dekodlaşdırılmış NEC: 0x000110 (15 bit) deyən bir xəttə sahib olmalıyıq: NEC, 000110, 15
Addım 6: Uzaqdan İdarəetmə üçün İnternet Səhifəsi yaradın
İndi pultunuzun şəklindəki düymələri xəritəyə salmalıyıq.
Düymələri xəritələşdirmək üçün https://www.maschek.hu/imagemap/imgmap istifadə etdim və veb saytın işləməsi üçün verdiyi kodu dəyişdirdim.
"Kompüterinizdə bir şəkil istifadə edin: [faylı seçin]" düyməsini basın, şəklinizi seçin, [yüklə] düyməsini basın, [qəbul et] düyməsini basın, hər bir düyməyə dikdörtgenlər, dairələr və s. HREF üçün /remote.php?command= və mətn sənədindəki düymənin sətrini qoyun, məsələn /remote.php?command=NEC, 000110, 15 Alt: düymənin adı ilə ancaq bu sizə bağlıdır.
Hər düyməni təkrarlayın.
Hər şey hazırdır? Sonra davam edəcəyik. Səhifənin altındakı "Kod" düyməsini basın və təsəvvür xəritəsinin kodunu göstərən bir qutu açılacaq. Bunu kopyalayın və yeni bir mətn sənədinə yapışdırın. Bu veb səhifəmizin əsas hissəsidir.
Budur tam veb səhifəm, sadəcə əvəz edin …
yuxarıdakı öz kodunuzla və uzaqdan idarə şəkillərinizlə birlikdə web qovluğunuzda (/var/www linuxda) remote.php olaraq qeyd edin. Şəkillərinizin sətirlərini dəyişdirin:
"https://www.w3.org/TR/html4/loose.dtd">
Arduino LED nəzarət
Addım 7: Uzaqdan İdarəetmə Kodunu Arduino -ya yükləyin
Yeni bir eskiz yaradın və aşağıdakı kodu yapışdırın:/ * * WebRemote * IR LED Arduino PWM pin 3 -ə qoşulmalıdır. * Versiya 0.1 İyul, 2009 * Bu kodun müəllif hüquqları Gregory Fenton, https://labby.co. uk/2012/02/irremote-arduino-Experimentation/ * IRremote Kitabxanasının müəllif hüququ 2009 Ken Shirriff, https://arcfn.com */ # #şablon daxil et Çap və operator << (Çap və obj, T arg) {obj.print (arg); qaytar obj; } boolean sona çatdı = yalan; Char inData [64]; // Müvafiq olaraq ölçüsü bayt indeksi = 0; #define EOP "\ n" IRsend irsend; void setup () {Serial.begin (9600); Serial << "Serial port başlatıldı" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; uzun sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); əgər (indeks == 0) {pch = ""; } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {end = true; indeks = 0; fasilə; } else {if (index <64) // Array ölçüsü {pch += inChar; indeks ++; }}} if (sona çatdı) {// inData'dakı məlumatları buradan təhlil edin… pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // ',' və ya '' // atlayın artıq i onaltının başlanğıcını göstərir j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j indi hex sHex = 0 -dan sonra ',' və ya '' işarəsini göstərir; sTemp = pch.substring (i, j); əgər (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; əgər (k> = '0' && k <= '9') sHex += (k - '0'); başqa (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; əgər (k> = '0' && k <= '9') sBits += (k - '0'); } if (sType.length ()> 0) {Serial << pch << EOP << "Kod növü:" << sType << "Hex:"; Serial.print (sHex, HEX); Serial << "Bit:" << sBits; } sendIt (sType, sHex, sBits); pch = ""; sona çatdı = 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); } başqa if (sType.equals (String ("RC5"))) {irsend.sendRC5 (sHex, sBits); } else if (sType.equals (String ("SONY"))) {irsend.sendSony (sHex, sBits); } başqa if (sType.equals (String ("NEC")))) {if (! i) irsend.sendNEC (sHex, sBits); } else if (sType.equals (String ("")))) {Serial << "Gecikmə" << EOP; gecikmə (450); } gecikmə (30); }}
Addım 8: Kompüterinizdən Veb Serverə qoşulun
.. və ya telefon və ya android və ya ipad və ya hər hansı bir şey: tarayıcınızda https:// veb serveri IP ünvanı/remote.php ünvanına gedin Mənim üçün bu ünvan https://192.168.0.9/remote.php -dir, amma şübhəsiz ki, sizinki fərqli olacaq. Hər şey işləyirsə, üzərinə basa biləcəyiniz düymələri olan pultunuzun şəklini görməlisiniz.
Addım 9: İsteğe Bağlı Adım: İstifadə etməyi asanlaşdırmaq üçün Host Faylınızı Düzəldin
Etdiyim bir addım, host faylımı (linuxda/etc/hosts, Windows: C: / Windows / System32 / Drivers / etc / hosts) redaktə etmək idi. Diqqət yetirin ki, bu fayl yalnız inzibati əmr sorğusunda (pəncərələrdə) və ya su (linux) düzəldilə bilər ip.add.re.ss uzaqdan əlavə edin. IP.add.re.ss -i serverin IP ünvanı ilə əvəz edin və faylı qeyd edin. Qısa adla veb səhifəsinə daxil olmaq istədiyiniz hər bir cihazda bunu etməlisiniz. İndi pulta https://remote/remote.php ilə daxil ola bilərsiniz, bu mənim ilk düzgün təlimatçımdır, yumşaq olun və hər hansı bir problemin olub olmadığını bildirin ki, onları həll edim.
Tövsiyə:
Amazon Fire Uzaqdan Uzaqdan TV Uzaqdan sürüşdürün: 3 Addım (Şəkillərlə birlikdə)
Amazon Fire Uzaqdan Uzaqdan TV Uzaqdan Sürüşdürün: Oh Amazon, Fire TV'niz çox gözəldir, niyə bizə pultunuzda səs idarəetməsini vermədiniz? Yaxşı ki, Amazon -da 5 dollardan aşağı qiymətə bu sevimli kiçik uzaqdan, güc, səssiz satın ala bilərsiniz. , həcmi və hamısı kiçik bir paketdə. 3d printerə daxil edin
Arduino əsaslı GSM/SMS Uzaqdan İdarəetmə Bölməsi: 16 Addım (Şəkillərlə birlikdə)
Arduino əsaslı GSM/SMS Uzaqdan İdarəetmə Bölməsi:! ! ! XƏBƏRDARLIQ ! ! Bölgəmdə yerli mobil telefon qülləsinin təkmilləşdirilməsi səbəbindən artıq bu GSM modulundan istifadə edə bilmirəm. Yeni qüllə artıq 2G cihazlarını dəstəkləmir. Buna görə də artıq bu layihəyə heç bir dəstək verə bilmərəm
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 4 Addım
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 如何 通用 遥控 器 套件 转换 为 玩具 中 中 遥控 采用 采用 6 6 6 6 6 6 6 6 2262 和 2272 和 433 模块 构建 构建改造 方法 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照
Eskate və ya Hydrofoil üçün Arduino əsaslı uzaqdan idarəetmə: 5 addım (şəkillərlə)
Eskate və ya Hydrofoil üçün Arduino Əsaslı Uzaqdan İdarəetmə: Bu təlimat sizə lazım olan bütün kod və aparat daxil olmaqla bir eskate və ya elektrikli hidrofoil ilə istifadə etmək üçün fiziki bir uzaqdan qurma yolunu göstərəcək. Bir çox lehimləmə var, amma etmək də əyləncəlidir. Pult nə edə bilər? Ko
IR Uzaqdan Uzaqdan Uzaqdan Çevirin: 9 Addım (Şəkillərlə birlikdə)
IR Uzaqdan Uzaqdan Uzaqdan RF -yə çevirin: Bugünkü Təlimat kitabında, ümumi bir RF modulunu mikro nəzarətçi olmadan necə istifadə edə biləcəyinizi sizə göstərəcəyəm ki, nəticədə hər hansı bir cihazın IR uzaqdan idarəetmə cihazını RF -yə çevirə biləcəyiniz bir layihə hazırlayaq. Uzaqdan. Çevirmənin əsas üstünlüyü