分類彙整: 樹莓派之學習

樹莓一月記;

偉大的教育理念孔子的『因材施教』和『有教無類』。

學習文摘

子曰︰『吾志於學三十四十不或五十知天命六十耳順七十而從心所欲,不踰矩。』

子曰:『而時之,不亦乎?有自遠方,不亦乎?人不 知不慍,不亦君子乎?』

子曰:『不思不學。』

子曰:『由,女知之乎。知之為知之,不知為不知,是知也。』

子曰:『不,不舉一不以三,則不復也。』

green-raspberry

red-raspberry

golden-raspberry

White raspberry flowers

black-raspberry

五官 ── ── 從,各有『』與『』。有的人『不聽講』自己看書『看不懂』;又有人『一目十行』,可以『既讀即解』;還有的人非得『親為』否則『不解』。難道說『』與『』就果真或與『讀書無緣』?俗話說︰『氣味相投』自然朋比;『把酒飛斝』無非道友。學習的過程中,如果有志同道合的『朋友』,彼此切磋琢磨,想必更能日行千里,事半功倍吧!!

莊子講『庖丁解牛』的故事,講到庖丁功夫之深厚,竟然能讓『解牛不知其死,真真的是出神入化的好勒!!科學教育的重要性在於求『』,然而需要了解的是,世界有『價值』的不只是『』而已,也許說還有著『』與『』吧。曾經有一位西方哲人說道︰所謂『』就是把『』的事,用『』得方式呈現;古時或有另一位東方覺者談起︰大、大、亦大 ──

佚名詩

大地藏無盡,

勤勞資有生;

念哉斯意厚,

努力事春耕。

──,
大人者不失其『赤子之心』。

科學的方法在於『實驗』,不斷驗證『人以為知』之事,而這個 方法要求『人人都能』與『時時都可』,是嚴格的『事實』立論的基石,故可以說是強調『他証性』;然而人世間『經驗』的廣褒,自有『如人飲水』『自証』之,與『朋比道友』『互証』之

刀筆契刻︰nano 編輯

如果設想以『』字為觀,其中『一豎』就是文本,而那個『』── ──,就是當下所『』。人的眼界受限於框,就像編輯軟體也有個『視窗』一般。術語上,編輯軟體的這個視窗叫做『文本窗口』text window。在這個框中,一個一個『文字符號』,依序排列,可以用著『行列』定位,以至我們可以說哪個字在哪行哪列。人們的目光總有個『焦點』,聚焦在一個特定的『位置』,就是編輯軟體上的『游標』,指示著現下的『這個字』。如此說來,一個編輯軟體需要提供哪些『功能』去完成『新創』或『修改』文本,也就不難設想了。有人說,這個行列的想法,大概只適合文字界面吧,要是圖形界面的話,比方說眼前的『這篇』文章,就更本不適用。其實你只要把行列的概念,推廣成笛卡爾座標系就行了。這樣你可以用『點定位』的不只是文字,它是圖形又何妨。然而裡頭基本的想法還是一樣的。對今天的使用者來說,『所見即所得』的文字處理程式想法,一點也不會陌生,它會『排版』而且能『呈現』出一樣的所得之所見到各種輸出裝置 ──『螢幕』、『印表機』、『網頁』…──。那麽一個簡單的文本編輯軟體又怎麽看待文本的『排版』呢?標點符號標示著文句的意義,卻不代表著最終呈現出的『一行』或是『一列』,比如說『詩詞』上斷開句子文意呈現。所以就需要一個方法來處理排版上的這個『換行』── 排版上的『分界』,這是一行的終結 End Of  Line,另一行將起『新行』符號的由來。然而這個控制符號卻引起了一場史稱『Teletype Model 33 ASR』事件︰

220px-Teletype_with_papertape_punch_and_reader

傳說於 1963 年時,這台電動打字機,打字頭由行末回到行首── 回車 Carriage Return ── 需要它個字』的時間,而移動紙張的滾輪,移動一行距離 Line Feed,只需『個字』的時間,所以軟體程式設計師為了配合著它的運作節奏,只得用 EOL = CR + LF 剛好兩個字的時間,來標示排版上的新行符號

