Discussion:
[分享] 網樂通紅外線遙控器 on wheezy-sh4
(时间太久无法回复)
suzuke
2013-10-20 15:14:40 UTC
Permalink
紅外線模組的驅動目前wheezy-sh4釋出的kernel都已經內建

所以只要設定一下就可以使用網樂通的紅外線遙控器, 以下:

1. apt-get update
2. apt-get install lirc
3. cd /etc/lirc
4. wget http://1.34.239.30/wheezy-sh4/lircd.conf

5. 修改 /etc/lirc/hardware.conf
將DEVICE="" 改成DEVICE="/dev/lirc0"

6. 修改/etc/init.d/lirc
將start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/lircd --
$LIRCD_ARGS < /dev/null 的 $LIRCD_ARGS < /dev/null 拿掉
也就是只剩下start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/lircd
--

7. /etc/init.d/lirc restart
8. 測試
輸入irw, 然後拿出你的遙控器按按看, 應該可以看到類似的訊息出現
***@debian-wheezy-sh4:/etc/lirc# irw
00000000ce94b847 00 KEY_POWER ir.conf
00000000ce94b847 00 KEY_POWER ir.conf

9. 接下來就是play on your own idea

ps. 如果想製作紅外線遙控關機, 可以參考: http://goo.gl/SygaKu
但是你需要自己設定/etc/lirc/irexec.conf
If you have any question, google it first.


---
接下來就是遙控器 + Arduino的應用囉:D

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.34.239.30
suzuke
2013-10-23 14:43:57 UTC
Permalink
同場加映 [網樂通以紅外線控制Arduino]



因為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
然後拿出你的遙控器按按看,
應該可以看到類似的訊息出現
***@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 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

Loading...