Physical computing ︰《二》 GPIO 初探

250px-Littleprince

Chapter21

小王子‧第二十一章

就在這當兒,跑来了一隻狐狸。
“你好。”狐狸說。
“你好。”小王子很有禮貌地回答道。他轉過身来,但什麼也没有看到。
“我在這兒,在蘋果樹下。”那聲音說。
“你是誰?”小王子說,“你很漂亮。”
“我是一隻狐狸。”狐狸說。
“來和我一起玩吧,”小王子建議道,“我很苦惱……”
“我不能和你一起玩,”狐狸說,“我還没有被馴服呢。”
“啊!真對不起。”小王子說。
思索了一會兒,他又說道:
“什麼叫’馴服’呀?”
“你不是此地人。”狐狸說,“你來尋找什麼?”
“我來找人。”小王子說,“什麼叫‘馴服’呢?”
“人,”狐狸說,“他們有槍,他們還打獵,這真碍事!他們唯一的可取之處就是他們也養雞,你是来尋找雞的嗎?”
“不,”小王子說,“我是來找朋友的。什麼叫‘馴服’呢?”
“這是已經早就被人遺忘了的事情,”狐狸說,“它的意思就是‘建立聯繫’。”
“建立聯繫?”
“一 點不錯,”狐狸說。“對我來說,你還只是一個小男孩,就像其他千萬個小男孩一樣。我不需要你。你也同樣用不著我。對你來說,我也不過是一隻狐狸,和其他千 萬隻狐狸一樣。但是,如果你馴服了我,我們就互相不可缺少了。 對我來說,你就是世界上唯一的了;我對你來說,也是世界上唯一的了。”
“我有點明白了。”小王子說,“有一朵花……,我想,她把我馴服了……”
“這是可能的。”狐狸說,“世界上什麼樣的事都可能看到……”
“啊,這不是在地球上的事。”小王子說。
狐狸感到十分蹊蹺。
“在另一個星球上?”
“是的。”
“在那個星球上,有獵人嗎?”
“沒有。”
“這很有意思。那麼,有雞嗎?”
“没有。”
“没有十全十美的。”狐狸嘆息地說道。
……

在《 λ 運算︰概念導引《一》》 一文中,我們談到『名字』的重要性,認識不同的『命名系統』,就是玩轉『樹莓派』之『通用型輸出入GPIO General Purpose Input/Output 踏出的第一步。為什麼會有不同的『命名系統』呢?就左圖『 P1 接頭』header 來說,一個『接腳』 Pin 的『編號』 Number 與『功能名稱』 Function name 就是兩種『接腳』之『指定』辦法。於是乎 Pin 7 = GPIO4 = (GPCLK0) ,這還不困擾,當有人將『接腳』的『編號』講成『 GPIO □□』時,就成了『 GPIO 7 = GPIO4』,即使加上『 BCM 』 Broadcom GPIO numbers 修飾語,『 GPIO 7 = BCM GPIO4』,都令人煩惱,更不要說還曾有『硬體版本』改名的問題哩!由於大概少有人有『第一版』的硬體,在此我們主講『 Rev 2.0 』以後的『命名系統』。

去掉『 P1 接頭』上的『電源 5V/3V3,『接地GND,還有十七根『接腳』,分成了四大類︰

i2c interface︰Pin 3,Pin 5

UART ── serial port︰Pin 8,Pin 10

SPI ── Serial Peripheral Interface︰Pin 19,Pin 21,Pin 23,Pin 24,Pin 26

GPIO︰Pin 7,Pin 11,Pin 13,Pin 15,Pin 16,Pin 18,Pin 22

GPIO︰Pin 12,可作為 PWM

推薦讀者到『 Pinout 』網頁了解更多有關樹莓派『接腳』的事。

GPIOs

GPIO-pins-cropped-146x300

Rev2-GPIO-bold-173x300

之前《都是檔案惹的禍?》裡,我們提過︰

在 Raspbian 的世界裡,一切都是『檔案』。這是真的嗎?從古早的 Unix 系統開始,就用著一種『統一』unified 的觀點來看待檔案。假如說 『程式』是執行檔很好了解,可是講到『硬體裝置』不過是特殊檔呢?……

