2014-07-24

航空氣象 能見度800公尺

這次復興航空墜機事件,看到很多家新聞都提到 "800+TSRA" 這一小段資料,
然後每一家新聞都說是「能見度800英呎」,看來又是這家抄那家, 天下新聞
一大抄,也不花一點時間去查一下航空氣象,台灣能見度是用公尺,沒在用
英呎的,所以馬公當時能見度應該是800公尺才對。

根據METAR資料格式,那一小段資料中間應該有空白隔開,而是 "800 +TSRA"
,像桃園機場的METAR資料是這樣:
http://weather.noaa.gov/pub/data/observations/metar/stations/RCTP.TXT

但是馬公機場的METAR資料並沒提供到國外,不過可以從這裡查到資料
http://aoaws.caa.gov.tw/AWS/mainRight.php
這是即時資料,沒有過期資料。

2014-07-01

郝龍斌的爸爸是誰?

郝龍斌回應媒體詢問「祖國拋棄台灣」的問題時說「台灣的祖國當然是中華民國!」

喂!台灣是被「大清帝國」拋棄,送給大日本帝國當養子的。
那台灣的生父怎麼變「中華民國」?

就像說郝柏村從郝龍斌小時候就拋棄他,然後郝柏村在古寧頭戰役被
中國人民解放軍的葉飛將軍殺死

那郝龍斌的爸爸會變成葉飛嗎?

更何況,台灣的祖國是荷蘭,再怎麼也輪不到中華民國,台灣是「被中華民國佔領」。

2014-06-30

台電電費分時段計費的謊言

朋友傳來一則自稱朋友先生是台電高層的短訊,內容大意是
在幾點到幾點,以及星期幾到星期幾用電、洗衣可以有較低
的電費負擔。

第一眼看到時心裡想『有這種事?聽起來不錯嘛!』,可是過幾分鐘
突然想起來,電費繳費單上面不是兩個月計費一次嗎?也就是台電是
以兩個月總度數來要我繳錢的。

所以這個所謂『好消息』根本是謠言嘛!為什麼有人看到不但不會想
一下、查一下,就直接傳給別人?

所以孤一下狗,發現2009年經濟部的相關新聞就提到計劃在2014年「起」
全國1200萬戶全面使用智慧型電表,也就是可以分時段計價。到了2010
年12月經濟部的文件又改成要由2016年「起」「擴大裝設」為500萬戶。
再來2012年的資料又改說「2020年達成600萬戶」!

看到這裡,我終於知道『愛是恆久忍耐,又有恩慈,愛是永不止息』

不過我的愛還是要繼續下去,再孤一下狗,發現今年(2014)四月14日的  
新聞說「大規模住宅時間電價試驗計劃」「預計第一波有850戶加入試驗,
注意,是「850戶」不是「850萬戶」!

所以那位放出「幾點洗衣服、星期幾洗衣服,可以省電錢」這種謠言的  
台電高層真的是很有智慧!他不會不知道到2014年的現在,全國最多最多
也不過850戶可能裝了那種電表,竟然可以臉不紅氣不喘的要來教家家戶戶
什麼時段洗衣服可以省錢。

相信台電再怎麼虧錢,至少也會讓他年終領六個月,因為「You did a good job」

2014-05-22

手機與殺人事件

今天的台北捷運殺人事件,不能不說手機業也要負一大半責任。

根據新聞報導,傷者說出當時大家都在低頭滑手機。

在手機業的商業利益下,不論硬體、軟體,不斷推陳出新就是要吸引使用者
的注意力,最好讓你一天廿四小時完全被手機綁住,這樣手機業(不論上中下
游、軟硬體)才有更多的利益可賺。

在公共場所我們可以看到一個一個耳朵塞耳機、手中玩手機、嘴巴講手機
的人,從等公車到上了公車一路講到下公車還沒講完,一個一個進入完全
忘我的境界,週遭有什麼事跟他是沒有任何關係的。

隔壁的隔壁的隔壁有人被刀子捅了,你可以繼續玩手機。
隔壁的也被刀捅了,你還是繼續玩手機。
等到你也被刀捅了、覺得痛了,才發現原來週遭有殺人事件發生。

