2014/03/21

Raspberry Pi情報彙整(23)

我將網路上看到的、感興趣的、跟Raspberry Pi相關的資訊收集如下。如果您發現任何新奇驚人的新聞或專案,還請留言告知。

Wolfson Microelectronics | Wolfson Audio Card from element14 - High Definition Audio for the Raspberry Pi®,rpi也有音效卡了,element14販售,採用Wolfson的音訊處理晶片,高品質音訊24-bit / 192KHz,有一般3.5mm輸出入也有S/PDIF數位輸出入,可錄音,適合作為語音控制的專案。

Bitcoin farming – on a industrial scale | Raspberry Pi,哇賽,好大的比特幣挖礦場啊,而且這的多rpi。
Command Pi - app for Raspberry Pi | Studio Zoetekauw B.V.Studio Zoetekauw B.V.,這是一支需要iOS的App,可從iOS觀察rpi的狀況,包括CPU負載、記憶體用量、晶片溫度、等等。
Raspberry Pi: Gbot 1.1(GhettoBot) DIY Ki-Rover | element14,相當厲害,光看圖就很令人驚訝了。
Peek Inside a Pi-Powered CNC Oreo-Customizing Machine | MAKE,來一片特製的Oreo餅乾吧。
Digital signal processing with teeny-tiny tap-dancers. | Raspberry Pi,FFT快速傅利葉轉換有什麼用呢,看看這個專案吧,可用來分析歌曲中的節拍,讓小玩偶踏步。
Portable Pi Power: Raspberry Pi to Go | MAKERaspberry Pi行動電源:帶著Raspberry Pi趴趴走;打造行動電源,主要零件是Murata的OKI-78SR系列高效率交換式穩壓器。
Raspberry Pi launches free Academy to train the educators – places limited | Cambridge technology news | Cabume,rpi的宗旨在於教育,現在基金會也免費開辦教師的訓練課程。相信以後會越來越多。
Easily Distracted: Spud Game,Raspberry Pi+電容式觸碰感測器+Scratch+馬鈴薯。
Integration of enabling methods for the automated flow preparation of piperazine-2-carboxamide,哇,看都看不懂,跟化學有關的吧。
其他,The Raspberry Pi computer – how a bright British idea took flight | Business | The Guardian說美國銷售額佔30%、英國20%、30%歐洲(大部分是德國)、其他大部分去了日本與韓國;The keyword geek: Small computer, big data用rpi來處理巨量資料;3月8日的Swansea Raspberry Jam — MediumAs easy as Pi - Chartered Quality Institute;;。

2014/03/18

新書發表:Arduino輕鬆入門:範例分析與實作設計

