並不是要操控整個畫面, 而是要當作第二個螢幕用
找了好久, 最後在這裏找到, 我要的答案並沒有被選上, 目前它是第七個答案
https://askubuntu.com/questions/28608/how-do-you-use-an-android-tablet-as-a-second-display
其實它主要就是用 x11vnc -clip 分享螢幕的一部份給 vnc client.
x11vnc -clip 480x854+1440+0
480x854 是我手機的大小
+1440 是 x 軸起點 ( LCD 螢幕 1920x1080, 1920-480=1440)
+0 是 y 軸起點
所以, 上面的 command 就是將我的整個螢幕的右上角一小塊分給手機用. 我只要將想在手機上顯示出來的程式(如秀圖程式), 縮到 480x854 , 然後放在右上角, 手機用 vncviewer 連上我的PC (port 5900) 時, 手機上就可以看圖了. (但由 PC 操控, 這就是我要的控制方式)
或著也可以像連結裏, 用 xrandr 設定一延伸螢幕, 然後將程式放到延伸螢幕裏
這可以做什麼用? 主要是想買個 android 的電子閱讀器, 裝 vncviewer 之後
1. 用 eom 看漫畫 (或其它秀圖程式)
2. 用 gedit/vi 打文字檔. (有在寫一些東西, 這是想方設法要 e-ink 當第二螢幕的主因)
耶! 有好藉口敗家了
2017年7月3日 星期一
數位電視的 channels.conf (2017年版)
Linux 上實際做法可以參考這篇 : https://blog.gtwang.org/iot/raspberry-pi-dvb-usb-tv-stick/
但2017的現在, 我發現 scan 只能掃到 5690000 那個頻道 (公視3, 客家, 原民), 看了一下 tw-all 那個檔案, 裏面只有 569000 用 QAM_64, 其它用 QAM_16, 鑑於公視HD是最早的HD台, 我猜, 這 tw-all 太舊了, 把所有的頻率都改成 QAM_64 就都抓到了
....連帶, 我正在寫的 EPG 程式也自動 OK 了, 原來都是這個 QAM 惹的視
channels.conf : (有+號的是雙語, 好像有些軟體不接受+號 )
中視:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001:1002+1003:100
中視新聞台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1011:1012:101
中視經典台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1021:1022:102
BRAVO經典台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1031:1032:103
公視:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2011:2012+2013:201
公視2台:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2021:2022+2023:202
民視:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3001:3002+3003:300
交通電視台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3011:3012:301
民視新聞台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3021:3022:302
民視台灣台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3041:3042:304
台視:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4001:4002+4003:400
台視新聞台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4011:4012:401
台視財經台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4021:4022:402
台視綜合台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4031:4032:403
華視:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5011:5012+5013:501
教育文化台:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5021:5022:502
華視新聞台:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5031:5032:503
國會頻道:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5041:5042:504
但2017的現在, 我發現 scan 只能掃到 5690000 那個頻道 (公視3, 客家, 原民), 看了一下 tw-all 那個檔案, 裏面只有 569000 用 QAM_64, 其它用 QAM_16, 鑑於公視HD是最早的HD台, 我猜, 這 tw-all 太舊了, 把所有的頻率都改成 QAM_64 就都抓到了
....連帶, 我正在寫的 EPG 程式也自動 OK 了, 原來都是這個 QAM 惹的視
channels.conf : (有+號的是雙語, 好像有些軟體不接受+號 )
中視:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001:1002+1003:100
中視新聞台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1011:1012:101
中視經典台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1021:1022:102
BRAVO經典台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1031:1032:103
公視:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2011:2012+2013:201
公視2台:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2021:2022+2023:202
民視:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3001:3002+3003:300
交通電視台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3011:3012:301
民視新聞台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3021:3022:302
民視台灣台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3041:3042:304
台視:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4001:4002+4003:400
台視新聞台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4011:4012:401
台視財經台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4021:4022:402
台視綜合台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4031:4032:403
華視:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5011:5012+5013:501
教育文化台:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5021:5022:502
華視新聞台:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5031:5032:503
國會頻道:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5041:5042:504
2017年6月24日 星期六
Ubuntu 16.04 64bit install
已經安裝過 32bit 的, 本來以為很快才對, 不過還是有些問題
1. Static IP
社區網路的天兵工程師當初因為不會設定 Ubuntu, 乾脆直接鎖 Mac address, 好在當時我立刻抗議, 他給了我另一個 IP -> 其實我只付一個 IP 的錢, 結果我有了兩個 IP 可用
但現在換主機板, 也就是換了網卡, 所以其中那個鎖 Mac address 不能用了, 得用目前 RPI3 佔用的那個 IP
But, 平平是 Ubuntu Mate, 怎麼 IP 設定的方法和 RPI3 不同呢? 頭痛~~
最後居然是最簡單的 UI 版 Networkmanager 就可以了
2017/07/04 補記 : 發現原來 Mac address 可以改的 !
/etc/network/interfaces:
auto enp0xxx
iface enp0xxx inet dhcp
hwaddress ether xx:xx:xx:xx
2. HiChannel -> 想了好一會想才起來 : 要裝 flash-plugin
3. gcin 因為光碟安裝時沒有網路, 所以語言包沒裝好, 裝了 gcin 之後一直無法中文輸入, 後來是去地區/語言選項時, 才發現裝了語言包之後, 一切就好了
4. dconf-editor
不喜歡的行為要改掉 : 1. automount-open 2. side-by-side tiling(?)
5. chrome (for Line app)要求的keyring 要設空白, 不然每次都要輸入 (夠白痴的)
6. 啟動應用程式移除 blueman-serive, 不然明明沒有藍芽, 還要show個 icon
7. 用 QT5 寫的 vbook 不能用了, 得重 compile
-> 安裝 QT5.5, qmake, make
8. pcmanx 要裝 ttf-mscorefonts 才有慣用字型
9. 電視遙控器不能用! python decode 的程式改了半天才能用, 但接收力比舊機器弱很多 -> 為什麼呢 ?
10. 新發現一個 command : acpi_listen 可以監測耳麥插拔, 因為本來懷疑原價屋小哥接錯了~~
11. crontab 裏 mplayer 需要 > /dev/null 2>&1
12. virtualbox 裏裝 additional 才有 sharefolder 可用
apt install virtualbox-guest-utils
加 user 進 vboxfs group (/etc/group)
1. Static IP
社區網路的天兵工程師當初因為不會設定 Ubuntu, 乾脆直接鎖 Mac address, 好在當時我立刻抗議, 他給了我另一個 IP -> 其實我只付一個 IP 的錢, 結果我有了兩個 IP 可用
但現在換主機板, 也就是換了網卡, 所以其中那個鎖 Mac address 不能用了, 得用目前 RPI3 佔用的那個 IP
But, 平平是 Ubuntu Mate, 怎麼 IP 設定的方法和 RPI3 不同呢? 頭痛~~
最後居然是最簡單的 UI 版 Networkmanager 就可以了
2017/07/04 補記 : 發現原來 Mac address 可以改的 !
/etc/network/interfaces:
auto enp0xxx
iface enp0xxx inet dhcp
hwaddress ether xx:xx:xx:xx
2. HiChannel -> 想了好一會想才起來 : 要裝 flash-plugin
3. gcin 因為光碟安裝時沒有網路, 所以語言包沒裝好, 裝了 gcin 之後一直無法中文輸入, 後來是去地區/語言選項時, 才發現裝了語言包之後, 一切就好了
4. dconf-editor
不喜歡的行為要改掉 : 1. automount-open 2. side-by-side tiling(?)
5. chrome (for Line app)要求的keyring 要設空白, 不然每次都要輸入 (夠白痴的)
6. 啟動應用程式移除 blueman-serive, 不然明明沒有藍芽, 還要show個 icon
7. 用 QT5 寫的 vbook 不能用了, 得重 compile
-> 安裝 QT5.5, qmake, make
8. pcmanx 要裝 ttf-mscorefonts 才有慣用字型
9. 電視遙控器不能用! python decode 的程式改了半天才能用, 但接收力比舊機器弱很多 -> 為什麼呢 ?
10. 新發現一個 command : acpi_listen 可以監測耳麥插拔, 因為本來懷疑原價屋小哥接錯了~~
11. crontab 裏 mplayer 需要 > /dev/null 2>&1
12. virtualbox 裏裝 additional 才有 sharefolder 可用
apt install virtualbox-guest-utils
加 user 進 vboxfs group (/etc/group)
買新電腦啦
全都是為了 Android Studio! 2.3.3 在 32bit 上可以 install, 可以執行, 但有一堆奇怪的 error message
而那台老舊的 CP5141, 雖然號稱可以裝 64bit, 但 Ubuntu 16.04 64bit 光碟總是跑到一半就 Hang, 本想加個RAM 就好, 但, 一時腦熱....
花了近七千在原價屋裝了台不含硬碟的新電腦, G4600 + H110M ECO, 第一次用微星的主機板呢, 沒辦法, 有 D-SUB + HDMI 的主機板, 最便宜就它了
在 pc_shopping 上 G4600 評價很好, H110M ECO 也有人稱讚, 雖然 pc_shopping 讀起來老覺得有人在帶風向, 不過找了外國的文章, 也還都不錯
尤其在 Amazon 上有一則說 H110M ECO is great for Linux !
和 CP5141 相比, 這台機殼還是太高, 要躺下來放, 然後和 CPU 風扇看起來很兩光, 是 G4600 附的? CP5141 的 ASUS 風扇看起來強壯些
拿回來裝硬碟時, 怎麼看都會被 RAM 擋住, 心裏詛咒了原價屋 N 次後, 才發現, 原來機殼有個和光碟機一樣的擋板可拆, 要從外面插進來才對...., 原來是我太蠢, 原價屋的小哥好冤
稍微看了一下影片, 感覺有點改善, 不過, 舊機器其實也夠用了, 就是愛亂花錢啊, 寫什麼 Android app 呢
而那台老舊的 CP5141, 雖然號稱可以裝 64bit, 但 Ubuntu 16.04 64bit 光碟總是跑到一半就 Hang, 本想加個RAM 就好, 但, 一時腦熱....
花了近七千在原價屋裝了台不含硬碟的新電腦, G4600 + H110M ECO, 第一次用微星的主機板呢, 沒辦法, 有 D-SUB + HDMI 的主機板, 最便宜就它了
在 pc_shopping 上 G4600 評價很好, H110M ECO 也有人稱讚, 雖然 pc_shopping 讀起來老覺得有人在帶風向, 不過找了外國的文章, 也還都不錯
尤其在 Amazon 上有一則說 H110M ECO is great for Linux !
和 CP5141 相比, 這台機殼還是太高, 要躺下來放, 然後和 CPU 風扇看起來很兩光, 是 G4600 附的? CP5141 的 ASUS 風扇看起來強壯些
拿回來裝硬碟時, 怎麼看都會被 RAM 擋住, 心裏詛咒了原價屋 N 次後, 才發現, 原來機殼有個和光碟機一樣的擋板可拆, 要從外面插進來才對...., 原來是我太蠢, 原價屋的小哥好冤
稍微看了一下影片, 感覺有點改善, 不過, 舊機器其實也夠用了, 就是愛亂花錢啊, 寫什麼 Android app 呢
2016年11月15日 星期二
RPI3's lirc
refer to : http://ozzmaker.com/how-to-control-the-gpio-on-a-raspberry-pi-with-an-ir-remote/
hardward : 1838B 接 GPIO, 3.3V, GND, PIN18
Software :
1. sudo apt-get install lirc liblircclient-dev
2. 在 /etc/modules 裏加兩行
lirc_dev
lirc_rpi gpio_in_pin=18
hardward : 1838B 接 GPIO, 3.3V, GND, PIN18
Software :
1. sudo apt-get install lirc liblircclient-dev
2. 在 /etc/modules 裏加兩行
lirc_dev
lirc_rpi gpio_in_pin=18
3. 改 /etc/lirc/hardware.conf
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"
4. reboot, 理論上應該 lircd 會自動起來, 但並沒有
5. 用mode2 測試硬體
sudo /etc/init.d/lirc stop ( 沒有這個也無妨, 因為 service 沒設好? )
mode2 -d /dev/lirc0
6. irrecord --disable-namespace -d /dev/lirc0 lircd.conf
錄試遙控器的 key, 要加 --disable-namespace 才能隨便給名字
錄好後 copy 到 /etc/lirc/lircd.conf
7. 手動起 lircd -d /dev/lirc0
這是試出來的, 沒有手動起這個 irw 會說 connect fail,
而沒有用 -d 指定 /dev/lirc0 的話, irw 沒反應
8. 用 irw 試, 它會印 lircd.conf 出按鍵的名字
9. 原文的程式會去讀 /root/lircrc 或 /etc/lirc/lirc/lircrc
可以在 readconfig 那裏改 path, 但之後的 irexe 不知怎麼指定 path,
所以還是建了 /etc/lirc/lirc/lircrc
那程式只是做了和 irw 類似的事
10. 設定 lircrc
begin
button = power
prog = irexec
repeat = 1
config = /home/pi/autoplay/starttv1.sh
end
起 irexe, 它就會依遙控器的 button, 去執行 config 那行
2016年7月8日 星期五
簡單自製雲端家電
家附近的全國電子一直在播那個什麼"涼de等"的廣告, 每次去買菜都要被轟一次, 煩得很, 不過因為最近閒閒在家玩 DIY, 所以忍不住會想: 這自己做應該不難吧?
一個很簡單的設想: 1. 在外面寄e-mail回家 2.家裏的PC收到e-mail後照著信件標題的指示送個遙控訊號給冷氣機.
好像很簡單.
所以, 首先要在電腦裏存著各個家電的遙控訊號, 然後能發送它!
還是依照 mobile01 這篇文 http://www.mobile01.com/topicdetail.php?f=383&t=2845603
做出來的, 但是, 我的方法簡單多了
所需硬體 :
0. 電腦一台 (有耳機孔和麥克風孔即可, 老舊電腦應該都夠用)
1. 沒在用的音源線一條
2. 小吃店帶回來的塑膠繩一條 ( 不然縫衣線應該也可以)
3. 紅外線接收器1838B 38Khz 一顆 ( 10~30 元)
4. 5mm紅外線發射管 940nm LED 兩顆 (不到 10 元, 聽說 5mm 比 3mm 夠力, 只是聽說 )