就讓我們透過『 Sysfs 』── 是 Linux 2.6 所提供的一種『虛擬檔案系統』 VFS virtual files system 。這個檔案系統不僅可以把『裝置』 devices 和『驅動程式』 device drivers 的資訊從『核心』 kernel 內部輸出到『使用者空間』 user space ,也可以用來對裝置和驅動程式做『設定』。── 來控制『系統 ACT LED』,與 GPIO建立聯繫』吧!

# 為什麼一定得是 root 呢?可以只用 sudo 嗎??
sudo -s

echo none > /sys/class/leds/led0/trigger
echo 1 >/sys/class/leds/led0/brightness
echo 0 >/sys/class/leds/led0/brightness
echo 1 >/sys/class/leds/led0/brightness
echo 0 >/sys/class/leds/led0/brightness
exit

 

Ah Ha!!這樣想要有顆『閃爍』的『小星星』,怕是不可得的了,何不閱讀《 Advanced Bash-Scripting Guide 》一下,寫個『 Shell 』程式呢??

 

 

 

 

Physical computing ︰《一》引言

何謂『物理運算』 Physical computing ?廣義的說,就是可以『感測』與『回應』真實世界的『互動式物理系統』,一般由『軟體』和『硬體』所構成。

雖然在通常的用法裡,人們並不會把『智慧型交通號誌系統』或者『工廠自動化』等等當作『物理運算』系統,反而認可『 DIY 』愛好者作的『 機器人 』 以及《 咔嗎修煉!!三部曲 》影片中的『裝置藝術』之互動『小玩意』種種。由於軟硬體『工具』的進步,許多事物對於『非本科』者來講,或許也可以『上手』的吧!要是『科技』與『人文』果真『結合』起來,那會不會是新興『文創』之『物理運算』系統的呢?也許『樹莓派』的『 GPIO 』︰

gpio-pins

basic-gpio-layout

的設計就是希望未來的『主人翁』自幼就能『學習』物理運算,『開創』和『掌握』新世紀的『生活型態』的吧!!


 

Wake from Halt ??

CPU 為什麼會有『 halt 』  ── 停止執行 ── 的指令?不是說它從開機後就一直在『執行指令』的嗎?作者不知這種設計起自何時,但知 Intel x86 CPU 有『 HLT 』指令,可用之於『 Interrupts 』驅動式的軟體設計系統,現今似乎演變成一種『省電降溫』方式的了。

120px-Reset_button.svg
P6 header RUN

220px-Push-to-make_switch_electronic_symbol.svg

如果我們問『樹莓派』的設計上為什麼沒有『開關』呢?試想插拔電源作為開關機?顯然不是好辦法的吧!當《時間線︰樹莓派發展簡史》一文寫作時,根據作者的調查,也許『樹莓派』基金會的 Eben Upton 先生從沒打算給『樹莓派』一個『開關』??即使是去年底發行的 A+ 板子也是一樣,也許他認為這樣更有 DIY 的樂趣的吧!這將會是一個最簡單的 DIY Project 的了!!

擷取選取區域_047

其實早在二零一二年十月,那時『樹莓派』 B Rev. 2.0 的電路圖上已多了一的『 P6 header 』就是給『 Reset button 』用的。這並不是『論壇』裡討論的《 Wake from halt 》或《 Safe Mode 》︰使用『 P1 header 』上的 Pin 5 和 Pin 6。

photofmgo

據《 RPI safe mode 》上講︰

This feature is removed from default firmware as of 18th March 2014. NOOBS still supports a safe mode, using the same gpio pins.

在此就不多言,那時設計的想法,留與有興趣的讀者自讀的了。

Pasted_Image_10_10_14__1_09_AM

RasPiBPlusResetHeader

aplus_overhead

 

 

 

自由日?!??!!

20110121105956554_2309

紅樓夢曲‧聰明累

機關算盡太聰明,反算了卿卿性命!生前心已碎,死後性空靈。家富人寧,終有個,家亡人散各奔騰。枉費了意懸懸半世心,好一似盪悠悠三更夢。忽喇喇似大廈傾,昏慘慘似燈將盡。呀!一場歡喜忽悲辛。歎人世,終難定!

百科全書講︰

曲名“聰明累”,是受聰明之連累、聰明自誤的意思。語出北宋蘇軾《洗兒》詩:“人皆養子望聰明,我被聰明誤一生。惟願孩兒愚且魯,無災無難到公卿。

