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