殺人犯只不過拿水果刀,並不是拿武士刀、西瓜刀,怎麼可以一路殺過去
殺了那麼多人?沒人發現然後反擊或逃跑?

在此之前,近幾年手機已經到了危害行車安全不是嗎?
這是幾年前還不曾有的社會問題,然而至今在執行取遞上仍顯見無力。 

「完全投入手機」正是手機業者所期望、設計、營造的商業目標。
廣告行銷不斷要引誘消費者來買更新、更好玩的手機。

手機本身的電磁波問題、基地台問題、甚至對視力影響等等問題……官方與業者
一直都站在同一側,以「無證據顯示有不好影響」為理由,不理反對的聲音。

從這裡推論,捷運殺手正是上天派來,要大家從新思考手機這龐大商業利益
背後所衍生、潛藏的問題的使者,只是貸價是付出幾條人命,包括使者本人。 

2014-04-06

紅衛兵、佔領立法院

有人說「學運的學生像紅衛兵」
有人說「怎麼可以容忍學生佔領立法院這麼久」

這是沒有邏輯的無腦語言。

首先,紅衛兵是統治當局在背後操作,用來壓迫百姓的工具。
然而,太陽花學運,是百姓反抗統治者蠻橫壓迫的自發行動。
是完全相反的兩回事。

再來,學生佔領立法院有很久嗎?

大家有沒有回顧一下,全國老百姓是不是一直容忍一個無能的孬種佔領總統府六年?
六年來經濟空轉、社會空轉、國會淪喪!

既然一個無能、無知的孬種都可以佔領總統府、敗壞國家到這種程度,

我們為什麼不能容忍有血有淚、有理想的青年學生佔領立法院六十天、六個月或更久,
來挽救快要滅頂的國家?

2014-03-25

學生、水加農炮、澳洲

這次中華民國立法院被學生佔領,肇事者鹿耳毛(或叫馬英九)避不見面,
對這樣麻木不仁的當權者,學生只好在廿三日進一步攻入行政院,
要鹿耳毛認真面對。

到了三月廿四日凌晨,國民黨政府一如往常鎮壓反政府民眾,啟用鎮暴警察
攻擊學生。

和以往不同的是,之前警察施暴的對象多是勞動階層,沒什麼人替他們發聲,
只有含怨受辱。

這次警察施暴對象,是大學生!

大學生還不打緊,裡面主要的還是台清交成政甚至師範大學等等學校的學生,
這下惹惱台灣各大學開明派的老師了!(警察還毆打包括台北醫學大學的醫護人員)

司改會董事長瞿海源說:「國家不能有暴力,學生是手無寸鐵,國家不能用暴力來
對付,噴水都已經過份了,何況用暴力………」

三月廿四日早上暴警用來向學生施暴的,除了用警棍盾牌毆打之外,還有一個動作
,那個不應該叫「噴水」,有的媒體甚至還說「灑水」,噴水或灑水聽起來像在過
泰國潑水節啊!是媒體白癡?還是更多的人不知?

那個東西英文叫 Water cannon,直譯應該叫「水的加農炮」,「加農炮」是俱有
相當催毀力的武器,不同的是這種加農炮不是用火藥跟金屬,它用「水」。

根據 wikipedia 的資料,它的射速達到 15 litres per second 的水量,有很強大的撞擊力。

wikipedia上的 water cannon 竟然沒有中譯,看來華人只想拿這東西來對付人民,
而完全不想知道這是啥咪碗糕?

澳洲新南威爾斯在2007年才買了「水加農炮」是為了APEC會議,但完全沒啟用,
這也是澳洲這個國家第一次有「水加農炮」!

啊!台灣在數十年前就已經有水加農炮了!

澳洲真是個落後國家呀!

2014-03-22

鳳凰衛視阮次山說出實話

香港鳳凰衛視總編輯阮次山說
「服貿18項協議沒有一條需要逐條審查,都是概括承受,
也就是打包,存查了事,沒有不通過的,不通過的話,等於
是你背叛了祖國,不是難看嗎?會造成現在的局面,要怪馬英九」

https://www.youtube.com/watch?v=3yITLmI847s  (香港鳳凰衛視的訪問)