做法 :
1. 把 音源線剪半, 剝成這樣 (紅白皮要剝掉一些, 冒出芯, 才能和 LED 連接)

2. 接收器 : 接收器外側兩支腳分別連上上圖的紅白線, 中間那支腳連上那條裸線
發射器 : 取發射器的一支長腳和另一個的短腳連上紅線, 白線就連另外的長短腳. (注意:兩顆LED 要盡量肩并肩平行)
從塑膠繩上撕下幾條細絲綁好, 成品長這樣 :

3. 接收器插上電腦的麥克風接頭, 發射器插進耳機孔, 硬體部份就完成了
軟體部份我寫了一支小程式 , 可以把收錄音訊直接轉為發射器可用的 wav 檔, 所以不需要像 mobile01 上那篇動用到 Audacity, 程式在此, 是個文字檔
https://gist.github.com/xvwang/5b441d1f9360b8ec067a24a04bbc904c
但要執行這個小程式需要安裝 python2.7, pyaudio 和 numpy
python2.7 下載頁 : https://www.python.org/downloads/release/python-2712/
後兩個最簡單的安裝方法是先裝 python package installer, 方法可以參考這篇 :
http://coopermaa2nd.blogspot.tw/2012/12/easyinstall-pip.html
有了pip 之後, 用 pip install pyaudio numpy 就 OK 了
軟體都裝好後, 執行
python recordSendIRWav.py
它會要你輸入按鍵名稱, 輸入一個名字按一個搖控器的鍵, (主要應該是開關鍵吧), 最好用英文, 因為我的程式沒用中文測過. 最後按 q 離開
注意, 我這程式會一直等到有錄到訊號為止, 如果按了搖控器, 它一直不出現再次要你輸入按鍵名稱的提示行, 那, 可能你的接收器失敗了....
之後會得到一堆 wav 檔, 用任一個播放器音量開到最大由耳機放播出來, 看看看被遙控的電器有沒有反應.
這裏有幾點要注意.
1. 音量先調到最大試試, 我在這點上被打敗了近一個月
2. 耳機孔的功率不大, 所以這個發射器的有效距離很有限, 我是接上音源延長線到處試, 最後決定我這個發射器的有效距離是 50~70cm (各電器不同)
3. 我在 Linux 用 mpv 可以指定由耳機孔播放, 但在 Window 上我就不知道該怎麼辦, 只好把外接喇叭 disable 掉, 才試成功的
4. 可能可以用手機播來試試, 因為手機上也有耳機孔, 但我的 Xperia J 行不通, 我看到有網友說他家三支手機只有一支可以用, 而且有效距離還只有 20 cm
5. 所以, 如果你要遙控的電器比較遠, 要嘛像我用音源延長線, 要嘛試著製作使用電池的發射器 : http://swf.com.tw/?p=359 (有空我也會試, 成功的話再來 update)
最後就簡單了, 我寫了個小程式, 每十分鐘去檢查一下e-mail, 只要標題合規格的, 就播放一下相對的 wav.
例如 :
1. 執行 python sendIRThroughEmail.py keyword_of_today
2. 送 email 到信箱裏, 標題為 "keyword_of_today cooler_power" 開/關冷氣
注意 :
1. 這支程式裏要改成你自己的 mail-server, mail-id 和 password
2. 我用 mpv 指定由耳機播放, 在 window 上可以用 wmplayer (PATH 要設好), 但不知怎麼從耳機播...
mpv --audio-device=help 可以列出所以可用的播放硬體
3. wav 檔記得要放在執行目錄之下
sendIRThroughEmail.py 在這裏 :
https://gist.github.com/xvwang/f9e57b324085d7a3293a193e67b11643
一個很簡單的設想: 1. 在外面寄e-mail回家 2.家裏的PC收到e-mail後照著信件標題的指示送個遙控訊號給冷氣機.
好像很簡單.
所以, 首先要在電腦裏存著各個家電的遙控訊號, 然後能發送它!
還是依照 mobile01 這篇文 http://www.mobile01.com/topicdetail.php?f=383&t=2845603
做出來的, 但是, 我的方法簡單多了
所需硬體 :
0. 電腦一台 (有耳機孔和麥克風孔即可, 老舊電腦應該都夠用)
1. 沒在用的音源線一條
2. 小吃店帶回來的塑膠繩一條 ( 不然縫衣線應該也可以)
3. 紅外線接收器1838B 38Khz 一顆 ( 10~30 元)
4. 5mm紅外線發射管 940nm LED 兩顆 (不到 10 元, 聽說 5mm 比 3mm 夠力, 只是聽說 )