書名:Arduino輕鬆入門:範例分析與實作設計
作者:我
頁數:456頁
出版日期:2014年2月19日
出版社:博碩文化(書號PG21403
ISBN:978-986-201-870-5
印刷:單色

一本從零開始介紹Arduino的入門書,不管是硬體還是軟體方面,都從最基本的層級開始講解,希望能引導初學者快速入門Arduino這套熱門的電子原型開發平台,打造您心中醞釀已久的專案。

★從零開始介紹Arduino這套電子開發平台。
★有硬有軟,電子零件與程式碼完全掌握。
★逐步學習,基本的LED與開關,直到溫濕度感測器、馬達、紅外線、無線傳輸、等等技術。
★介紹各種感測器,偵測氣溫、濕度、壓力、彎曲程度、等等。
★解說何謂驅動電路,如何掌控大電壓與大電流,操控馬達製作雙輪電動車。
★提供豐富詳實的範例,快速引領上手。
★容易看懂的電路圖,按圖施工,保證成功。
★從簡單的程式碼著手,慢慢邁向更複雜的功能,提供原始碼檔案下載。
★收錄有趣的小遊戲專案:包括石頭砸雞蛋、打鼓機、肺活量測試機、請你跟我這樣做。

書裡的電路圖,使用一套名為Fritzing的開放原始碼軟體來繪製,所有原始程式碼與電路圖檔案(彩色),都可到GitHub下載只需點按「Download ZIP」即可全部打包下載,書籍章節內也會註明個範例專案的所在路徑。

內容大綱:


1章,Arduino導論,從零開始介紹Arduino這套開放原始碼電子原型開發平台,自造者(Maker)運動、歷史源流、細數官方推出的開發板、以及各種相容產品與模組,然後介紹Arduino的軟體部分並在各作業系統上安裝驅動程式,本章結束之時,您面前就會有一套準備就緒的軟硬體開發環境。

2章,介紹閱讀本書需要的電子零件與設備,包括電阻、二極體、各種晶片、等等,以及手邊需備齊的工具。若讀者已有經驗,可跳過這一章。

3章,正式進入Arduino的領域,這一章將從基礎開始講解如何運用最基本的零件:LED與開關,並開發軟體程式,一步一步介紹關於硬體與軟體的各種概念。

4章,廣泛介紹各種「輸入」,包括數位輸入與類比輸入,諸如可變電阻、光敏電阻、壓力感測器、磁力感測器、等等,皆有其適合的運用場合。

5章,介紹各種「視覺」輸出元件,包括可發出各種色彩的RGB LED、能顯示數字的七段顯示器、LED矩陣、以及文字型LCD;加上前一章的輸入裝置後,我們就可以製作各種有趣的小專案。

6章,介紹「聽覺」方面的零件,包括能發出基本逼逼聲的蜂鳴器,加裝其他輸入裝置製作簡單的玩具鋼琴,然後是電容式麥克風,使得電路也能感知聲音大小。

7章,除了人為的輸入形式,電子電路也能偵測周遭世界的各項環境數值,包括氣溫、濕度、大氣壓力、海拔高度、等等,運用這些感測器,就能隨時監控植栽的狀況、家居環境的溫度變化、記錄並觀察氣象、等等有趣的專案。

8章,紅外線這種無線傳輸技術,運用領域非常廣泛,價格低廉且用法簡單,這一章將試著讓Arduino遙控家裡的電器、接收紅外線遙控器並解讀指令,最後會介紹動作偵測器,可用來建構保全系統,監控不明入侵者。

9章,介紹各種電力來源,以及如何驅動大電壓與大電流,介紹電晶體、達靈頓配對、穩壓器、準位調節器與相關原理。

10章,馬達是非常重要的致動器,能將電能轉為機械能,風扇、電動玩具車、光碟機、等等,裡頭都有馬達,本章將介紹直流馬達、步進馬達、伺服馬達的原理與用法,並運用直流馬達製作能自行避開障礙物的超音波自走車。

11章,想要達成萬物聯網的夢想,就需要各種傳輸技術,本章將介紹藍牙、以太網路、WiFi

12章,除了購買非常方便的Arduino開發板之外,我們也能在麵包板(或洞洞板)上建構屬於自己的Arduino,本章將介紹USB轉序列傳輸介面、ISP燒錄器、自行製作便宜的並列埠燒路線。

13章,這是最後一章,介紹本書未能收錄的主題,以及在讀完本書後,下一步可往哪些方向。

附錄A,列出與微控制器開發相關的詞彙與簡短描述。
附錄B,比較UnoLeonardo這兩塊主流開發板的差異。
附錄CArduino核心函式的參考資料。
附錄D:介紹Arduino IDE的設定與目錄結構。
附錄E:各範例專案所需零件材料列表。


勘誤表:

如果您發現書中有任何錯誤,還請留言告知,謝謝。

嚴重程度:高

頁數:291
位置:表10.3
修正: 應互換粉紅線與黃線對應的Arduino腳位,將「對應Arduino腳位11的驅動腳位」與「對應Arduino腳位10的驅動腳位」互換

【2016.04.03新增】
頁數:177
位置:圖6-12
修正: 圖中的82kΩ電阻,其一腳接到5V,錯了,應接到GND。

頁數:180
位置:圖6-13
修正: 圖中的82kΩ電阻,其一腳接到5V,錯了,應接到GND。


【2016.05.29新增】
頁數:263
位置:圖9.15的電路圖錯了,其中二極體(1N4001)的接法錯了
修正: 請見下圖,或到GitHub

嚴重程度:低

頁數:144
位置:所需零件裡的「8×8 陰極單色LED 矩陣」
修正: 將「陰極」改為「共陰極」

頁數:150
位置:程式碼5.9裡面的註解「將資料快閃記憶體裡,不佔用SRAM」
修正: 將「將資料」改為「將資料放進」

頁數:171
位置:第一行末端「音量強落」
修正: 將「強落」改為「強弱」

頁數:174172
位置:倒數第三行的「2 號計時器則負責腳位11 與3 的PWM」
修正: 將「2 號計時器」改為「2 號計時器(Timer 2)」

頁數:183
位置:6.6 Wave擴充版裡的「由一塊音訊負責解碼檔案」
修正: 將「音訊」改為「音訊晶片」

頁數:228
位置:程式碼8.2裡的註解
修正: 在「Uno是 3 Leonardo是 13 」的「3」與「Leonardo」之間插入逗號「,」

頁數:360
位置:12.2的第一行裡的「第一章」
修正: 將「第一章」改為「第1章」

頁數:368
位置:零件材料裡的電阻,忘記寫上色環
修正: 將「220Ω電阻」改為「220Ω電阻(色環:紅紅棕)」;將「470Ω電阻」改為「470Ω電阻(色環:黃紫棕)」

頁數:387
位置:倒數第三行的「Lego Mindstorm」
修正: 將「Lego Mindstorm」改為「Lego Mindstorms」

【2014.04.16新增】
頁數:308
位置:第一段第四行後面,「比較」重複了
修正: 將「選購時請比較比較能驅動...」改成「選購時請比較能驅動...」

頁數:321
位置:程式碼10.13裡的註解
修正:將「假定當電流從BACKWARD流向FORWARD 輪子往前轉」的「往前轉」改成「往後轉」

頁數:328
位置:程式碼10.17裡的註解
修正:將「假定當電流從BACKWARD流向FORWARD 輪子往前轉」的「往前轉」改成「往後轉」

【2014.08.17新增】
頁數:64
位置:第二段,第二行與第四行,圖編號錯了(有兩處)
修正: 將「圖3.3」改成「圖3.5」(有兩處)

【2014.12.18新增】
頁數:200
位置:倒數第二段,程式庫Timer的網址
修正:若照書中網址下載,將會下載1.x版,但書中範例使用的是2.x版;請改到2.x版的網址https://github.com/JChristensen/Timer/tree/v2.1下載,或是直接使用本書原始碼網站(https://github.com/yehnan/arduino_book_yehnan)裡提供的Timer程式庫。

【2015.04.27新增】
頁數:266
位置:倒數第二段,第三行,有個錯字
修正: 將「答靈頓」改成「達靈頓」

【2016.01.13新增】
頁數:43
位置:第一段第三行,圖標號錯了
修正: 將「圖2.8」改成「圖2.9」

頁數:43
位置:第二段最後一行,圖標號錯了
修正: 將「圖2.9」改成「圖2.10」

頁數:44
位置:第二段第二行,圖標號錯了
修正: 將「圖2.11」改成「圖2.12」

2014/03/16

FTDI FT232RL仿冒品

FTDI FT232R是顆有名的「USB轉TTL Serial介面」晶片,Arduino Duemilanove開發板就包含這顆晶片與電腦端溝通,許多獨立的轉接板或轉接線也使用這顆晶片。其他有名的同類型晶片還有Prolific的PL-2303系列、Silicon Labs的CP2102、等等。

有了這種「USB轉TTL Serial介面」轉接板(卡)或轉接線,就可以燒錄麵包板上的Arduino(ATmega微控制器),也可以登入Raspberry Pi主控台

看了「FTDI FT232RL: real vs fake : ZeptoBars」這一篇詳細比較了兩者差異的文章後,才知道有假貨,而且做的很像,厲害。

看起來,仿冒品試圖模擬出正牌的功能,希望可以完全代換,而因為不需要取得USB VID、微軟驅動程式的簽章、不需要打廣告、等等,所以省下不少成本;一般使用時大概也不會出問題(我沒用過),不過原廠新版驅動程式通常會放入一些防偽檢查,將無法相容。

讓我想起一位朋友的經驗,他設計好的電路板,送到工廠去打上零件,結果工廠換了零件,於是就出問題了;嘿,就算零件看起來幾乎一樣,也有可能是仿冒的,唉,真假難辨啊。

2014/03/15

Arduino練習:以開關切換LED是否閃爍

這一篇以「Arduino練習:以開關切換LED明滅狀態」為基礎,但功能改成:按一下開關,LED開始閃爍,再按一下開關,LED熄滅,依此類推。

這一篇不會有太多說明,若對Arduino、程式庫、開關bounce問題等等不熟悉的話,還請參考我其他的文章:Arduino文章列表,或是參考我寫的Arduino入門書:Arduino輕鬆入門:範例分析與實作設計

我的環境:Windows XP、Arduino 1.0.5、板子是Arduino Uno R3。

電路圖很簡單,就是一個LED與一個開關而已。

至於草稿碼方面,我將寫兩個版本,分別運用不同的技巧來達成功能:一個使用millis記錄時間,另一個使用程式庫。

首先是使用millis記錄時間的版本,程式碼可到這裡下載;使用millis記錄時間,比較上次與這次的時間後,決定做什麼事情。注意,程式內沒有使用delay函式

#define LED_PIN 13
#define SWITCH_PIN 12

#define DEBOUNCE_DELAY 200
unsigned long lastDebounceTime;
int ledBlinkStatus;

#define LED_BLINK_TIME 300
unsigned long lastUpdateLedTime;
int ledStatus = LOW;

void setup() {
  pinMode(LED_PIN, OUTPUT);
  pinMode(SWITCH_PIN, INPUT);
}
void updateLedBlinkStatus(){
  unsigned long currentTime = millis();
  if((currentTime - lastDebounceTime) > DEBOUNCE_DELAY){
    lastDebounceTime = currentTime;
    ledBlinkStatus = !ledBlinkStatus;
  }
}
void updateLed(){
  if(ledBlinkStatus){
    unsigned long currentTime = millis();
    if((currentTime - lastUpdateLedTime) > LED_BLINK_TIME){
      lastUpdateLedTime = currentTime;
      ledStatus = !ledStatus;
    }
  }
  else{
    ledStatus = LOW;
  }
  digitalWrite(LED_PIN, ledStatus);
}
void loop() {
  int switchStatus = digitalRead(SWITCH_PIN);
  if(switchStatus == HIGH){
    updateLedBlinkStatus();
  }
  updateLed();
}


另一個則是使用程式庫TimerBounce的版本,程式碼可到這裡下載,程式庫Timer的用法請參考這篇,程式庫Bounce的用法請看這篇

#include <Bounce.h>
#include <Timer.h>

#define LED_PIN 13
#define SWITCH_PIN 12

#define DEBOUNCE_DELAY 50
int ledBlinkStatus = 0;
Bounce bouncer = Bounce(SWITCH_PIN, DEBOUNCE_DELAY);

#define LED_BLINK_TIME 300
Timer timer;
int8_t timer_id;

void setup() {
  pinMode(LED_PIN, OUTPUT);
  pinMode(SWITCH_PIN, INPUT);
}
void loop() {
  if(bouncer.update() == true && bouncer.read() == HIGH){
    ledBlinkStatus = !ledBlinkStatus;
    if(ledBlinkStatus){
      timer_id = timer.oscillate(LED_PIN, LED_BLINK_TIME, HIGH);
    }
    else{
      timer.stop(timer_id);
      digitalWrite(LED_PIN, LOW);
    }
  }
  timer.update();
}

使用程式庫後,程式碼變短許多。

2014/03/14

Arduino:自訂整組資料讀寫EEPROM

Arduino的AVR微控制器晶片裡,含有EEPROM,可在程式執行時動態讀寫資料,不因電源中斷而消失。可使用Arduino官方程式庫EEPROM進行存取,但其介面以「一個byte」為單位,用起來有點不便,底下介紹如何自訂C語言struct,作為讀寫單位。

我的環境是Arduino Uno板、軟體版本1.0.5。

分成兩個檔案,首先是eeprom_anything.h
#ifndef eeprom_anything_h
#define eeprom_anything_h

#include <Arduino.h>
#include <EEPROM.h>

// 利用這兩個C++模板,讀寫整組資料
// 參數address是EEPROM位址,參數data是想讀寫的資料結構
template <class T> int EEPROM_writeAnything(int address, const T &data);
template <class T> int EEPROM_readAnything(int address, T &data);

// 函式模板的定義
// 使用EEPROM程式庫寫入一個一個的byte
template <class T> int EEPROM_writeAnything(int address, const T &data)
{
  const byte *p = (const byte *)(const void *)&data;
  int i, n;
  for(i = 0, n = sizeof(data); i < n; i++)
    EEPROM.write(address++, *p++);
  return i;
}
template <class T> int EEPROM_readAnything(int address, T &data)
{
  byte *p = (byte *)(void *)&data;
  int i, n;
  for(i = 0, n = sizeof(data); i < n; i++)
    *p++ = EEPROM.read(address++);
  return i;
}

#endif

然後是主草稿碼EEPROM_struct.ino
#include <EEPROM.h>
#include "eeprom_anything.h"

// 自行定義struct,放入你想讀取的資料
struct dataType{
  char name[10]; 
  int age;
  char gender;
  float money;
  float bank;
};

void setup(){
  Serial.begin(115200);
 
  dataType d; // 宣告結構變數,放入資料
  strcpy(d.name, "Arduino");
  d.age = 9;
  d.gender = 'M';
  d.money = 9876.54;
  d.bank = 1234.56;
  Serial.print("name: ");
  Serial.println(d.name);
  Serial.print("age: ");
  Serial.println(d.age);
  Serial.print("gender: ");
  Serial.println(d.gender);
  Serial.print("money: ");
  Serial.println(d.money);
  Serial.print("bank: ");
  Serial.println(d.bank);

  // 寫入EEPROM,回傳值count代表總共寫入幾個byte
  int count = EEPROM_writeAnything(0, d);
  Serial.print(count);
  Serial.println(" bytes written.");
  Serial.println("---------------");
}
void loop(){
  // 讀取EEPROM,回傳值count代表總共寫入幾個byte
  dataType d;
  int count = EEPROM_readAnything(0, d);
 
  Serial.print("name: ");
  Serial.println(d.name);
  Serial.print("age: ");
  Serial.println(d.age);
  Serial.print("gender: ");
  Serial.println(d.gender);
  Serial.print("money: ");
  Serial.println(d.money);
  Serial.print("bank: ");
  Serial.println(d.bank);
  Serial.print(count);
  Serial.println(" bytes read.");
 
  while(1){
  }
}

其執行結果應輸出類似底下的訊息:
name: Arduino
age: 9
gender: M
money: 9876.54
bank: 1234.56
21 bytes written.
---------------
name: Arduino
age: 9
gender: M
money: 9876.54
bank: 1234.56
21 bytes read.

耶!

參考資料:

2014/03/12

宣傳3月16日CAVEDU新品與課程發表會

幫忙Cave團隊宣傳一下。

在2014初春3月16日星期天下午,Cave將會展示新品與課程。詳細情形與報名網址還請到官網,不需要報名費喔。到時還會有抽獎活動,獎品有Raspberry Pi、OZONE、Akafugu電子創作套件等等。

地點在MakerBar,場地很大。

活動議程:
13:30 開場白:Cave教育團隊、MakerBar以及其他協力夥伴簡介。
13:50 86Duino,x86核心的國產Arduino相容板。
14:20 Raspberry Pi ,更多周邊、擴充板與創作資源。
14:50 Scratch PICO board,國中小程式教學的好工具。硬體與課程規劃建議。
15:20 交換名片、吃吃喝喝、認識朋友。
16:00 CAVEDU 2014新課程、活動與發展計畫。
16:30 Maker Faire機器人比賽說明搶先看(機器人循跡搬運競賽 / 坦克大決戰)。
17:00 結語、好禮大抽獎。

Arduino Robot,Arduino官方推出的機器人套件。
Dexter Brick Pi,Raspberry Pi機器人擴充板,使用Lego感測器與各種模組元件。
日本KONDO、台灣MAX格鬥機器人系列、台灣ROBOFACTORY安東尼系列。

利基OZONE。
Pi-Pan攝影機模組。
DMP所推出x86核心的Arduino相容板86Duino
從日本帶回來的Akafugu真空管與數字管時鐘。
我也會去參加,希望可以抽中大獎:D。

2014/03/10

Raspberry Pi情報彙整(22)

我將網路上看到的、感興趣的、跟Raspberry Pi相關的資訊收集如下。如果您發現任何新奇驚人的新聞或專案,還請留言告知。

BBC News - Sony creates 26 jobs at Pencoed factory to meet demand,哇,生產rpi的英國工廠招募新員工耶,出乎我意料,rpi的銷售強勁,第二年賣的比第一年還多。

Two years of Pi: Units sold and Raspberry startups!,看看這兩年來的銷售統計數字,以及有多少使用Raspberry Pi的商業新創公司。
Raspberry Pi社群聚會 #3,由Raspberry Pi台灣樹莓派主辦。主辦人帶了相機模組(一般與紅外線版),並使用Adafruit PiTFT製作具備觸控螢幕的數位相機,可以到這裡(Phillip Burgess)與這裡(James Wolf)看詳細步驟。希望越辦越大,越來越多人參加,期望下次能有其他人帶自己的作品來。
The Ben Heck Show - Build Your Own Portable Raspberry Pi Part 1 and Part 2,YouTube影片,Ben使用rpi打造掌上型遊戲機,太強了,這可不是隨便用膠帶貼一貼就能搞定的。
Create a retro game console with the Raspberry Pi | How To - CNET,回味古早遊戲吧,使用rpi加上Retro Pie,模擬各種遊戲機,拿著Xbox搖桿回憶兒少時光。
Kano,以rpi為基礎,加上可愛的圖書、專門為小孩打造的系統介面、以及各種引導兒童從玩樂中學習的課程(吞食蛇、Minecraft、Sonic Pi、等等)。開發團隊想必花了不少努力,趕快去下載玩玩看吧。
PiCy Paint | PiBorg,光畫,在相機不動的情況下,讓光(LED裝在車子上)移動,加長曝光時間,就能以光作畫了。
My own domotic deployment summary | Javier Pardo Blasco,數位家庭自動化專案。
SnapPiCam Raspberry Pi Camera | Adafruit Learning System,作者Gregory L Holloway,以相機模組與PiTFT製作數位相機的詳細步驟,相當進階,裡頭含有LiPo電池、充電電路與升壓模組,還可以加裝其他鏡頭,也有地方裝腳架。
Brew perfect beer with help from the @Raspberry_Pi #piday #raspberrypi « adafruit industries blog,LinuxVoice的文章,讓Pi來幫你釀啤酒。
Blowing in the (fetid subway) wind | Raspberry Pi,這應該是洗髮精的廣告吧(不確定),在地鐵裡擺螢幕(裡頭有rpi與感測器),列車進站時,頭髮就會飄揚。

其他還有Scrolling text with a Raspberry Pi and LED Matrix | Mark's space dot com以rpi讓8x8 LED矩陣捲動文字。

2014/03/09

Raspberry Pi兩週年、VideoCore IV釋出OpenGL ES原始碼、2014 Jamboree

回想當初,Raspberry Pi在2012年2月29日正式開賣,當天有10萬片板子的訂單,供不應求,嘿,當天我也是跟大家一樣搶破頭,但過了好幾個月以後,產量才能滿足需求,我也才拿到板子;到如今,Raspberry Pi已經兩歲囉,銷售量也達到2.5百萬,相當驚人。

在這兩年間,Raspberry Pi基金會馬不停蹄,不僅推出相機模組,資助各種與Raspberry Pi相關的軟硬專案,也朝著當初的宗旨前進,也就是「教育」,要把學習電腦科學與程式設計的熱情帶回校園,製作各種教材,

Broadcom釋出圖像處理器VideoCore IV的OpenGL ES 1.1及2.0驅動程式原始碼,採用三條款BSD(3-clause BSD license),不過是給BCM21553用的,還需要進行移植到Raspberry Pi的BCM2835,Raspberry Pi基金會也拿出獎金舉辦競賽,希望有人挺身而出完成移植工作,評判標準就是跑Quake III,競賽辦法在此,有興趣的人也可先看看VideoCore IV的架構文件

BCM2835裡還有很多跟多媒體相關的部分仍未開放原始碼。板子的電路設計也沒有公開,不過根據Eben Upton的解釋(Raspberry Pi marks 2nd birthday with plan for open source graphics driver | Ars Technica),開放這麼高階的資訊,助益甚小,非營利組織的基金會將沒有足夠的收入,也就無法像現在一樣資助許多開源碼專案了,諸如XBMC、PyPy、Wayland、Scratch、WebKit等。

Raspberry Pi的軟體架構(釋出VideoCore IV原始碼之前)。

在教育方面,也有一些學校與老師開始引進Raspberry Pi與相關教材,譬如可看看這段上課實況影片,Carrie Anne Philbin(已加入基金會)的Geek Gurl Diaries - YouTube教學影片與圖文並茂的著作Adventures In Raspberry Pi,提供資源給Hour of Code,也把逐漸累積的學習教材資源放在GitHub上,想必將會越來越豐富。

2014 Jamboree剛剛落幕(2月27、28日),基金會的Ben與Carrie Anne上台演講,述說打入校園與教室的困難處,也說要重新設計網站;14歲的Matthew Timmons-Brown也侃侃而談關於機器人的種種,還把Raspberry Pi包在復古外殼裡,回到BBCMicro的BASIC年代
不過最吸引我目光的是基金會官方即將推出的7吋觸控螢幕(DSI介面),據說大約70美金,不知道什麼時候才會上市啊。
一路走來,Raspberry Pi在全世界各地引起一股風潮,書籍著作、雜誌媒體、部落格分享文、各種專案應用、周邊設備與商業產品、教育資源、等等紛紛出現,著實令人驚訝,不知道接下來的一年、十年又會是怎樣的光景呢。


參考資料:

2014/03/04

Raspberry Pi小玩意兒:Raspbian秀出水族箱(文字介面版)

上次寫了一篇「Raspberry Pi小玩意兒:Raspbian讓牛說Hello World」,有位網友RockShooter Black留言告知,在「動畫演示10個有趣但毫無用處的Linux命令 - Linux - 香港矽谷」可找到更多有趣的東西,真不錯,譬如蒸汽火車、駭客任務、火焰、金屬文字風格等等效果,大都只要下個指令安裝套件即可,非常簡單,但有個文字模式的水族箱asciiquarium,安裝過程較為困難,所以記錄如下。

目標是安裝asciiquarium(以Perl語言撰寫),需要Term-Animation模組,而又需要Curses模組,進而又需要ncurses這套程式庫。

首先安裝ncurses。
$ sudo apt-get install libncurses5-dev

注意:不可安裝libncursesw5-dev。

然後到網頁http://search.cpan.org/~giraffed/Curses-1.33/下載Curses-1.33.tar.gz,並解壓縮:
$ wget  http://search.cpan.org/CPAN/authors/id/G/GI/GIRAFFED/Curses-1.33.tar.gz
$ tar zxvf Curses-1.33.tar.gz

進行設定、編譯並安裝(安裝詳情都在INSTALL檔裡):
$ cd Curses-1.33
$ perl Makefile.PL
$ make
$ sudo make install
(其中make所需時間較長)

然後到網頁http://search.cpan.org/~kbaucom/Term-Animation-2.6/lib/Term/Animation.pm下載Term-Animation-2.6.tar.gz,並解壓縮:
$ wget http://search.cpan.org/CPAN/authors/id/K/KB/KBAUCOM/Term-Animation-2.6.tar.gz
$ tar zxvf Term-Animation-2.6.tar.gz

進行設定、編譯並安裝(安裝詳情都在README檔裡):
$ cd Term-Animation-2.6
$ perl Makefile.PL
$ make
$ make test
$ sudo make install

最後下載asciiquarium,解壓縮、放到執行路徑裡,並修改權限:
$ wget http://www.robobunny.com/projects/asciiquarium/asciiquarium.tar.gz
$ tar zxvf asciiquarium.tar.gz
$ cd asciiquarium_1.1
$ sudo cp asciiquarium /usr/local/bin
$ sudo chmod 0755 /usr/local/bin/asciiquarium

最後執行
$ asciiquarium

就可以看到文字模式的水族箱囉。

魚兒魚兒水中游。
如果想看動態效果的話,請到YouTube觀賞影片ASCIIQuarium - Sea Animation on Linux / Unix Desktop in ASCII Art,從3:30開始。

asciiquarium作者還有另一個專案,叫做weatherspect,可顯示天氣、風速、濕度,安裝過程類似:

$ wget http://robobunny.com/projects/weatherspect/weatherspect.tar.gz
$ tar zxvf weatherspect.tar.gz
$ cd weatherspect_v1.11
$ sudo cp weatherspect /usr/local/bin
$ sudo chmod 0755 /usr/local/bin/weatherspect

最後執行
$ weatherspect

第一次執行時,會問你住在哪個地方,可填入城市名。然後便可看到類似如下的畫面。

參考資料:

2014/03/01

Raspberry Pi情報彙整(21)

我將網路上看到的、感興趣的、跟Raspberry Pi相關的資訊收集如下。如果您發現任何新奇驚人的新聞或專案,還請留言告知。

Code Club Pro: a training programme to support primary school teachers,Raspberry Pi的目標在於「教育」,將學習電腦科學與程式設計的課程引入教育系統,這可不是弄出一塊硬體開發板、選定一支程式語言、寫寫一堆教材就了事的任務,其中最重要的一環便是「教師」,而Code Club Pro正是提供此種教育訓練的組織。

Serial interest in the Raspberry Pi | DJ's Weblog透過USB轉RS-232序列埠連接超古老的Wyse WY-30終端機、VT220 terminal, meet Raspberry Pi | Fix My Bugs直接使用GPIO的TX/RX經由MAX3232連接VT220,Raspberry Pi基金會在Twitter推文,秀出一台老舊的類比TV並連接Pi,於是許多人也紛紛拍照上傳。另外,也有人讓古老終端機ADM3A起死回生
PlayPi - Make Your Own Sound!,漸進式編曲機(step sequencer)。實際運作時的影片
Raspberry Pi Cluster | Like Magic Appears!,40塊Pi組成的超級電腦運算叢集。我也好想要啊!
Enginursday: Time-lapse with the Raspberry Pi Pt. 2上一篇介紹了縮時攝影,這次則運用適合夜間攝影的NoIR相機模組,加上IR LED照明並找出適當的曝光。
The Raspberry Pi case designed by Apple,把Apple Magic Mouse包裝盒稍微改造一下,就變成超有質感的Raspberry Pi外殼囉。
Raspberry Pi Fridge Minder: receive an email when the door is opened,Dr. Monk的新分享文章,偵測冰箱門是否忘記關,自動傳email給你。
How to build a wireless motion sensor for your Raspberry Pi,無線動作偵測器。
Making Fun: Mission Control Desk | MAKE,嘿,寫完功課才可以操縱這個控制中心喔。可以毀滅整個世界嗎?
Raspberry Pi WiFi Radio | Adafruit Learning System,Adafruit提供非常詳實的步驟以及所有需要的硬體零件,線上聆聽網路串流媒體服務。不過好像是針對Pandora而來,美國澳洲紐西蘭以外的國家無法存取。
Raspberry Pi LED Spectrum Analyzer,加上一堆LED,即時分析聲音各頻帶的響度,也是由Adafruit提供。
Raspberry Pi Design Contest | MAKE,MAKE舉辦的設計競賽,去看看有哪些專案、點子、以及得獎作品吧。

其他還有Connecting an Arduino to a Raspberry PI using I2CRaspMap可查詢板子上的各元件、Develop Java Applications Using a Raspberry Pi由Oracle提供的線上課程、。