鹿耳毛是全世界最乖的孩子

沒看過這麼大年紀的男人,還這麼孬種!
在一群小孩指著你鼻子罵你混蛋時,你躲起來不出聲!

如果那些小孩是不對的,你就出來把小孩一個一個
抓起來罵一頓、打一頓。

如果小孩是對的,你就該露出胸部、瞌頭、道歉!

可是你什麼都不做!
不道歉、不面對、不處理

然後跑回家找媽媽
「媽……小帆他們都欺侮我……說我沒有正當性……嗚嗚」

「乖……鹿耳毛………別人家都是壞孩子,亂說話,
他們連鹿的,耳朵的、那個毛,都不知道,
只有你是全世界最乖又最有創意的孩子……媽媽永遠挺你…」

2014-03-15

又要微調教科書

2014-03-14,英明聖上馬英九在總督府迎賓門說道:
「各位都知道,紐西蘭還出一種東西,很有名的,叫做鹿茸,
鹿的…耳朵的…裡面的…那個…那個毛」
http://www.youtube.com/watch?v=f_LG7EdDRFE

記者問農委會主委陳保雞「鹿茸是不是毛?」
他回答說:「那個人很清楚,不會搞錯的,是你們聽錯了!」

接下來禮部尚書蔣痿檸又有得忙了,趕快召集大學士王ㄒㄧㄠˊ波
再把教科書『微調』一下,
「茸 == 耳朵裡面的那個毛」
一定要教到全國小朋友都會這樣回答為止!

不微調行嗎?

難道當今英明聖上馬英九、台灣領導人會腦殘到這種地步嗎?
一定是我們全弄錯了!我們從小沒把書讀好!
連農委會主委陳保雞都掛保證,那個人不會搞錯的!


一定是我們全弄錯了!我們從小沒把書讀好!

所以,教科書一定搞錯了! 
所以,教科書一定要微調啊!

2014-01-01

高公局掛保證 eTag 電磁波不傷身

這是元旦當天在高速公路上測試的抓圖
從發現ETC 訊號,到訊號消失,前後大約有一分鐘的時間。
如果以時速60公里(高速公路最低速限)來換算,ETC 電波可以函蓋約一公里。
「 高公局掛保證 eTag 電磁波不傷身」你相信這句話嗎?
恐怕連高公局自己都不知道自己在說什麼吧?








電波出現








再靠近一點








再來!再來!









越來越有型喔!









(右上角是抓圖時間)
卡嚓!經過讀取機下方






黃中帶紅十字就是那瞬間
還沒完喔!









看經過多久了?









遠離中








總算遠離了

2013-10-11

Arduino Pro Mini A6 A7

目前市面上較新的Arduino Pro Mini 似乎都多加了兩支Analog 腳 A6 及A7,
http://www.arduino.cc/en/Main/ArduinoBoardProMini

當我們燒了Firmata 協議而不是用一般Arduino sketch 來寫固定的程式時,這兩支
多出來的腳會讀不到。

這是因為較早官方Pro Mini 沒這兩支腳,所以當我們用Arduino IDE 燒錄Firmata 時,
這兩支腳是沒被定義的。如果需要用到這兩支腳,必須改一下Firmata 相關程式裡的定義:

1. Arduino IDE 的 libraies/Firmata/Board.h
  裡面的Arduino Duemilanove, Diecimila, and NG 下兩行的
  TOTAL_ANALOG_PINS 6 改成 8
  TOTAL_PINS        20 改成 22
  再用Arduino IDE 把Firmata 燒進Pro Mini 裡

接下來是電腦端所使用的程式庫
2. 使用pyFirmata 的話,需修改 pyFirmata/pyfirmata/boards.py
  'analog':tuple(x for x in range(6)),   <===改成 8
3. 使用pyduino 的話,需修改 pyduino.py
  self.analog = []
  for i in range(6):  <==改成8

目前使用經驗:
pyFirmata 支援PWM 及Servo 沒問題, 但要做 install 的動作
pyduino PWM 失敗, Servo 未支援, 單一支pyduino.py 可以不做 install,
直接跟執行程式放同目錄載入(import)即可。

2013-10-07

Arduino Firmata python 控