此後,到底該用什麼代表 EOL 就各吹各的調了。直到如今頻果的 CR、\r,微軟的 CR+LF、\r\n,以及 Unix 的 LF、\n,成為三種主流,持續影響著文本於不同作業系統間的往來時,都必須要轉換 EOL 符號一事。雖然許多『跨平台』的軟體,比方騛罿 Python 讀檔案時能自動轉換,對於可執行的文本命令檔來說,最好還是注意這個問題。如果你稍稍留意,這些又稱作 ASCII 控制碼的 CR 和 LF 符號,在文本編輯時是『看不見』的,它的作用是文本呈現的『控制』,並不屬於文本的『文義』之中,雖然用於排版時,或表現出作者對『美觀』的要求,因有著一定『風格』的意思。由於它的『看不見』,作用又有點像『文言虛詞』,在一般程式語言裡稱這些看不見的叫做 white-space,或許可以譯作『留白』。

nano 10^{-9} 短小精練的文本編輯程式,非常合適在終端機命令列上使用,作者志在取代 pico 10^{-12},曾說︰完全『錯映錯bug-for-bug 般的模擬著相容於 pico。就像傳聞 Wine 的作者們 ── 在 Linux 上跑 Windows 程式的模擬器 ── 當被問到『為什麼』某某軟體不能跑時,回答的感慨一樣︰看來我們只能製造相同的錯誤』,才能解決這個問題。是為求問題解決,不得不吞下的這杯苦酒!!奈文編輯器 nano text editor 的完整使用者文件,可以到使用 nano 文本編輯器之處閱讀,在此我們將只介紹於 Raspbian 上的基本用法︰

nano 上的命令主要是以 Ctrl 為起首配上一個『表意』的字元來表達,比方 Ctrl  + O  的組合健,代表一個  OverWrite 蓋寫『…檔案名稱』的存出命令。另一是以 Alt 作起頭也配上一個表意字元的,在 nano 中常用來表示『選項開關之用,例如 Alt  + P  的組合健,啟用『顯示空格 開啟/關閉』。此處說的這個 Alt 鍵就是 Ctrl  + G  Guide 指南 ── nano 程式中的線上備忘指南裡所說的 Meta 鍵之一 ──,它在 Raspbian 的 預設值;而其他的預設項可見於 /etc/nanorc  一檔。雖然此處用的表意字元,同於指南都是用英文的『大寫』符號,事實上,奈文編輯器並不區分大小寫,所以不需要用  Ctrl  + Shift   +  g  這種打法,縱使要用也行,因為這不過是 nano 文件寫法慣例吧。

當使用 『nano 《檔案名稱》』命令時,如果沒有這個檔名,新創它;如果已有這個檔案,打開它。

【移動反白游標】︰

上一行; 下一行; 前一字; 後一字。

【刪增游標所在處的字】︰

反白游標所在處,打入的字,將插入在這個游標之前;假如要刪除游標當下的字,可以用 Delete 鍵;如果想刪除游標之前的字,可以用 Backspace 鍵。

【剪貼文字】︰

當你在圖形視窗環境下使用視窗版終端機的程式命令列時,滑鼠是個好幫手,你可以方便的使用『剪貼』功能,它能夠將『拷貝Copy 的文句,把它貼到反白游標所在處之前

【讀寫檔案】︰

前面已經提過了要將檔案寫出,你可以用 Ctrl  + O  的命令;然而如果你想在反白的游標之前,插進另外一個檔案就得要用 Ctrl  + R   Read 讀取這個命令了。

【結束離開】︰

Ctrl  + X  EXit 出口

文化的傳承依賴著『刀筆契刻的傳播』,今天的世界,也許不是發明『造紙術』的漢朝蔡倫所能預想的吧!!

複盆子,熟了。

樹莓一名覆盆子,又叫懸鉤子,【本草綱目】上記作『複盆子』,明朝名醫李時珍說︰

五月子熟,其色烏赤,故俗名 、大麥莓、插田 ,亦曰栽秧 。甄權《本草》一名馬 ,【集解】《別錄》曰︰五月採。蓬子以八、九月熟,故謂之割田 。複盆以四、五月熟,故謂之插田 ,正與《別錄》五月採相合。二 熟時色皆烏赤,故能補腎。其四、五月熟而色紅者,乃田也,不入

【氣味】甘,平,無毒。

