Raspberry chắc ace không lạ gì, nay mình hướng dẫn các bạn cách làm điều khiển em nó bằng chính điều khiển tivi.
[FONT=Tahoma]Nguồn tham khảo :
Pham Thanh Nam's Blog: Sử dụng Raspberry Pi để điều khiển từ xa các thiết bị điện tử](‘Pham Thanh Nam's Blog: Sử dụng Raspberry Pi để điều khiển từ xa các thiết bị điện tử’)
http://kodiviet.com/threads/39/](‘http://kodiviet.com/threads/39/’)
youtube:
Bước 1 . Kiếm một đầu đọc hồng ngoại , tìm mua loại ( infra receiver - TSOP1138 ) có thể tìm mua ở các của hàng linh kiện điện tử .
Sua đó gắn vào PI 2 theo sơ đồ bên dưới đây .
Hình bên trên là của PI 1 chỉ có 30 chân , nhưng trên PI 2 vị trí chân cần gắn cũng y hệt như vậy .
Bước 2 . Đăng nhập SSH
Dùng Putty trên windows để băng nhập SSH
Trên openelec vào mục openelec > services > bật SSH
Mở putty và làm theo dưới hình để đăng nhập SSH .
http://i.imgur.com/urFw5WY.png
http://i.imgur.com/xdXwtcQ.png
http://i.imgur.com/FdA6sFi.png
Host name là IP của openelec .
Login là root , mật khẩu là openelec
Tiếp theo ta cần sửa lại config của openelec để nó hỗ trợ remote .
Trên cửa sổ SSH gõ các lệnh sau
Bước 2:
Chạy lệnh ls /dev/lirc0 để xem thiết bị /dev/lirc0 đã có chưa, nếu chưa thì chạy lệnh sudo modprobe lirc_rpi để nạp trình điều khiển. Nếu mắt nhận hồng ngoại được nối đúng, sẽ có thiết bị /dev/lirc0 được tạo ra, chạy lệnh dmesg để xem chi tiết.
Các bác xem có mấy cái dòng chữ nè hay không (nếu có là ok, em test trên openelec 5.0.8 thấy có luôn khi gắn mắt hồng ngoại vào) :
5.257011] lirc_rpi: auto-detected active low receiver on GPIO pin 18
5.257265] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0
5.257275] lirc_rpi: driver registered!
5.458153] input: lircd as /devices/virtual/input/input0
Tiếp tục gõ lệnh dưới:
mount -o remount,rw /flash
nano /flash/config.txt
Di chuyển con trỏ xuống dưới cùng và thêm 2 dòng này vào
dtoverlay=lirc-rpi
irw /var/run/lirc/lircd-lirc0
http://i.imgur.com/qutQszS.png
Nhấn Ctrl + x và gõ y để lưu lại và enter
Bước 3:
Kiểm tra xem mắt hồng ngoại có nhận remote hay không
killall lircd
mode2 -d /dev/lirc0
Hướng remote về phía Raspberry, nhấn vài phím, nếu trên màn hình xuất hiện
pulse 168
space 4816
pulse 169
space 4784
pulse 1333
space 3638
…
Nghĩa là việc kết nối infra receiver đã thành công
Ctrl + c thoát ra
Bước 4: Gõ:
irrecord --list-namespace | grep KEY
Để hiện danh sách những key mà XBMC hỗ trợ (Những key quan trọng: KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_ENTER, KEY_ESCAPE, KEY_MENU, KEY_SUBTITLE, KEY_VOLUMEUP, KEY_VOLUMEDOWN…)
Bước 5: Chuẩn bị huấn luyên:
Trước tiên xem đã có file lircd.conf đã có trong thư mục .config chưa
cd .config
ls -al
Nếu có file lircd.conf (lircd.conf.conf…) , thì xóa nó đi, không thì tý nữa tạo file lircd.conf mới sẽ tự bị đổi thành lircd.conf.conf, thì sẽ không điều khiển được PI 2 đâu
Xóa bằng lệnh
rm lircd.conf
Tiếp tục tạo file lircd.conf mới và bắt đầu huấn luyện PI 2 hiểu cái remote
irrecord /storage/.config/lircd.conf
Sẽ có một cửa sổ mở lên .
Gõ enter → enter
Rồi làm theo màn hình bên dưới để bắt đầu huấn luyện:
http://i.imgur.com/F1dZD5p.png
P/s: Có thể làm theo hình trên, nhưng em lại làm ngược lại cũng không sao hết ( có thể khi nhấn giữ rồi thả tay ra nhưng cái remote của em nhấn giữ nó không phát tín hiệu nên em đành nhấn thả, nhấn thả không sao hết), miễn là sau khi bấm lung tung, thì trên màn hình bắt buộc phải có thông tin Từ chỗ
Space/pulse encoded… Signal length is 32
Phai có các con số nhé (có thể số khác cũng được do khác loại remote), nếu không giống trên thì nên thay điều khiển khác, nếu không sẽ không được đâu nhé
Now enter the names for the buttons thì gõ tên phím cần học rồi enter, sau đó bấm phím đó trên bàn điều khiển. Cứ như vậy đến khi xong các nút các bạn muốn nó học.
Khi các cụ đã dạy nó hết các phím muốn nó học thì cứ enter chờ đến lúc nào nó hiện “Successfully written config file.” Là quá trình học hoàn tất.
Mình chỉ cần mấy phím sau là đủ dùng , tuy nhiên các bạn có thể gán cho hết phím trên điều khiển cũng được .
KEY_UP
KEY_DOWN
KEY_LEFT
KEY_RIGHT
KEY_OK
KEY_MENU
KEY_MUTE
KEY_HOME
KEY_NEXT
KEY_PREVIOUS
KEY_VOLUMEDOWN
KEY_VOLUMEUP
Chú ý : thank to cheetah_fast
Trên openelec
[/FONT]
- Dùng KEY_EXIT thay cho KEY_ESC cho chức năng BACK của phím điều hướng
[FONT=Tahoma][/FONT]
[FONT=Tahoma]
Bước 6: Kiểm tra file lircd.còn đã tạo thành công chưa
vẫn trong ~/.config# gõ lệnh
ls -al
Nếu có rồi thì đã tạo thành công file lircd.conf
Tiếp tục xem thông tin file lircd.conf
more lircd.conf
Sẽ thấy các nội dung kiểu:
contributed by Pham Thanh Nam
brand: Sony
model no. of remote control: RM-952
devices being controlled by this remote: Sony TV
begin remote
name Sony-RM-952
bits 12
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 2440 560
one 1236 561
zero 631 561
gap 45267
min_repeat 2
suppress_repeat 2
uncomment to suppress unwanted repeats
toggle_bit_mask 0x0
begin codes
KEY_MUTE 0x290
KEY_INFO 0x5D0
KEY_POWER 0xA90
KEY_MENU 0xFD0
KEY_SWITCHVIDEOMODE 0xA50
KEY_DISPLAYTOGGLE 0x1D0
KEY_1 0x010
KEY_2 0x810
KEY_3 0x410
KEY_4 0xC10
KEY_5 0x210
KEY_6 0xA10
KEY_7 0x610
KEY_8 0xE10
KEY_9 0x110
KEY_DIGITS 0xB90
KEY_0 0x910
KEY_BACK 0xDD0
KEY_SOUND 0x150
KEY_AB 0xE90
KEY_VOLUMEUP 0x490
KEY_VOLUMEDOWN 0xC90
KEY_CHANNELUP 0x090
KEY_CHANNELDOWN 0x890
KEY_SLEEP 0x3D0
KEY_WAKEUP 0x6D0
KEY_RED 0x2F0
KEY_YELLOW 0xAF0
KEY_GREEN 0x3F0
KEY_BLUE 0x270
end codes
end remote
Khởi động lại PI 2
reboot
**Bước 7: **Kiểm tra lần cuối:
Lại ssh vào PI 2 như trên sau đó gõ
irw
và ấn các phím trên điều khiển từ xa. irw sẽ in ra trạng thái, tên phím cũng như tên của điều khiển từ xa (trong tham số name của lircd.conf)
lúc nè trên màn hình hiện thị của LCD cũng hiện thị tương ứng
crtl + c : thoát ra
Thưởng thức nào[/FONT]