Physical computing 讓我們脫離數十年來電腦總是看得到摸不到的現象。
為什麼說看得到摸不到?螢幕上一朵花你摸得到嗎?一粒燈泡你摸得到嗎?

Physical compiting 讓我們可以跟實體的東西互動,最簡單的就是透過微控器
(MCU)加上一些電子零件,就可以讓我們把動作延伸到真實的東西上,像說可以
叫電腦幫你關電扇、開電燈……。

長久以來說到微控器總是讓人想到8051,不過這近十年來已經有更方便撰寫程式
的各種微控器在市面上流通。不管哪一種微控器,最普遍的用法就是把對應於各
種動作的程式(或說firmware)寫好燒進微控器的晶片,開動後它便會自主運作。

微控器最多的使用方式是讓它獨立運作,不過它也可以連接著電腦,成為電腦的
週邊設備,讓我們透過電腦跟實體物件進行互動式接觸。

只是每當你要改變微控器的用法時(例如接的感測器或訊號器要換腳位),都要重
新燒錄一次程式,就算只改一個bit 也都要重燒。

如果微控器是做為電腦的延伸器官來用,其實可以不用每次重燒程式,反正它一
直連接著電腦,就讓電腦來運算,最後只要丟出指令給微控器,或者讀取微控器
偵測到的數據,來電腦裡運算、紀錄,這樣就可以了。

也就是只要燒一個通用的協定(protocol),然後各種運算都在電腦裡進行,最後
傳送給微控器做出你要它做的動作。

以Arduino 來說,它的IDE 裡就附了一個通用協定 Firmata, 選其中的
StandardFirmata 燒進 Arduino 之後,便可以在電腦上寫程式來指揮 Arduino
運作而不必事先燒到 Arduino 裡面。

如果你要求用最新的,那 Arduino IDE 裡的就要換成 firmata 官方最新版
2.3.6, 可以在 http://www.firmata.org/wiki/Main_Page 下載。

網路上有多種支援 Firmata 的程式,個人覺得其中之一的 pyduino 蠻方便入手
,只要俱備基本python 語言知識,就可以立即把玩。這個版本比較新
http://pyduino.googlecode.com/svn/trunk/
最基本的 digital In/Out, digital PWM, analog In 立即可用。

另外一個也不錯的是 https://github.com/tino/pyFirmata
它除了上面的功能外,已經確認可以用它來控制 servo

但其它方面如I2C, PulseIn.... 目前似乎尚未成功支援,不過這幾項基本動作
也夠玩一些花樣了。

當然你也可以傳送raw command 給微控器,Firmata 是一種類似MIDI 的協定,
像說送出 serial.write(chr(0x90)+chr(0x08)+chr(0x00)) 來讓第三pin 的
LED 亮起來(其實 0x08 是mask來算的, 除了第三pin 之外的都不亮).

2013-09-27

網樂通連接 MCU UART 不能boot 的問題

這問題就是從網樂通 UART 的RX/TX/GND 接出來直接跟 MCU 的 UART TX/RX/GND
連線的話,不能同時開機或 MCU 先開機。必須網樂通先開機,再開 MCU,否則
網樂通會因不明原因卡住,無法開機。

以前就遇到這問題,只是沒再進一步使用,所以放著沒再試。中秋這幾天在家
閒閒就來嚐試解解看,順便整理一下,給可能會這樣玩的朋友一點參考。

或許你會問 MCU 不就是要用來獨立運作,為什麼要跟網樂通接連?其實 MCU 除
了獨立運作外,跟電腦連接著,就可以透過網路來傳送資訊或遠端遙控,除非利用
像是ethernet shield 或 wifi shield 的周邊,不過那是另外一回事,不在此
文討論,這裡針對利用免費的網樂通來跟 MCU 組合的問題。

我試過 arduino 及 MSP430G2 都有同樣的問題。

為什麼不走 USB ?
說來慚愧,因為在使用自己 make 出來的 cdc-acm.ko 載入後 /dev/ 下並未如期
出現 ttyACM0 (for Leonardo/MSP430G2), 所以無法使用,未再進一步試解。

於是想到何不直接拉網樂通的 UART 來接線?