【主治】益氣輕身,令發不白(《別錄》)…。

覆盆子的果實是一種聚合果,成熟後有紅色金色黑色。初生時或有綠色,很少能見到白色的。在中國雖有大量分佈,卻鮮為人知,屬於野果 ── 少有種植販售 ── 卻有著多種藥物價值

古代『河圖』和『洛書』都是以『五為中央』,也就是以『大地』為的意思,強調人與大自然和諧太陽系在古人的眼中,就像個大陽鐘,推動著『春生』『夏長』『秋收』『冬藏』的循環,而為四季之,扮演著『生化』── 五行生克制化 ── 的角色,實在可以說是大自然的生命醫生。而後又將『』按照德性歸給了『』,把『』這個賦予了大地。這整個的寓意說的就是宇宙的『生生不息』!!

RPI_logo

六經之的『易經』有一個『中孚』卦,言及這個『』字︰

中孚豚魚吉,利涉大川,利貞

曰:中孚,說而巽,孚,乃化邦也。豚魚吉 ,信及豚魚也。 利涉大川,虛也。 中孚以利貞,乃應乎天也。

曰:上有,中孚﹔君子以議獄緩死。

初九吉,有不燕。
象曰:初九虞吉,志未變也。

九二鳴鶴在陰,其子和之,我有好爵吾與爾靡之。
象曰:其子和之,中心愿也。

六三得敵,或,或
象曰:可鼓或罷,位不當也。

六四:月几望,馬匹亡,無咎
象曰:馬匹亡,絕類上也。

九五:有孚攣如,無咎。
象曰:有孚攣如,位正當也。

上九翰音登于天,貞
象曰:翰音于天,何可長也。

通觀上文,即使人們能夠認識每一,如何『解讀』依然是個大『問題』;就像樹莓派基金會想把『程式』的樂趣帶給『童蒙』,將『履行』── DIY ──放進『人生』一樣。

』三字,總結人類生活的方方面面,要點貴在能有著『一致性』,勝過一般人們常說的『言行合一』。如果能夠『鉤深索隱』,其實說的就是『學問』大道。事實上『反思』是『哲學』之始,『反省』為『道德』的開端。 『思考』就是『耕耘』著心田,如果還能夠『轉識成智』,『所學』自然就會『踏實』。更何況人們一時所說的『達人』尚且問著『知之不知』的問題呢! 世間裡人與人的『對待』旨要能夠『誠信』,所以方講『人言為信』,也就是說著若合符契『無信不立』一事。假使一個人能以『正信為念』── 正確的信念 ──,如得大願力般的『心想事成』,自然會仿效立志』與『求學』。 ── 鞋子的工具、實踐 ── 履者斯人能得『格物致知』,才許其命維新。從上所說的,三個字就變化成為『三個字 ── 以『信念』為中心的『知』螺旋

……… ,以至無窮

raspi-config 再探!!

俗話說︰『打鐵趁熱』!!就讓我們藉著探索 raspi-config 程式,多了解一些樹莓派的點點滴滴

【擴張檔案系統】︰
Expand Filesystem

為著『節約』網路頻寬的使用,樹莓派官網的下載檔案,一般不但經過『壓縮』,而且大多發行版所發行的『映像檔』,比方說 Raspbian ,為著相同的理由,通常會使用較小的檔案系統。這就是這個選項的目的,讓檔案系統能夠使用整個 SD 卡的『空閑free space 容量,你可以用『 df -h 』命令查看系統的容量使用狀況。如果你是按照《開機沒畫面?Noobs 安裝》一文的辦法安裝,安裝程式會自動擴張檔案系統。

【改變使用者密碼】︰
Change User Password

樹莓派『預設』default 的使用者是 『pi』,pi 的密碼是『raspberry』。這個選項的目的,讓你改變這個預設密碼,加強使用系統的『安全性』。

【允許啟動桌面/Scratch】︰
Enable Boot to Desktop/Scratch

這個選項讓你選擇,開機後的『作業環境』,預設的是需要登入的終端機命令列。另外你可以選擇的是,不需要登入的視窗操作環境,或是 M.I.T Scratch 程式環境

【國際化選項】︰
Internationalisation Options

詳見《一條漫漫長路︰中文化視窗》一文。

【允許相機】︰
Enable Camera