明‧錢鶴灘明日歌

明日復明日,
明日何其多!
我生待明日,
萬事成蹉跎。
世人苦被明日累,
春去秋來老將至。
朝看水東流,
暮看日西墜。
百年明日能幾何?
請君聽我明日歌!

200px-Pilgrim's_Progress_first_edition_1678
約翰‧班揚 John Bunyan
天路歷程

一個自在的人活在當下,自由選擇他的旅程。

The Pilgrim’s Progress John Bunyan

As I walk’d through the wilderness of this world, I lighted on a certain place, where was a Denn; And I laid me down in that place to sleep: And as I slept I dreamed a Dream. I dreamed, and behold I saw a Man cloathed with Raggs, standing in a certain place, with his face from his own House, a Book in his hand, and a great burden upon his Back. I looked and saw him open the Book, and Read therein; and as he read, he wept and trembled: and not being able longer to contain, he brake out with a lamentable cry; saying, what shall I do?

 

讀一段封塵往事︰

 

中華郵政於1955年所發行的「反共義士」郵票

世界自由日,舊稱一二三自由日,定於1月23日,源於中華民國紀念1954年1月23日韓戰反共戰俘獲釋、具有反共意義的節慶,1993年改為現名,每年中華民國、世界各地反共人士以及國際上反共陣營皆有一系列慶祝活動。

背景

1950年6月,韓戰開始。10月,中國人民志願軍30多萬人參與韓戰,全線反撲,聯合國軍被迫後撤[1]:66。11月26日,志願軍參與韓戰。12月,聯合國軍自平壤敗退[1]:66。1951年10月,韓境停戰談判於板門店舉行[1]:69

中華人民共和國方面一直堅持要求聯合國軍無條件遣返所有戰俘,無論他們是否願意回到中國大陸,但最終被聯合國軍所拒絕。1952年2月,韓境聯軍總部堅持自由遣返戰俘原則,蓋聯軍在韓境所獲17萬餘戰俘中,有10萬人不願被遣返,尤其在2萬餘名華籍戰俘中,誓死不願遣返者達1萬6千名[1]:69-70。韓戰期間聯合國軍俘獲戰俘及在陣前易幟之軍人共173,700人,其中中國人民志願軍有21,300人被俘,被俘人員中軍官有600人左右、級30餘人、級5人、級1人,主要被關押在巨濟島等地。

1953年6月,韓國釜山戰俘營1萬4千2百餘名華籍反共戰俘上書,請求釋放,並准其到台灣參加中華民國國軍行列[1]:74。雙方最後達成協議,戰俘可以自由決定自己的去向,戰俘的意向由中立國印度等國的代表負責鑑定[1]:74

中華人民共和國官方認為,表面上看戰俘由印度主持對戰俘進行了甄別以確定其本人的意願。實際上,聯合國軍停戰談判代表團首任團長喬埃提出「自願遣返」的方案,試圖用「大量朝中戰俘拒絕被遣返」的結果來宣揚「共產主義的失敗」。志願軍戰俘中也有一部分人是於第二次國共內戰中被俘從而加入中國人民解放軍的前中華民國國軍(被稱為「解放戰士」),這一類戰俘中有不少人不願意在停戰後回到中國大陸。最終共有14,235名志願軍戰俘選擇前往台灣,而選擇回大陸的戰俘大多受到政治審查、被開除黨/團籍或拒絕其入黨[2]。組織幹事韓子建後來提出重新入黨(他在濟州島是升中華人民共和國國旗的組織者之一),被別人要求重新念一遍在歸管處寫下的交待材料去評定是否夠格入黨,他表示無話可說,其後自盡[3]:231

位於澎湖縣馬公市自由塔,為紀念韓戰結束後投奔自由陣營戰俘而設立的紀念碑。1954年建。