一開始並沒遇到這個「不能boot」的問題,因為都是在網樂通開機後才接上 UART,
當程式弄好,一切都如預期動作後,想給它擺著進行自動運作時,才發現 MCU 不能
比網樂通先開機或同時供電開機。

先是想到會不會是 uboot 在那裡等候 user press Enter, 但實際連接 UART 經USB
到電腦的 terminal 時,發現它並不會等候,而是很順暢的一路往下開機,所以
問題不在 uboot.

要接到網樂通的 UART, 它不就有四條線,其中之一是Vcc 供電,那如果用 Arduino
Pro Mini 最好不過了!體積小、功能又跟大隻的一樣,又可以吃 3.3V 正好搭配網樂通,
價格又不到200台幣,真是值得推推的好物!

一步一步確定問題,可能是在電路嗎?在拿到 Pro Mini 後便試著只接 Vcc/GND, 確實可以
同時(或MCU 先開)開機,開機完再手動接上 TX/RX, 但這樣一旦斷電,人又不在機器旁,就
不能動了。(warm boot 沒問題,cold boot 不行)

再來試試把 TX/RX 串連電阻,會不會就可以過關?

結果是用了幾百到 1K ohm 電阻, 網樂通仍不能開機,把電阻加更大,發現網樂通
是可以開機,但開機完成卻無法正常讀到 MCU 的 analog 訊號(digital 可以)。試了
幾次仍沒試出可以讓兩者都成功的電阻值,看來應該改想別的辦法。

最後想到『那就利用 MCU 本身的 digital 來當「斷/接」 TX/RX的開關好了』

先試了只接通網樂通的 TX 到 MCU RX, 而網樂通 RX 到 MCU TX 不接(開路)的情況下,
是可以順利讓網樂通開機的。那麼只要在開機完成再利用 MCU 來接通網樂通的 RX
到 MCU TX 應該就可以了。

先前利用 2N2222 做過一條兩段式給 Canon DSLR 的快門線,想到同樣的拿 2N2222 來做這個
RX 的開關線路就可以了,方式如下:

網樂通GND --------------- MCU GND
網樂通Vcc --------------- MCU Vcc
網樂通TX  --------------- MCU RX

       2N2222
       E B C
       | | |
網樂通RX ----/ | \----- MCU TX
        /
        \--2K電阻-- MCU digital pin

2N2222 的 B 通過電阻接 MCU digital pin
2N2222 的 C 接 MCU TX
2N2222 的 E 接 網樂通 RX

經實測,cold boot 後可以順利讀取 MCU analog。

以上內容無法保證你的網樂通或 MCU 不會產生任何問題,請自行斟酌嚐試。

2013-09-12

「九月政爭」是啥小?

媒體又在耍白爛了!啥是「九月政爭」?

政爭的戲碼應該是「馬英九插王金平的菊花,王金平插馬英九的喉嚨,然後
馬英九射在王金平花心,王金平射在馬英九的食道」這才稱得上政爭呀!

我們看到的是
「馬英九從頭到尾不斷插王金平的菊花,王金平只發出幾聲呻吟,動都不敢動
,然後馬英九很快就射了」

這哪政爭?

所以請各媒體別再錯誤百出的下標題,正確標題是
「九月雞姦」

許多689 們心裡一定想著『啊………被皇上雞姦………好幸福呀!』

2013-08-03

忠烈祠、旌忠狀,再來呢?

國防布對於虐殺義務役士官洪仲丘一案,一直在腦力激蕩,從最早說要把
洪仲丘放到忠烈祠,洪家卻對國防布的認真考量覺得很無腦,因為洪仲丘
又不是為國作戰死亡。

對於洪家不願接受奉伺忠烈祠一事,國防布再度發揮創意,提出要頒給
洪仲丘旌忠狀,洪家再度覺得國防布十分腦殘,因為旌忠狀是頒給因公
作業死亡的軍人。

國防布覺得很納悶,他們已經提出這麼好的優惠,為什麼洪家都不接受?

其實國防布可以再次發揮創意,向日本政府申請,讓洪仲丘神位奉祀進入
日本最高級的靖國神社,或許洪家可以接受!