樹莓派上有一個『 CSI 』 連接器,用來連接相機模組。它需要 GPU 上的『韌體』firmware 支援,這個選項可以『啟用』或『禁用』這個支援。目前樹莓派上提供了三個命令列的應用程式 raspistill , raspivid 和 raspistillyu 。你可以到這裡下載『RaspiCam Documentation』使用手冊。

180px-RPiCam

180px-Pi-noir

目前樹莓派基金會已發行了兩款相機模組,『綠色模組提供1080p 30fps 的 h264 Full HD 錄影,和 2592 x 1944 畫素的靜態拍照。『咖啡色模組,基本同於綠色模組,拿掉紅外線 IR 濾光片,因此可以拍攝紅外線,所以叫做 NoIR 。買時送了一片藍色的濾光片,它的吸收光譜類似於葉綠素,因此能用來調查植物健康狀況,用於一種稱為 Infragram 的攝像術。

【加入樹莓派追蹤】︰
Add to Rastrack

如同《鳥瞰︰樹莓派的傳播》一文上所說的,只看你喜不喜歡告知行蹤

【超頻】︰
Overclock

超頻的意思是︰強迫提高運作頻率,使得系統跑得更快。過去 PC 上有一個『渦輪按鈕』Turbo switch ,正是超頻的始祖。使用超頻可能導致樹莓派的壽命縮短,或是熱故障以及 SD 卡的讀寫問題…等等。假如使用三片式散熱片,一般超頻到 Medium 900MHz 大概都沒問題。

RPI_thermal_image

【進階選項】︰
Advanced Options

過掃描』Overscan︰止觀『』字,如果影像輸出的長寬解析度大□,比螢幕顯示的長寬解析度小口要,小口外的大□影像會被切除,稱作 過掃描。反之,如果交換大□小口的角色,那麼影像外會有黑框,稱之欠掃描 underscan。Noobs 或 Raspbian 的預設是『允許』,為的是某些電視上的 HDMI 解析度較,但從一般電腦用的 HDMI 顯示器來看,就帶著黑框了。你可以用『fbset -s』命令來看當前的螢幕解析度。

主機名稱』Hostname︰樹莓派預設的主機名稱是『raspberrypi』,在這裡你可以修改成你想要的名字,要注意的是名字只能用 ASCII文數字 alphanumeric 命名。

記憶體劃分』Memory Split︰配置多少記憶體給 GPU 繪圖處理器,一般使用各個發行版的預設值就好了。

安全外殼程式』SSH︰這個選項預設的是啟用遠端安全外殼程式伺服器,在 Linux 上你可以用『 ssh -l pi 〈 pi 的 IP 地址〉』登入樹莓派;在 Windows 試著用 Putty 這個程式。

序列式周邊界面匯流排』SPI︰

RPI_GPIOs

在樹莓派上有一個 GPIO 的針狀連接頭,它可以擴充樹莓派的功能,作硬體輸出入界面 IO interface ,一般分成 電源 +5V  +3.3V、接地 GND、 序列連接 UART通用輸出入 GPIO序列式周邊界面匯流排 SPI內部整合電路 I2C 幾個部份,而 SPI  Serial Peripheral Interface Bus 正定義在上面,在樹莓派上,你可以接兩個 SPI 的裝置。

RPI_TFT

RPI_RTK

那在樹莓派上 的這些 GPIO  有什麼用途呢?左圖一是帶著觸控輸入的 320×240 小顯示器,十分省電,可用於用電池供電的『攜帶式』種種應用;另一是 RTK 的簡易馬達控制器,可用於『自動化』等等應用。如果你喜歡『 DIY 』 ,市面上有許多不同的『感測器』、『輸入按鈕』、『輸出 LED』、……等著你發揮『想像力』將它們整合成『實用』的東西!!這個選項就是問你要不要開啟 SPI 的核心驅動程式

聲音輸出』Audio︰在此你可以決定是用 HDMI 輸出聲音或是用類比的立體連接頭

更新升級』Update︰既更新 apt-get update,又升級 apt-get upgrade raspi-config 工具。

【關於 raspi-config】︰
About raspi-config

說明這個程式的目的

至此 Raspi-config『戲已落幕』?那這個是什麼呢?什麼又是 DSI 連接器呢?

RPI_DSI_display