Mündəricat:

Kompüter IR Uzaqdan İdarəetmə: 4 addım
Kompüter IR Uzaqdan İdarəetmə: 4 addım

Video: Kompüter IR Uzaqdan İdarəetmə: 4 addım

Video: Kompüter IR Uzaqdan İdarəetmə: 4 addım
Video: Subnet Mask - Explained 2024, Iyun
Anonim
Kompüter IR Uzaqdan Nəzarət
Kompüter IR Uzaqdan Nəzarət

Bir çox başqa məqsədlə yanaşı, kompüterimi multimedia mərkəzi kimi istifadə edirəm. Bəzən divanda musiqi dinləyərkən, filmə və ya televizora baxanda dincəlirəm və hər dəfə axmaq reklamlar görünəndə və ya yuxuya gedəndə səsimi düzəltmək və ya televiziya kanalını dəyişdirmək istəmirəm. səssizlik. Buna görə kompüterimi standart bir IR uzaqdan idarəetmə cihazı ilə idarə etməyi qərara aldım, buna görə siçanı və ya klaviaturadakı səssiz düyməni sıxmaq əvəzinə dərhal düyməni basa bildim.

Layihə bir neçə hissədən ibarətdir:

  1. Uzaqdan nəzarət
  2. PC proqramı
  3. IR qəbuledici modulu

Addım 1: Uzaqdan İdarəetmə

Uzaqdan idarəetmə
Uzaqdan idarəetmə

İlk maddə - uzaqdan idarəetmə - işi başa çatdırmaq üçün əhəmiyyətsizdir. İstədiyiniz IR nəzarətindən istifadə edin. Satış üçün olanı IR qəbuledicisi ilə birlikdə dəst kimi istifadə etdim - şəkilə baxın. Bu növə qərar verməyimin yeganə səbəbi, artıq evdə olmağımdır.

Addım 2: Proqram təminatı

Bir terminalda işləyən GNU/Linux OS üçün proqramı yaratdım. Mənbə kodu yükləmək/istifadə etmək/paylaşmaq/dəyişdirmək pulsuzdur. Kodu tərtib etmək üçün terminalda gcc -o remotePC remotePC.c kimi bir əmr verin. Proqramı işə salmaq üçün./remotePC.

Bu addımdakı aşağıdakı məlumatlar işlərin necə işlədiyi ilə maraqlananlara ünvanlanır.

Proqramın təsviri

Proqram əvvəlcə /dev /ttyACM0 və ya ttyACM1 faylının olub olmadığını yoxlayır. Əgər belədirsə, faylın qrup ID sıfırdan fərqli olaraq yoxlanılır. Bu, serial portunun ümumi istifadəçi tərəfindən oxunması və yazılması deməkdir. Proqramın məlumatları qəbul etməyə hazır olduğunu bildirmək üçün limana 0xAA 0x55 dəyərli iki bayt yazılır. Daxil olan məlumatlar saxlanılan dəyərlərlə müqayisə edilir. Uyğunluq aşkar edilərsə, əvvəlcədən təyin edilmiş hərəkət yerinə yetirilir.

Səs səviyyəsinə nəzarət

Proqram səsi aça/söndürə, sistem səviyyəsində səs səviyyəsini artıra/azalda bilər. Bu pactl proqramının istifadəsi ilə əldə edilir. Sonra əmrlər belə görünür:

pactl set-sink-mute 0 keçid

pactl set-lavabo-həcmi 0 +10%

pactl set-lavabo-həcmi 0 -10%

Gerekirse, tələb olunan paketləri quraşdırın.

VLC Media Player nəzarət

Proqram həm də audio/videoya başlaya/dayandıra və VLC Media Player -in çalğı siyahısındakı parçanı əvvəlki/sonrakıya dəyişə bilər. Bu vəziyyətdə Desktop Bus istifadə olunur. Əmrlər:

dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. PlayPause

dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Növbəti

dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Öncək

Addım 3: IR Alıcı Modulu

IR Alıcı Modulu
IR Alıcı Modulu
IR Alıcı Modulu
IR Alıcı Modulu
IR Alıcı Modulu
IR Alıcı Modulu

Layihənin üçüncü hissəsi ən mürəkkəb, lakin olduqca sadədir. Fikir budur ki, IR qəbuledicisi MCU -ya onu unikal nömrəyə çevirəcək siqnal verəcəkdir. Bu rəqəm daha sonra USB vasitəsilə PC -yə ötürüləcəkdir.

Modulun kompüter korpusunun içərisinə quraşdırılması və kabel ilə anakartdakı USB yuvasına qoşulması nəzərdə tutulmuşdur. USB ilə xarici əlaqəyə üstünlük verirsinizsə, kiçik düzəlişlər etməlisiniz.

MCU

Modulu PIC16F1829 mikrokontrolöründə qurdum. MCU seçimi kritik deyil, mənbə kodunu tənzimləyə bilsəniz başqa bir MCU istifadə edə bilərsiniz. Bu PIC -i iki səbəbdən seçdim. Əvvəlcə onu əldə etdim, ikincisi, pinləri müxtəlif test layihələrində sıx istifadə nəticəsində qismən zədələndi. Tamamilə yararsız hala düşməzdən əvvəl daimi layihədə istifadə etmək istədim.:-)

IR qəbuledicisi

Modulun əsaslandığı ikinci hissə VS1838B IR qəbuledicisidir - 1 -ci addımda qeyd olunan.

UART/USB çeviricisi

Üçüncü hissə UART/I2C/USB çeviricisi olan MCP2221 -dir.