為什麼可以接受?我也不知道,反正國防布一直無理頭的腦殘,認為隨便
發想,就認為可以擺平虐殺義務役士官這件事。

如果洪家再不接受,國防布還可以向美國政府申請阿靈頓公墓、越戰陣亡
將士紀念碑、韓戰陣亡將士紀念碑……

2013-07-23

國防部真笨,我教你們!

最近中華民國陸軍269旅因為虐殺義務役士官一事鬧得雞飛狗跳,陸軍方面不斷
面對質疑,然後不斷淹滅證據,一下要淹滅大兵日記,一下要淹滅錄影帶,忙得
不可開交!

像陸軍政戰主任曾有福,就向記者說他有問了269旅政戰主任陳毅銘
『有沒有銷毀錄影帶?』 
陳毅銘告訴他『沒有』,所以他要記者在媒體上報給全國人民知道
「269旅政戰主任是『沒有銷毀錄影帶』」

這件新聞真的可以列入『珍氏世界最大笑話』紀錄!

不相信,大家可以去問問「白院長」(或者叫白副總統)
『請問白院長,你講話有沒有白賊?』
白院長一定答覆你『沒有』

國防部啊!你們真是笨到連豬看到都會笑,這麼簡單的事還要搞到焦頭爛額!

就直接 delete 洪仲丘的入伍紀錄就好了啊!

就說洪仲丘根本沒入伍當兵,哪來的被虐殺!這樣你們269旅那些人不但馬上
無罪釋放,說不定還可以申請國家貼償呢!

2013-04-15

什麼是炸彈客?

媒體又在一面倒的用「炸彈客」三個字!
到底什麼是炸彈客?

那媽媽嘴咖啡店謝依涵是不是應該叫「殺人客」? 

這個腦殘用詞大概始於「偷渡客」,什麼叫「偷渡客」?

明明偷渡就是犯罪,就應該叫「偷渡犯」,某些媒體為了幫中國偷渡犯漂白,
所以發明了「偷渡客」。

如果行為者所做的事觸及犯罪,就該叫「犯」才對,這是基本常識呀!

想想看使用暴力達到性交目的叫「性侵客」,
賣海洛、K他命叫「毒客」,

法國那個用火藥炸開五道門,還挾持人質越獄成功的叫「越獄客」,
到超商搶錢的叫「搶客」, 
被法院通緝的叫「通緝客」,

嘿!以後就統一這樣用好了!

2013-03-19

濫用「往生」之無理頭播報

這幾年「往生」兩字被濫用到一種新境界,連新聞報導都會說「小狗往生了」,
不曉得播報記者是不是太無知了?還是太神通廣大了?

說無知,是因為播報者分不清什麼是「往生」什麼是「死亡」?

說太神通廣大,是因為播報者能夠知道亡靈(如果有的話)到哪裡去了!那不是跟
中國政府一樣嗎?
中國政府能夠掌控密教喇嘛能否投胎轉世,比閻王還強大呀!

一開始大概是一些心態不健康的人,不敢說「死亡」兩字,所以就拿「往生」兩字
來填塞,久而久之以訛傳訛,變成無理頭的濫用「往生」。

但是,往生兩字是出自佛教淨土宗,指的是「往生西方極樂世界」,也就是
「去西方極樂世界報到了」。
那「西方極樂世界」是什麼?就是淨土宗提出的「阿彌陀佛的天國」,所以「往生」
兩字就是佛教淨土宗的「去天國了」的意思,這完全是宗教專用詞啊!

就像基督宗教用詞「蒙主召」「去見上帝了」「上天堂」同樣的意思。

「往生」兩字既不等同「死亡」,更不該被亂用、濫用。基督宗教的信徒怎麼能
被你說成「去阿彌陀的天國」?
人家要去也是「去耶和華的天國」啊!換個角度來想,你可以把佛教徒說成是
「蒙主召」「去耶和華的天國」嗎?

「死亡」是中性名詞不用,反而去用俱有價值意味的「往生」,真是莫明其妙!

「死亡」就像說「下車」,而「往生」類似說「去搭高鐵」,「下車」之後有很多
情況會發生,「去搭高鐵」只是一種情況,你可以騎腳踏車、搭計程車、跑步或甚至
去搭波音七四七。