中華民國政府及海內外448個民眾團體為歡迎「反共義士」來歸,經過多次集會商討,事先向聯軍統帥呼籲,務須如期終止監管。1954年1月4日,聯合國軍統帥赫爾英語John E. Hull將軍,為「表明人道正義立場」再鄭重聲明,請負責戰俘事宜的印度代表蒂邁雅必須於1月24日午夜將全體反共戰俘無條件釋放。1月23日清晨7時20分起,14,850名中國籍反共戰俘、7,650名朝鮮籍反共戰俘,終於奔向南方,得到釋放[4]。前往台灣的反共戰俘分成三批,於1954年1月23日由基隆上岸抵台,接受全台灣民眾的熱烈歡迎,被稱為「韓戰義士」。他們在臺北市遊行,市民張燈結綵表示慶祝。全台灣各大城市自由鐘,都敲響23下。並定1月23日為自由日,以紀念「反共義士」重獲自由。一面通電全世界民主國家,籲請一致響應。此後每年集會慶祝,並有全世界熱愛自由、主持正義人士來臺參加盛會[5]。1954年,於澎湖縣馬公市建了自由塔紀念。

中華民國政府特設「一·二三自由日」以紀念這個「從中共手中解救大陸同胞」的事件;其後並在泰國曼谷舉行的「第一屆世界反共聯盟大會」中通過。這即是一二三自由日的由來[來源請求]。這些反共戰俘來到台灣之後,中華民國政府依照他們的意願,有的繼續求學,有的加入軍隊,有的則安排就業,進入榮民工廠或農場工作[6]

隨著冷戰氣氛轉淡以及兩岸局勢的穩定,中華民國政府終止動員戡亂,各共產主義國家政權也於20世紀末逐一崩解,此紀念日於1993年改名為世界自由日。後來有的台灣戰俘經商致富後回大陸投資,受到當地政府熱情接待,如戰俘張城垣就曾見到這種場面[7]

參考文獻

  1. ^ 1.0 1.1 1.2 1.3 1.4 1.5 陳布雷等編著. 《蔣介石先生年表》. 台北: 傳記文學出版社. 1978-06-01. 
  2. ^ 抗美援朝志愿军战俘归国后 政策一夜之间翻了脸. 中華網. 2005-08-06 [2009-03-05]. (原始內容存檔於2009-02-28) (中文(簡體)). 
  3. ^ 張澤石. 《我的朝鲜战争——一个志愿军战俘的自述》. 北京: 時事出版社. 2000-10-01. 
  4. ^ Foreign Relations of the United States, 1952-1954 Volume XV, Part 2, Korea. . Document 857 [2013-10-29]. (原始內容存檔於2019-05-14). (英文)
  5. ^ 自由日的由來. [2014-07-26]. (原始內容存檔於2014-04-02). 
  6. ^ 國史館館刊第二十八期(2011年6月),頁 115-154,接運韓戰反共義士來臺之研究(1950-1954),周琇環
  7. ^ 志願軍戰俘紀事續集:生命只有一次 P24

外部連結

 

 

 

始中終!!

詩經‧國風‧邶風擊鼓

擊鼓其鏜,踴躍用兵。土國城漕,我獨南行。
從孫子仲,平陳與宋。不我以歸,憂心有忡。
爰居爰處?爰喪其馬?於以求之?於林之下。
死生契闊,與子成說。執子之手,與子偕老。
於嗟闊兮!不我活兮!於嗟洵兮!不我信兮!

詩經‧國風‧邶風凱風

凱風自南,吹彼棘心。棘心夭夭,母氏劬勞。
凱風自南,吹彼棘薪。母氏聖善,我無令人。
爰有寒泉?在浚之下。有子七人,母氏勞苦。
睍睆黄鳥,載好其音。有子七人,莫慰母心。

詩經‧國風‧邶風終風

終風且暴,顧我則笑,謔浪笑敖,中心是悼。
終風且霾,惠然肯來,莫往莫來,悠悠我思。
終風且曀,不日有曀,寤言不寐,願言則嚏。
曀曀其陰,虺虺其雷,寤言不寐,願言則懷。

 

一九八九年聖誕節期間,吉多‧范羅蘇姆在阿姆斯特丹打發時間時,開發了一個新的手稿語言,作為 ABC 語言的一種繼承。這個 ABC 是吉多參與設計的一種教學語言。他認為這個 ABC 語言十分的優雅且又功能強大,本專門為非專業程式設計師設計的。然而 ABC 語言並沒有獲得成功,吉多究其原因,是非開放造成的。自此決定了 Python ── 讀音為『湃泩』 ── 語言的命運。

 

 

── 先生你不給本□○☆,又要怎麽開始讀碼的呢?? ──