做法 :
1. 把 音源線剪半, 剝成這樣 (紅白皮要剝掉一些, 冒出芯, 才能和 LED 連接)

2. 接收器 : 接收器外側兩支腳分別連上上圖的紅白線, 中間那支腳連上那條裸線
發射器 : 取發射器的一支長腳和另一個的短腳連上紅線, 白線就連另外的長短腳. (注意:兩顆LED 要盡量肩并肩平行)
從塑膠繩上撕下幾條細絲綁好, 成品長這樣 :

3. 接收器插上電腦的麥克風接頭, 發射器插進耳機孔, 硬體部份就完成了
軟體部份我寫了一支小程式 , 可以把收錄音訊直接轉為發射器可用的 wav 檔, 所以不需要像 mobile01 上那篇動用到 Audacity, 程式在此, 是個文字檔
https://gist.github.com/xvwang/5b441d1f9360b8ec067a24a04bbc904c
但要執行這個小程式需要安裝 python2.7, pyaudio 和 numpy
python2.7 下載頁 : https://www.python.org/downloads/release/python-2712/
後兩個最簡單的安裝方法是先裝 python package installer, 方法可以參考這篇 :
http://coopermaa2nd.blogspot.tw/2012/12/easyinstall-pip.html
有了pip 之後, 用 pip install pyaudio numpy 就 OK 了
軟體都裝好後, 執行
python recordSendIRWav.py
它會要你輸入按鍵名稱, 輸入一個名字按一個搖控器的鍵, (主要應該是開關鍵吧), 最好用英文, 因為我的程式沒用中文測過. 最後按 q 離開
注意, 我這程式會一直等到有錄到訊號為止, 如果按了搖控器, 它一直不出現再次要你輸入按鍵名稱的提示行, 那, 可能你的接收器失敗了....
之後會得到一堆 wav 檔, 用任一個播放器音量開到最大由耳機放播出來, 看看看被遙控的電器有沒有反應.
這裏有幾點要注意.
1. 音量先調到最大試試, 我在這點上被打敗了近一個月
2. 耳機孔的功率不大, 所以這個發射器的有效距離很有限, 我是接上音源延長線到處試, 最後決定我這個發射器的有效距離是 50~70cm (各電器不同)
3. 我在 Linux 用 mpv 可以指定由耳機孔播放, 但在 Window 上我就不知道該怎麼辦, 只好把外接喇叭 disable 掉, 才試成功的
4. 可能可以用手機播來試試, 因為手機上也有耳機孔, 但我的 Xperia J 行不通, 我看到有網友說他家三支手機只有一支可以用, 而且有效距離還只有 20 cm
5. 所以, 如果你要遙控的電器比較遠, 要嘛像我用音源延長線, 要嘛試著製作使用電池的發射器 : http://swf.com.tw/?p=359 (有空我也會試, 成功的話再來 update)
最後就簡單了, 我寫了個小程式, 每十分鐘去檢查一下e-mail, 只要標題合規格的, 就播放一下相對的 wav.
例如 :
1. 執行 python sendIRThroughEmail.py keyword_of_today
2. 送 email 到信箱裏, 標題為 "keyword_of_today cooler_power" 開/關冷氣
注意 :
1. 這支程式裏要改成你自己的 mail-server, mail-id 和 password
2. 我用 mpv 指定由耳機播放, 在 window 上可以用 wmplayer (PATH 要設好), 但不知怎麼從耳機播...
mpv --audio-device=help 可以列出所以可用的播放硬體
3. wav 檔記得要放在執行目錄之下
sendIRThroughEmail.py 在這裏 :
https://gist.github.com/xvwang/f9e57b324085d7a3293a193e67b11643
訂閱:
文章 (Atom)