死亡之後有沒有一個恆久不變的「本體」會到處亂跑、上天堂下地獄、當阿貓阿狗?

用時間線來比喻一下,有一個在時間點5出生的人,某甲,到時間點7死亡,那是某甲
死掉。然後在時間點16又有一個人出生,某乙,到時間點22死亡,某乙死掉。又有一個
人在時間點32出生,某丁,到時間點55死亡。

這時某些宗教就告訴你說那個某甲、某乙、某丁都是同一個人!
咦?同一個人?
喔!不!不是同一個人,是同一個靈魂。

咦!同一個靈魂!

靈魂是怎麼辨識的?靈魂有綠卡嗎?還是有Google帳號?或是靈魂有DNA?
難不成是在中國國家檔案局有靈魂編號可以列管追蹤?
不然中國政府怎麼掌控密教喇嘛投胎轉世?

2012-12-31

網樂通遙控器好用

朋友送的網樂通有兩支遙控器,這下遙控器多了,就拿來遙控電腦吧!

原本給arduino 用的 IRremote library 可以在這裡下載
https://github.com/shirriff/Arduino-IRremote
而msp430 用的energia 也已經內含 IRremote
http://energia.nu/download/

網樂通新、舊這兩支遙控器都是使用NEC protocol, IRremote 裡已有支援,
可以直接解碼出來,兩支有一些鍵同碼,一些鍵不同碼。

參考這個例子
https://github.com/shirriff/Arduino-IRremote/blob/master/examples/IRrecvDump/IRrecvDump.ino
把它寫入msp430 G2553|G2452 (或Arduino) 就可以解網樂通遙控器的碼。

那支長得像Wii 的我稱它做舊式,另一支跟一般電視遙控器相似的我稱它為新式。
舊式多了「扳機」鍵,新式多了方型的「紅、藍、綠、橘」及「加、減、向上、向下」

 舊式  新式
紅鍵 CE941AE5 CE9454AB
藍鍵 CE9402FD CE94D42B
綠鍵 CE9400FF CE9434CB
橘鍵 CE94C03F CE94B44B
上   CE94906F CE9404FB
下   CE94807F CE94847B
左   CE9450AF CE9444BB
右   CE9410EF CE94C43B
扳機 CE9432CD
紅(方)        CE945AA5
藍(方)        CE94BA45
綠(方)        CE94DA25
橘(方)        CE943AC5
加            CE945CA3
減            CE94DC23
向上          CE9452AD
向下          CE94D22D
 
電腦這一端可以用 py-serial module 來建立呼叫動作,搭配 xdotool 就可以控制電腦了。

import os
from serial import Serial
ser = Serial("/dev/ttyACM0", 9600)

while 1:
    L = ser.readline()
    if L[4:8]=='906F' or L[4:8]=='04FB' or L[4:8]=='5CA3':
       os.system('xdotool key Up')
    # 選一個鍵來啟用mouse cursor, 例如 Mute
    elif ..................
    elif L[4:8]=='40BF':
       # 再利用 xdotool getmouselocation 來讀取 mouse cursor 的x, y 值
       X = os.popen('xdotool getmouselocation').read().strip().split()
       mx=int(X[0][2:])
       my=int(X[1][2:])
       N = ser.readline()
       V=15
       if N[4:8]=='FFFF': # 當按住鍵不方時,它會丟出 FFFFFFFF, 就可以利用它來加速
   N='xxxx'+LAST
   V=W*1.5
       if N[4:8]=='906F' or N[4:8]=='04FB':
   os.system('xdotool mousemove %s %s'%(mx, my -V))
   W=V
   LAST=N[4:8]
       elif ...............
       # 當按下紅鍵或藍鍵就中止 mouse cursor
       elif N[4:8]=='54AB' or N[4:8]=='1AE5':
    os.system('xdotool click 1')
   break
    elif L[4:8]=='06F9': # 利用 Search 鍵來輸出數字
       while 1:
   M = ser.readline()
   if M[4:8]=='708F':
      os.system('xdotool key 1')
   elif ............
    # 利用「紅、藍、綠、桶」四個方鍵來搭配輸出英文字母
    elif L[4:8]=='5AA5':
       C = ser.readline()
       if C[4:8]=='F00F': # 數字鍵 2
   os.system('xdotool key a')
       elif C[4:8]=='30CF': # 數字鍵 3
   os.system('xdotool key d')
       elif ...........
    elif L[4:8]=='DA25':
       C = ser.readline()
       if C[4:8]=='F00F':
   os.system('xdotool key b')
       elif C[4:8]=='30CF':
   os.system('xdotool key e')
       elif ........... 
 其他像是可以用 os.system('xdotool key ctrl+Right') 或