Tapşırıq, bu 3 hissəni birləşdirərək IR uzaqdan idarəetmə sistemindən siqnalları qəbul edə və PC -yə təhvil verə biləcək modulu qurmaqdır.

Kablolama

Birinci şəkildə çörək taxtasında test dövrəsi var. İkincisində naqillərin sxemi var.

Parçaların siyahısı

1 ədəd PIC16F1829 (və ya hər hansı digər MCU)

1 ədəd VS1838B (və ya hər hansı digər IR qəbuledicisi)

1 ədəd MCP2221 (və ya hər hansı digər UART/USB çeviricisi)

2 ədəd 4 pinli başlıq

1 ədəd 6 pinli başlıq

1 ədəd rezistor 100R

2 ədəd 10K müqavimət

2 ədəd rezistor 330R

1 ədəd 470 nF kondansatör

2 ədəd elektrolitik kondansatör 4.7 uF

1 ədəd keçid (isteğe bağlı)

PCB montajı

Sxemdən istifadə edərək modulu birləşdirin. Ya universal lövhədən istifadə edə bilərsiniz, ya da xüsusi bir PCB yarada bilərsiniz. Əgər sonuncu belədirsə, aşağıdakı arxivdə KiCad fayllarını təqdim etmişəm.

Firmware

MPLAB X IDE və XC8 kompilyatorunun istifadəsi ilə yazılmış PIC üçün mənbə kodu aşağıda mövcuddur.

Mənbə kodu qeyd edir

Proqramın tam olaraq nə etdiyini bilmək istəyənlər üçün aşağıdakı sətirlər var.

Bütün parametrlər edildikdən sonra qırmızı LED yanır və MCU 0x55AA məlumatlarını gözləyir. Bundan sonra LED yaşıl rəngə çevrilir və MCU fasilələrdən istifadə edərək IR qəbuledicisindən gələn siqnalı aşkar etməyə başlayır. Siqnalın Yüksək və Aşağı səviyyələrdə olduğu zaman aralıqlarını ölçür və qeyd edir. Bu vaxtlar daha sonra PC-yə göndərilən 32 bitlik nömrəyə çevrilir.

Zaman və son ədəd arasındakı əlaqə NEC protokolu ilə verilir.

Addım 4: Cihazı necə istifadə etmək olar

Cihazı necə istifadə etmək olar
Cihazı necə istifadə etmək olar
Cihazı necə istifadə etmək olar
Cihazı necə istifadə etmək olar
Cihazı necə istifadə etmək olar
Cihazı necə istifadə etmək olar

Firmware

Firmware -ni PIC -ə yükləyin. PICkit 3 proqramçıdan istifadə edirəm.

Avadanlıq

Şəkillərdə göründüyü kimi IR alıcı modulunu quraşdırın:

  1. USB başlığını PC korpusunun içərisindəki anakartdakı daxili USB yuvasına uyğun 4 telli bir kabel ilə və ya xaricdən standart USB kabeli ilə USB yuvasına qoşun. İkinci vəziyyətdə özünüzə bir şəkildə kömək etməlisiniz, məsələn. ilham üçün 3 -cü şəkildəki kimi.
  2. 5 V güc kabelini PC qutusundakı güc mənbəyindən 4 pinli başlığa bağlayın. Və ya xarici istifadə vəziyyətində modulu başqa bir şəkildə gücləndirin.

Anakartın USB soket pinlərinin təsvirinə baxın. Kabellərin bir növ standarta uyğun olub olmadığını bilmirəm, buna görə əmin olmaq daha yaxşıdır. Mənim vəziyyətimdə, üst sırada 5 sancaq və altda 4 sancaq olan iki pin sırası var. Soldan sağa sancaqlar + 5 V, D-, D +, Gnd. Birinci cərgədəki 5 -ci pin bağlı deyil. Kabeli ikinci şəkildə gördüyüm kimi bağladım.

Proqram təminatı

Proqramı terminalda işə salın. Hər şey qaydasındadırsa, proqramın son mesajı "məlumat gözləmək …" dir. İndi pultdakı düyməni basdığınız zaman alınan kod terminalda görünəcək. Beləliklə, hansı düymənin hansı kodu yaydığını biləcəksiniz.

İndi bəzi proqramlaşdırma məhsulları sizi gözləyir, amma narahat olmayın. Proqramın uzaqdan idarə etməyinizə cavab verməsi üçün proqramın mənbə kodunda bir neçə şeyi dəyişdirmək lazımdır. İstəyirsinizsə və ya kodlarımı sizinki ilə əvəz etsəniz, remotePC.c faylını mətn redaktorunda və ya bəzi IDE -də açın. Hər bir hərəkət üçün istifadə etmək istədiyiniz düymələri bir -bir basın. Sadəcə olaraq terminalda görünən kodları kopyalayın və onları müvafiq hərəkətlə mənbə koduna yapışdırın.

Bitirdikdən sonra proqramı dayandırın və kodu gcc -o remotePC remotePC.c əmri ilə yenidən yığın. Proqramı yenidən işə salın və bundan sonra uzaqdan idarə etməyinizə cavab verəcəkdir.

Məsələn, istifadəçi dostu qrafik mühitində kodları/hərəkətləri əlavə etmək/dəyişdirmək mümkün olduqda, layihənin daha da inkişaf etdirilməsi üçün vaxt sərf etməyi mənasız hesab etdiyim üçün proqramdakı kodlaşdırılmış hərəkətlərlə bu yoldan istifadə edirəm. Ancaq bunu və ya daha çox etmək istəyirsinizsə, edə bilərsiniz.

Tövsiyə: