Re: [分享] 網樂通紅外線遙控器 on wheezy-sh4
同場加映 [網樂通以紅外線控制Arduino]
http://youtu.be/CVGPPOfLTT4
因為lirc設定的方法有些改變, 在這邊重新修正
1. apt-get update
2. apt-get install lirc
3. cd /etc/lirc
4. mv lircd.conf lircd.conf.bk
5. wget http://1.34.239.30/wheezy-sh4/lircd.conf
6. 修改 /etc/lirc/hardware.conf
a. 將DEVICE="" 改成DEVICE="/dev/lirc0"
b. LOAD_MODULES=改成LOAD_MODULES=false
c. DRIVER="UNCONFIGURED" 改成 DRIVER="default"
7. /etc/init.d/lirc restart
8. [測試] 輸入irw
然後拿出你的遙控器按按看,
應該可以看到類似的訊息出現
root@debian-wheezy-sh4:/etc/lirc# irw
00000000ce94b847 00 KEY_POWER ir.conf
00000000ce94b847 00 KEY_POWER ir.conf
===== 到這邊為止 lirc 的部份應該就ok了 ====
9. 利用pip安裝pyfirmata
a. apt-get install python-pip
b. pip install pyfirmata
10. 在PC上利用Arduino IDE 燒錄StandardFirmata到 Arduino上
a. 將Arduino接上PC, 並開啟Arduino IDE
b. File -> Examples -> Firmata -> StandardFirmata
c. 點選 upload
d. 等到燒錄完成就可以將Arduino連接到網樂通上
11. 這裡假設大家已經知道怎麼讓網樂通支援Arduino了
如果還不清楚, 可以參考 http://goo.gl/0El6t6
12. 編寫控制Arduino的python script, 例如:
================================================= <---我只是分隔線
不要把我寫到script裡
#!/bin/env python
from pyfirmata import Arduino, util
import time
board = Arduino('/dev/ttyACM0')
for i in range(3):
board.digital[13].write(1)
time.sleep(1)
board.digital[13].write(0)
time.sleep(1)
==================================================
這邊就是將Arduino pin13 交替變換高低電位, 當pin 13接上LED (當然LED另一腳接GND)
執行python arduino-test.py (我將此script取名arduino-test.py)
就可以看到LED閃爍, 亮暗中間間隔約1秒
board = Arduino('/dev/ttyACM0') 此/dev/ttyACM0 就是網樂通認得Arduino的裝置代號
13. 接下來設定網樂通接收到lirc訊號會做的動作
在 /etc/lirc/ 底下新增lircrc 這個檔案, 然後加入
==================================================
begin
button = KEY_POWER
prog = irexec
repeat = 0
config = python /root/arduino-test.py
end
==================================================
當然你可以自己多新增新的設定, 只要用參考以上的例子另外一個begin end包起來即可
14. 重新啟動lirc
/etc/init.d/lirc restart
如果遺漏或任何問題請留言告知 也可E-mail 至 suzuke at hotmail.com
suzuke
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.34.239.30
※ 編輯: suzuke 來自: 1.34.239.30 (10/23 23:08)
推
10/28 08:51, , 1F
10/28 08:51, 1F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):