os.system('xdotool key ctrl+Left') 來做出按鍵

這裡可以 chmod 666 /dev/ttyACM0 讓一般user 的權限就能遙控

這樣就可以當成鍵盤使用了,不過感覺舊式遙控器比較好按,但新式遙控器鍵比較多。

2012-11-13

MSP430 Launchpad vs Arduino Leonardo

經過一個禮拜以來的使用,感覺Leonardo 還是略勝一籌。

首先是IDE 方面Launchpad用的energia 會有抓不到板子的問題,以致
拖累整個OS, 讓系統hang住,而且相當嚴重。後來改用command line
方式compile 以及upload, 是可以避開IDE 這個問題,不過還不是根本解決。
有時在command line 跟Launchpad 溝通還是不通,要再次插拔。

最後根據 http://www.43oh.com 討論文章去抓另外的 cdcacm 來compile
取代Linux 系統原有的cdc-acm, 情況才有改善。在這裡:
https://github.com/energia/Energia/wiki/Linux-Serial-Communication

再來就是energia 給Linux 的只有32-bit 版本, 無法在64-bit Linux 使用,
為了寫Launchpad 的程式就必須另外跑一套32-bit Linux, 還好有各種Live
Linux system 可用,還不是太大的問題。

arduino 則是32/64 都有提供,IDE 作業時也很穩定的可以抓到板子。

發現另一個問題就是同樣程式碼的一個程式,在兩塊板子表現出來的結果卻
不一樣。我遇到的是自己寫的一個Morse 程式,它可以從電腦傳送「字串」
給這兩塊板子,讓它轉換成人耳可聽的電報碼,在使用tone 這個函數時
tone(x, y, z); delay(n); 
'z' 跟 'n' 關係人耳的感覺,Leonardo 很快就調好比例,但是Launchpad
調很久聽起來還是不順,我指的不是音調而是節拍,沒調好的話對聽得懂
電報碼的人來說,會覺得是一種困擾。

這同時又發現Launchpad 在接收指令方面有問題, 就是第一次送出指令後,
Launchpad 沒有動作, 例如我送出 "green blink" 是要它閃綠色LED, 但是
要在送第二次時才會閃,之後比這串指令短的指令是沒問題,但是比這串字
更長的指令,在第一次傳送時一樣又是沒有反應動作,要傳第二次才會動。

Leonardo 則是很誠實的有指令來,不分長短,送來就有動作!很穩定。

Launchpad 不曉得會不會還有什麼其他類似的潛在問題?

Leonardo 還有一個好處,就是只需插上USB, 就有3.3V及5V兩種電源輸出,
Launchpad只有3.3V, 有一些SSRelay 最低需求是4V 以上電源,這時用Leonardo
就不需額外的電源。

看來如果要做一些比較重要的工作,可能還是用Leonardo 比較方便可靠。

不過Launchpad 有一些方便的地方,像是onboard 紅、綠各一粒LED, 而
Leonardo 只有一粒黃色LED(User可定義的), Launchpad 也比Leonardo 多
一粒按鍵可以自行定義。

然而Launchpad 的LED 很刺眼,反觀Leonardo 的LED 顏色柔和。

最後就外觀的工藝來看,Leonardo 在藍色板面上用白色點標示Analog pin,
而在白色背面上也標示出Analog pin, Launchpad 背面什麼都沒標。

Leonardo 看起來乾乾淨淨的,Launchpad 板子上可以看到一些像是膠或是
漆的黏著物,感覺有點髒髒的,我想畢竟Leonardo是Made in Italy 而不
是Made in China 吧!