[新聞] 中原大學105學年第2學期三學分樹莓派課程(Raspberry Pi)

2017_CYCU_IM_GPIO_Camera_IoT
圖片來源:中原大學開課查詢系統

很高興我們今年在中原大學資管系開設了三個學分的課程,特別感謝洪主任、林老師與賴老師的幫忙,還有辛苦的沈小姐等人才能順利開設成功。

我們之前在很多學校都有帶實做的課程,但這次會有比較長的時間可以進行更完整的教學活動。更多進階內容分別簡介如下(中文英文標題可能不太符合,以英文為主)。

1. 樹莓派程式設計與實作(Raspberry Pi GPIO and Administration Tutorial)

內容將涵蓋 Linux 系統管理與 Raspberry Pi GPIO 介紹。兩天的課程將會實做一個體感遊戲機。

1) Raspberry Pi 環境設定
2) Linux 基本管理(使用者帳號、檔案權限、壓縮與打包、程序管理)
3) Linux 網路管理(系統服務、軟體安裝與管理、開機流程介紹)
4) GPIO 介紹
5) 數位輸出和輸入
6) 類比輸出和輸入
7) 系統整合

 

2. 樹莓派機器人應用(Raspberry Pi Camera + Robot)

內容將涵蓋 Raspberry Pi Camera 使用與 OpenCV 應用。兩天的課程將會實做雲端相機與自駕車(寵物小車的進階版)。

課程綱要如下:
1) Raspberry Pi Camera簡介
2) 基礎 Camera 使用(用 Python 控制、用硬體控制、串接網路服務)
3) 進階 Camera 使用(人臉偵測、影像串流)
4) 馬達、小車組裝與控制
5) 數位影像處理與 OpenCV
6) 自駕車實做

 

3. 物聯網整合應用與實作(Raspberry Pi Wireless and Sensor Integration)

內容將涵蓋 Arduino + XBee + Raspberry Pi + Bluetooth 與網路服務的整合性應用。兩天的課程將會實做生理資訊監控的 IoT 簡易架構。

課程綱要如下:
1) XBee 簡介
2) XBee 設定與控制實做
3) Arduino開發環境介紹
4) Raspberry Pi和Arduino雙向通訊
5) 生理資訊讀取
6) 雲端網路服務串接與系統整合

我們將持續設計課程,希望結合大學資訊教育,把 Raspberry Pi 融入到理論與實務中。課程用到的投影片和範例程式,也都會放在 slidesharegithub

[測試] OpenCV on UP board

upboard

承蒙研揚科技公司好意,贈送一塊 UP board

有關開箱與安裝可參考以下幾篇文章:
* UP board:開箱與基本介紹
* [開箱] UP Board 開發板:可跑 Windows 10,世界最小 x86 PC
* [試用] 真的能跑 Windows 10 的開發板 – UP Board

由於 UP Board 所使用的 CPU 為 Intel Atom x5-Z8350,在 Intel 網站的規格為 64 位元 4 核心,時脈可達 1.92 GHz。乍看之下是比 Raspberry Pi 3 的處理速度快上不少,但 ARMX86 是不同架構,而且操作上的反應速度除了和時脈有關,不同的執行條件也會有差異。

我們使用 Python OpenCV 測試。只要輸入 sudo apt-get install python-opencv 就可以安裝有 Python binding 的 OpenCV

UVC(USB Video Class)就是 USB device class 視訊裝置在不需要安裝任何的驅動程式下隨插即用,包括網路攝影機(Webcam)、數位攝影機(Digital Camcorders)、類比影像轉換器(Transcoders)、電視卡(TV Receiver Card)等。而在 Linux 上如果有一個支援 UVC 的 Webcam 插到 USB,就會向 Kernel 註冊為 Webcam 設備,裝置節點為 /dev/videoX

V4L2(Video4Linux 2nd)是一套 Linux 針對視訊設備(例如 Webcam)所定義好的 Userspace API,因此硬體廠商只要能實做 API 的功能,就能讓使用者透過統一的介面控制硬體。如此一來上層的使用者就即使不知道硬體的廠牌與底層的實做方法,只要知道呼叫相同的函式就能得到相同的結果,如下圖。

v4l2圖片來源:Multimedia in embedded Linux systems

在 Raspberry Pi 上使用 Webcam 偵測人臉的程式(camera_face_detect.py)如下。需先下載 haarcascade_frontalface_default.xml 後和 camera_face_detect.py 一起執行,例如 python camera_face_detect.py haarcascade_frontalface_default.xml

#!/usr/bin/python                                  
#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#|R|a|s|p|b|e|r|r|y|P|i|.|c|o|m|.|t|w|
#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#
# camera_face_detect.py
# Face detect from camera
#
# Date   : 06/22/2014
# Usage  : python camera_face_detect.py haarcascade_frontalface_default.xml

import cv2
import sys
import time

cascPath = sys.argv[1]
faceCascade = cv2.CascadeClassifier(cascPath)

cap = cv2.VideoCapture(0)
cap.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH,  640)
cap.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 480)

while True:
    # Capture frame-by-frame
    before = time.time()
    ret, frame = cap.read()

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    faces = faceCascade.detectMultiScale(
        gray,
        scaleFactor=1.1,
        minNeighbors=5,
        minSize=(30, 30),
        flags=cv2.cv.CV_HAAR_SCALE_IMAGE
    )

    after = time.time()
    print "Found {0} faces!, fps= {1}".format(len(faces), round(1/(after-before), 1))

    # Draw a rectangle around the faces
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)

    # Display the resulting frame
    cv2.imshow("preview", frame)

    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

# When everything is done, release the capture
cap.release()
cv2.destroyAllWindows()

在沒有硬體加速的情況下,視訊從 Webcam 取得後就完全由 CPU 處理。程式中的 cv2.VideoCapture(0) 表示從 /dev/video0 取得 VideoCapture 物件,之後就可以透過 .set 或是 .read 等標準的 V4L2 API 存取 Webcam。

而人臉偵測在 OpenCV 中最常使用的方法為 Haar Feature-based Cascade Classifier,原理與使用可參考 Raspberry Pi Camera + Python 的介紹。

這次用的是 Microsoft LifeCam VX-800(圖右),動態攝影解析度為 30 萬像素(640×480 pixels)。產品規格書下載

raspberrypi_upboard_microsoft_1407

每個從 Webcam 取回的 frame 都會用 faceCascade.detectMultiScale 做人臉偵測的判斷,如果有找到則會用 cv2.rectangle 將人臉標示出來,並印出找到幾個人臉與 FPS(Frame per Second)。

face
圖片來源:Face Detection using Haar Cascades

架設的環境如下,左邊綠色的 pi-topCEED負責播影片,而 UP Board 接上 LifeCam VX-800 就執行人臉偵測,為了能即時顯示找到的人臉,就接上給奇創造On-Lap 1002 攜帶式螢幕。

raspberrypi_upboard_test_theme

測試的結果,在 640×480 的解析度下,使用 UP Board 做人臉辨識大概為 3-4 FPS。當然如果不將結果畫出來或是沒有啟動 X-Window 的情況下一定會有更好的結果。

upboard_opencv_v4l2

相同的測試條件在 Pi 3 大概只剩下 1 FPS。

raspberrypi_opencv_v4l2

由 UP Board 跑 OpenCV 的影片和在 Pi 3 跑 OpenCV 的影片,可看出在這個情境下 UP Board 的處理速度大概是 Pi 3 的四倍左右。

[產品] Raspberry Pi 3 壓克力雙色堆疊外殼

Raspberry Pi 3 壓克力雙色堆疊外殼
SONY DSC

《特色》
* 適用於 Pi 3 / Pi 2
* 本產包含:五片壓克力 + 四組金屬螺絲

《規格》

顏色: 黑色x透明
材質: 壓克力
尺寸: 92 x 62 x 15.5mm
重量: 50g

$ 350



Raspberry Pi 3 壓克力雙色堆疊外殼(附風扇)
SONY DSC

《特色》
* 適用於 Pi 3 / Pi 2
* 本產包含:六片壓克力 + 四組金屬螺絲 + 風扇

《規格》

顏色: 黑色x透明
材質: 壓克力
尺寸: 92 x 62 x 17.5mm
重量: 70g

$ 400(附風扇)


* 注意:本外殼不包含 Raspberry Pi 主板

《相關》
* [產品] Model B Pi 3 原廠授權透明外殼
* [產品] Official Model B Pi 3 紅白雙色外殼
* [產品] Raspberry Pi 3 Model B + 外殼 + 5V/2.5A電源組

[產品] Windows 10 IOT 物聯網入門與實戰(柯博文)/學習套件

win10-iot-learning-kit-2-serial-s

《特色》
- 實體書 “Windows 10 IOT物聯網入門與實戰 – 使用 Raspberry Pi” 學習套件

《規格》

1. 400洞中型麵包板 x1 8. 10KΩ電阻 x1 15.切換式開關(三腳) x1
2. SG90伺服馬達 x1 9. 光敏電阻 x1 16. LED紅色(3mm) x8
3. 七段式LED數字燈 x1 10. 水銀開關(元件) x1 17. 0.1µF電容x1
4. HC-SR04超音波感測器 x1 11. RGB LED(元件) x1 18. 150pf電容x1
5. 10KΩ可變電阻 x1 12. USB轉UART TTL x1 19. 74HC595 IC x1
6. 220Ω電阻 x14 13. ADXL345模組 x1 20. ADC0804 IC x1
7. 3.9KΩ電阻 x1 14. 小按鍵開關 x1 21. 20cm公對母排線 x20

注意:此組合不含控制板及F-60藍牙模組

學習套件 
$ 750

 

AEH003500-s
書搭套件合購 $ 1330 
$ 1250

[產品] Raspberry Pi 寵物小車學習套件

SONY DSC

《特色》
- 8 小時工作坊課程(MakerConf 2016Raspberry Pi 寵物小車使用教材)。
- 可根據自訂顏色讓小車移動跟蹤。
- 從 19 個實驗介紹:GPIO 控制、馬達控制、小車組裝與控制、Raspberry Pi Camera 介紹、基礎 Camera 使用、數位影像處理與 OpenCV。

《規格》
1. 單層自走車底盤(含二輪跑車胎 + 一萬向輪 + 二馬達 + 螺絲組) x1
2. L298N 馬達驅動板 x1
3. 5MP Camera for Raspberry Pi x1
4. 180 洞小型麵包板 x1
5. 1KΩ 電阻(1/4W) x1
6. 1N4004 二極體 x1
7. 16m/m 可變電阻 10Kx1
8. TIP120 電晶體 x1
9. 5mm LED x1
10. 架高螺絲組(螺絲母x4 + 塑膠架高螺絲 x4 + 圓頭螺絲 x4) x1
11. 公對母排線(20cm)x2, 母對母排線(20cm)x4

《教學》
Raspberry Pi 寵物小車 from raspberrypi-tw

《範例程式》
* https://github.com/raspberrypi-tw/pi-follower-car

《下載》
* 狗公仔外型(需自行調整大小)

$ 1,400

[活動] MakerConf 2016 @ 2016/09/03

makerconf-2016_large

報名:MakerConf 2016

我們和幾位社群朋友還有開放文化基金會一起合辦的 MakerConf 終於出爐了
http://makerconf.tw/

報名頁面
http://makerconf.kktix.cc/events/201609-workshop

舉辦日期
- 2016 年 9 月 3 日(週六)

舉辦地點
- 中央研究院學術活動中心/ 115台北市南港區研究院路二段128號

工作坊主題
- ESP8266與Node.js物聯網開發實作網昱多媒體 趙英傑
- Raspberry Pi 寵物小車台灣樹莓派 sosorry
- 藍芽四軸飛行器DIYArkLab 多旋翼工坊
- RealTek Ameba IoT實作工作坊:柯大

報名費用
- 依不同工作坊不同價格

報名:MakerConf 2016

[產品] Pimoroni 7吋觸控螢幕邊框與站立架

Frame-for-the-Raspberry-Pi-7-Touchscreen-Display

《特色》
- 三層式的外殼設計,可提供 7″ 螢幕絕佳的保護。
- 兩側支架可提供最佳視角。
- 介面外露,因此仍可以使用 GPIO。
- 不需要額外的工具就可以組裝完畢。

《規格》
- 壓克力外框 x3
- 固定片 x2
- 固定支架 x2
- 固定螺絲 x4
* 注意:本外殼不包含 螢幕及Raspberry Pi

《教學》
- 組裝指引

$ 550

 

Raspberry Pi 7″ 觸控螢幕 合購。
official-raspberry-pi-7-inch-touchscreen-display-with-pimoroni-case

《規格》
1. Official Raspberry Pi 7″ Touchscreen Display x1
2. Pimoroni 7吋觸控螢幕邊框與站立架 x1

$ 3,600

[新聞] Raspberry Pi Zero 釋出


圖片來源:RASPBERRY PI ZERO: THE $5 COMPUTER

Raspberry Pi Zero 出來了,價格喊出震撼性的 5 美元。

《特色》
* Broadcom BCM2835 ARMv6 system-on-a-chip, running at up to 1GHz
* 512MB on-board RAM
* Unpopulated 40pin GPIO for added flexibility
* MicroSD port for OS and storage
* Micro USB power input
* 1x Micro USB Data port and Mini HDMI Port

圖片來源:Introducing the Raspberry Pi Zero
 

《改變的部份》
1.減少的元件。乙太網路插槽、類比音訊輸出埠(耳機孔)、AV 端子(RCA)輸出埠、CSI 埠(相機)、DSI 埠(螢幕)等。

2.外型與尺寸。長寬高為 65 x 30 x 5mm,大約是 Model A+ 體積的 55%。

圖片來源:Raspberry Pi Zero FREE on the cover of this month’s MagPi magazine.

3.處理器與速度。雖然採用相同的 BCM2835 應用處理器,但是核心頻率提升到 1 GHz,比一代的 Pi 速度快 40%。

4.Micro SD 卡插槽。原本使用 “push-push” 的插拔方式,現在改為 “push-pull” 的使用方法。

5.視訊輸出。原本使用標準 HDMI 連接埠,現在改為 Mini-HDMI 連接埠。如果需要複合影像輸出,需自行焊接 TV 腳位如下圖 logo 旁的孔位。

圖片來源:A Tour of the Pi Zero

6.無音訊輸出。原本使用 3.5mm jack 的類比音訊輸出埠,現在已經拿掉。
 

《兩代快速比較》

Model B+ Raspberry Pi Zero
SoC: Broadcom BCM2835 Broadcom BCM2835
CPU: 700 MHz ARM1176JZF-S single-core 1 GHz ARM1176JZF-S single-core
GPU: Videocore IV Videocore IV
RAM: 512 MB SDRAM 512 MB SDRAM
Storage: microSD microSD
USB 2.0: 4x USB Ports 1x USB Ports
Power Ratings: 600 mA(3.0 W) 160 mA(0.8 W)
GPIO: 40 pin 40 pin(unpopulated)
Ethernet: 1x 10/100mb Ethernet RJ45 Jack None
Dimensions: 85 x 56 x 17mm 65 x 30 x 5mm
Weight: 42g 9g

 

《你應該知道的事》
1.要使用新版本(2015-11-21)的 Raspbian image 才能使用。release notes 如下:

2015-11-21:
  * Included IBM Node-RED IoT application
  * Included graphical package manager
  * Included accelerated pixman library
  * Updated Epiphany browser to improve video compatibility
  * Updated Scratch with performance improvements and bug fixes
  * Updated Raspberry Pi configuration to allow boot to pause while
    network is established
  * Various minor bug fixes

2.因為減少元件數量(例如乙太網路與複合影像埠,也沒有 CSI 和 DSI 輸入),所以可以讓體積縮小與價格降低。

3.雖然主板價格降低,但因為視訊輸出採用 Mini-HDMI 連接埠,USB 採用 micro-USB 接頭,所以如果搭配週邊(例如 Mini-HDMI 轉 HDMI 轉接頭,OTG 傳輸線與 USB Hub)購買後,體積也不會小價格也不會低了。

4.沒有乙太網路插槽,因此要使用網路需要花費一些功夫

5.如果需要使用 GPIO 需自行焊接如下圖(可選擇2×20 公頭或是 2×20 母插座),這將會增加設備成本與使用困難度。
raspberry-pi-zero-gpio-options
圖片來源:Introducing the Raspberry Pi Zero

6. 第 40 期的紙本 MagPi 附了一台 Raspberry Pi Zero

 

相關新聞:
* RASPBERRY PI ZERO: THE $5 COMPUTER
* Raspberry Pi Zero FREE on the cover of this month’s MagPi magazine.
* Raspberry Pi Zero, Pi 2, B+, A+, Compute Module Dev Kit Comparison Chart

我們即將開賣。

[產品] Official Raspberry Pi 7″ Touchscreen Display

the-official-raspberry-pi-7-inches-touchscreen-display

《規格》
- 7″ 觸控螢幕(touch screen)顯示 x1
- 轉接板 x1
- DSI 排線 x1
- 螺絲柱與螺絲 x4
- 母對母杜邦線 x4

《技術參數》
* 液晶面板:7″,800 x 480 @60fps,24-bit colour
* 觸控面板:FT5406 十指電容觸控
* 輸入介面:DSI
* 整體尺寸:194mm x 110mm x 20mm
* 整體重量:277g
* 功耗:2.23 Watt

《特色》
* 電容觸控
* 使用 DSI 接頭
* 可以從螢幕驅動板供電給 Pi
* Model A/A+/B/B+/Pi 2/Pi 3 都適用,但 Model A/B 因為孔位不同無法固定

《教學》
- 安裝教學指引,如果螢幕不顯示可試著將排線翻面後重開機(來源:element14)
- TROUBLESHOOTING

《新聞》
- [新聞] Official Raspberry Pi 7 吋觸控螢幕

$ 3,150

《合購》
* ModMyPi – 7″ 觸控螢幕外殼與站立架
* Pimoroni 7吋觸控螢幕邊框與站立架
* Raspberry Pi 7吋觸控螢幕外殼

[產品] Raspberry Pi 2 Model B

Raspberry-Pi-2-Model-B

《規格》

SoC: Broadcom BCM2836
CPU: 900 MHz;Quad-core ARM Cortex-A7
GPU: Dual Core VideoCore IV® Multimedia Co-Processor; Open GL ES 2.0; hardware-accelerated OpenVG; 1080p30 H.264 high-profie decode
記憶體: 1GB LPDDR2(和 GPU 共享)
視訊輸出: Composite RCA; HDMI
音訊輸出: 3.5 mm jack; HDMI(1.3 & 1.4)
儲存: microSD
USB: USB 2.0 x 4
Ethernet: 10/100 RJ45
GPIO: 40-pin 2.54 mm (100 mil) expansion header: 2×20 strip
工作電流: 700 mA
尺寸: 85mm x 56mm x 17mm
重量: 42g

《新聞》
- [新聞] Raspberry Pi 2 – Model B 釋出

《下載》
- BCM2836 ARM-local peripherals
- Cortex-A7 MPcore Processor Reference Manual

《相關》
- [產品] Raspberry Pi Model B+ 512MB
- [產品] Raspberry Pi Model A+ 256MB RAM
- [產品] UK製Raspberry Pi Rev 2 Model B 512MB
- 周邊(外殼/電源/SD卡/無線網卡/轉接頭)

$ 1680

[新聞] Raspberry Pi 2 – Model B 釋出

Raspberry Pi 2 Model B
圖片來源:RASPBERRY PI 2 ON SALE NOW AT $35

Raspberry Pi 2 出來了,與 Raspberry Pi 1 最大的改變是換了 SoC,由 BCM2835 改成 BCM2836,也因此舊版本的 firmwarekernel 將無法適用,必須更新到最新版本

raspberry-pi-2-model-b-multiple-views
圖片來源:Introducing the Raspberry Pi 2 – Model B

《新的 SoC BCM2836》
1. 900MHz quad-core ARM Cortex-A7 CPU,大約有 6 倍的效能提昇。
2. 1GB LPDDR2 SDRAM。
3. 捨棄 PoP(package-on-package),而是將處理器和記憶體分別焊在板子的正反兩面。
4. 因為採用 quad-core ARMv7 的處理器,所以會有較高的功耗。

《對 OS 的影響》
但因為採用了 ARMv7 的處理器,因此可執行更多的 ARM GNU/Linux 版本,例如過去採用 ARMv6 指令集而無法執行 Ubuntu,現在也可以在 Raspberry Pi 2 上跑 Snappy Ubuntu Core。甚至可支援 Microsoft Windows 10,並且是免費提供給 Makers

《沒有改變的部份》
1. 和 Model B+ 一樣的外型與尺寸。
2. PCB 板固定螺絲開孔處相同。
3. USB、Ethernet、A/V、HDMI、micro SD 和 microUSB 位置相同,尺寸也相同。
4. Camera、Display 和 40-pin GPIO 位置也相同。

《兩代快速比較》

Model B+ Raspberry Pi 2
Processor Chipset: Broadcom BCM2835 ARMv6 Broadcom BCM2836 ARMv7 Quad Core Processor
GPU: Videocore IV Videocore IV
Processor Speed: Single Core @700 MHz QUAD Core @900 MHz
RAM: 512 MB SDRAM @ 400 MHz 1GB SDRAM @ 450 MHz
Storage: microSD microSD
USB 2.0: 4x USB Ports 4x USB Ports
Power Draw / Voltage: 1.8A @ 5V 1.8A @ 5V
GPIO: 40 pin 40 pin
Ethernet Port: Yes Yes
Dimensions: 85 x 56 x 17mm 85 x 56 x 17mm
Weight: 42g 42g

新版本(2015-01-31)的 Raspbian 也一併釋出。release notes 如下:

2015-01-31:
  * Support for Pi2
  * Newer firmware
  * New Sonic Pi release
  * Updated Scratch
  * New Wolfram Mathematica release
  * Updated Epiphany

 

常見問與答:

Raspberry Pi 1 Model B 和 Model B+ 會終止嗎?
目前不會。並且還有許多企業用戶為了穩定,是採用 Model BModel B+ 的版本,我們會盡量維持他們的需求。

Raspberry Pi 2 Model A 什麼時候會出?
大概是 2015 年底。

那 Compute Module 呢?
未來將會釋出 BCM2836 版本的 Compute Module。

相關新聞:
* RASPBERRY PI 2 ON SALE NOW AT $35
* Introducing the Raspberry Pi 2 – Model B
* Raspberry Pi 2 – the New Quad-core A7 Pi2

我們已經開賣。
- [產品] Raspberry Pi 2 Model B (現貨)
- [產品] Raspberry Pi 2 Model B + microSD卡 + 5V/2A電源組
- [產品] Raspberry Pi 2 Model B + 外殼 + 5V/2A電源組

[產品] Raspberry Pi Model A+ 256MB RAM

raspberry-pi-model-a-plus

規格與 Model A 相同,不同處如下:
* 5V 電源供應增加了一個 2A 的保險絲,因此新版可熱插拔 USB。
* 40 個 GPIO 腳位(原為 26 個腳位)。
* Composite (NTSC/PAL) 視訊輸出和 3.5mm 耳機插孔整合在一起。
* 使用 microSD 卡做為儲存設備(原為 SD 卡)。
* 電路板邊緣做導角設計。
* 將多個接頭移到同一側。
* 更省電(原工作電流為 300mA)。

《規格》

SoC: Broadcom BCM2835
CPU: 700 MHz;ARM1176JZF-S core
GPU: Broadcom VideoCore IV; OpenGL ES 2.0; MPEG-2 and VC-1; 1080p30 h.264/MPEG-4 AVC
記憶體: 256MB SDRAM(和 GPU 共享)
視訊輸出: 3.5 mm jack; HDMI(1.3/1.4)
音訊輸出: 3.5 mm jack; HDMI
儲存: microSD
其他周邊: USB 2.0 x 1; 無Ethernet RJ45
低階週邊: GPIO x17; UART; I²C; SPI; I²S audio; +3.3 V; +5 V; ground
工作電流: 200 mA
尺寸: 65mm x 56mm
重量: 23g

《新聞》
- [新聞] Raspberry Pi Model A+ 釋出

《相關》
- [產品] Adafruit Pi Protector for Raspberry Pi Model A+
- 周邊(外殼/電源/SD卡/無線網卡/轉接頭)

$ 950

[新聞] Raspberry Pi Model A+ 釋出

model-a-plus-top
圖片來源:RASPBERRY PI MODEL A+ ON SALE NOW AT $20

Model A 的規格一樣,但是做的更小而且更省電。此外,一些和 Model B+ 相同的改變,包括有:
- 更多的 GPIO 腳位(40 pins),並相容於 HAT 標準
- 使用 microSD 取代原來的 SD 卡。
- 更好的音效輸出。

model-a-plus-side
圖片來源:RASPBERRY PI MODEL A+ ON SALE NOW AT $20

技術規格如下:
• 700MHz Broadcom BCM2835 CPU
• 256MB RAM
• 40pin extended GPIO
• 1 x USB 2.0 port
• 4 pole Stereo output and Composite video port
• Full size HDMI socket
• CSI camera port (Raspberry Pi camera module)
• DSI display port (Raspberry Pi touch screen display)
• Micro SD port
• Micro USB power connector
• 4 mounting holes
• Size : 65mm x 56mm
• Weight : 23g

我們已經開賣

新聞來源:RASPBERRY PI MODEL A+ ON SALE NOW AT $20

[產品] Model B+ + 16G microSD卡 + 5V/2A電源組

Pi-Plus-micro16G-PSU

《規格》
1. Raspberry Pi Model B+ 512MB x1
2. SanDisk Ultra microSDHC Class10 16G 48MB/s microSD卡 x1
3. 5V/2A USB 電源轉換器 + microUSB 傳輸線 升級為 5V/2.5A 電源轉換器 x1

《相關》
- [產品] EDIMAX EW-7811Un 無線網卡
- [產品] EW-7822UAn 300Mbps 長距離高速 USB 無線網卡
- [產品] HDMI 轉 VGA 轉換器(帶音訊)
- [產品] PL2303HXD USB轉TTL傳輸線
- [產品] 3.5mm轉RCA傳輸線

$ 2,100 2,030

[產品] Model B+ + 原廠授權外殼 + 5V/2A電源組

B-Plus-Case-PSU

《規格》
1. Raspberry Pi B+ 512MB x1
2. 原廠授權外殼(透明/黑色)任選 x1
3. 5V/2A USB 電源轉換器 + microUSB 傳輸線 x1

$ 2,100 (透明)

$ 2,100 (黑色)

《相關》
- [產品] SanDisk Ultra microSDHC Class10 8G 48MB/s
- [產品] SanDisk Ultra microSDHC Class10 16G 48MB/s
- [產品] EDIMAX EW-7811Un 無線網卡
- [產品] EW-7822UAn 300Mbps 長距離高速 USB 無線網卡
- [產品] HDMI 轉 VGA 轉換器(帶音訊)
- [產品] PL2303HXD USB轉TTL傳輸線
- [產品] 3.5mm轉RCA傳輸線

[產品] Raspberry Pi Model B+ 512MB

Pi-Model-B-Plus-512MB

規格與 Model B 相同,不同處如下:
* 5V 電源供應增加了一個 2A 的保險絲,因此新版可熱插拔 USB。
* 新的 USB/Ethernet 控制晶片。
* 4 個 USB 埠(原為 2 個埠)。。
* 40 個 GPIO 腳位(原為 26 個腳位)。
* Composite (NTSC/PAL) 視訊輸出和 3.5mm 耳機插孔整合在一起。
* 使用 microSD 卡做為儲存設備(原為 SD 卡)。
* 電路板邊緣做導角設計。
* 將多個接頭移到同一側。

更多資訊請看 新聞

技術文件下載
* Connector Schematic
* Mechanical Schematic
* Raspberry Pi Model B+ specs

$ 1600

[新聞] Raspberry Pi Model B+ 釋出

BplusLES
圖片來源:Meet the Raspberry Pi B+

下一版的 Raspberry Pi 出來了,新的硬體功能如下:
1. 增加了 GPIO ,由 26 個增加到 40 個。
2. 增加了 USB ,由 2 個 USB 2.0 增加到 4 個 USB 2.0。
3. 使用 microSD 取代原來的 SD 卡。
4. 更低的電源功耗。原來為 750mA ,新版為 600 mA。
5. 更佳的音效輸出。
6. 將聲音輸出和影像輸出的界面移到同一邊。

技術規格如下:
• 700MHz Broadcom BCM2835 CPU with 512MB RAM
• 40pin extended GPIO
• 4 x USB 2 ports
• 4 pole Stereo output and Composite video port
• Full size HDMI
• CSI camera port for connecting the Raspberry Pi camera
• DSI display port for connecting the Raspberry Pi touch screen display
• Micro SD port for loading your operating system and storing data
• Micro USB power source

不過傳聞會內建的藍牙和無線網路還是沒包進來,可惜。

我們即將已經開賣,訂購頁面

新聞來源:NEW PRODUCT LAUNCH! INTRODUCING RASPBERRY PI MODEL B+

[進階] 安裝 Raspberry Pi 的 Toolchain

Toolchain 是一套能讓你編譯、連結、除錯程式的軟體,例如 GCCLDGDBAS glibc 等。

假設我們寫了一個 hello.c 的程式要在個人電腦上執行,我們只要打 gcc hello.c 就可以將 hello.c 編譯成 x86 架構的可執行檔。

由於 Raspberry Pi 上的處理器是 ARM 架構的,因此要將同樣的 hello.c 在 Raspberry Pi 執行,必須將程式編譯成 ARM 架構的可執行檔。

我們有兩個選擇,第一是直接在 Raspberry Pi 上編譯。第二是先在我們的個人電腦用 Raspberry Pi 的 toolchain 編譯完成後,再上傳到 Pi。

這裡簡介如何在個人電腦安裝 Raspberry Pi 的 toolchain,以在 ubuntu 上安裝 gcc-linaro-arm-linux-gnueabihf-raspbian 為例。

1. 在個人電腦安裝必要的套件。

sosorry@ubuntu:~$ sudo apt-get install make git-core ncurses-dev

2. 下載最新版的 toolchain。

sosorry@ubuntu:~$ mkdir rpi
sosorry$ubuntu:~$ cd rpi
sosorry@ubuntu:~/rpi$ git clone https://github.com/raspberrypi/tools.git
remote: Reusing existing pack: 17273, done.
remote: Total 17273 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (17273/17273), 311.52 MiB | 343 KiB/s, done.
Resolving deltas: 100% (11698/11698), done.
Checking out files: 100% (15860/15860), done.

3. 安裝 toolchain。安裝方法是將 gcc-linaro-arm-linux-gnueabihf-raspbian 加到環境變數裡。

sosorry@ubuntu:~/rpi$ vi ~/.bashrc
export PATH=$PATH:/home/sosorry/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin   # add this line at the end of file

4. 測試。先開啟一個新的終端機,輸入 arm 後連續按兩次 tab 鍵,如果跑出來一堆像下面的提示表示安裝成功。

arm-linux-gnueabihf-addr2line        arm-linux-gnueabihf-gcc              arm-linux-gnueabihf-gfortran         arm-linux-gnueabihf-objdump
arm-linux-gnueabihf-ar               arm-linux-gnueabihf-gcc-4.7.2        arm-linux-gnueabihf-gprof            arm-linux-gnueabihf-pkg-config
arm-linux-gnueabihf-as               arm-linux-gnueabihf-gcc-ar           arm-linux-gnueabihf-ld               arm-linux-gnueabihf-pkg-config-real
arm-linux-gnueabihf-c++              arm-linux-gnueabihf-gcc-nm           arm-linux-gnueabihf-ld.bfd           arm-linux-gnueabihf-ranlib
arm-linux-gnueabihf-c++filt          arm-linux-gnueabihf-gcc-ranlib       arm-linux-gnueabihf-ldd              arm-linux-gnueabihf-readelf
arm-linux-gnueabihf-cpp              arm-linux-gnueabihf-gcov             arm-linux-gnueabihf-ld.gold          arm-linux-gnueabihf-size
arm-linux-gnueabihf-elfedit          arm-linux-gnueabihf-gdb              arm-linux-gnueabihf-nm               arm-linux-gnueabihf-strings
arm-linux-gnueabihf-g++              arm-linux-gnueabihf-gdbtui           arm-linux-gnueabihf-objcopy          arm-linux-gnueabihf-strip

讓我們實際寫一個 hello.c 並編譯它吧。

sosorry@ubuntu:~/rpi$ vi hello.c
#include <stdio.h>
int main()
{
	printf("hello, world\n");
        return 0;
}

用 Raspberry Pi 的 toolchain 編譯 hello.c。這一步驟稱為交叉編譯(cross-compiling)。

sosorry@ubuntu:~/rpi$ arm-linux-gnueabihf-gcc hello.c -o hello-arm

讓我們看看檔案的資訊,可以看到該檔案是 ARM 的格式。

sosorry@ubuntu:~/rpi$ file hello-arm
hello-arm: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, not stripped

如果我們在 x86 環境下試著執行會發現無法成功。

sosorry@ubuntu:~/rpi$ ./hello-arm 
bash: ./hello-arm: cannot execute binary file

我們把 hello-arm 上傳到我們的 Pi,假設 IP 為 192.168.1.2。

sosorry@ubuntu:~/rpi$ scp hello-arm pi@192.168.1.2:/home/pi
pi@192.168.1.2's password: 
hello-arm                                                                                                                             100% 5447     5.3KB/s   00:00

在我們的 Pi 上執行,看看結果吧。

pi@raspberrypi:~$ ./hello-arm
hello, world

 

常見問與答:

1. 為什麼要在個人電腦上安裝 toolchain?
因為個人電腦的處理速度通常高於 Raspberry Pi ,因此如果要開發比較大的專案(例如編譯核心),建議在個人電腦上處理,才不會等等等等。實務上在嵌入式系統的開發過程中,目標機器通常不會有 toolchain,因此常常會需要先在開發環境上將專案交叉編譯後再燒到目標機器。

2. 為什麼要安裝 gcc-linaro-arm-linux-gnueabihf-raspbian?
因為在 userland README.md 告訴我們的。

This repository contains the source code for the ARM side libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib and includes source for the ARM side code to interface to: EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG.

Use buildme to build. It requires cmake to be installed and an arm cross compiler. It is set up to use this one: https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian

3. 如果個人電腦(主機端)是 64 位元的要裝那個版本的 toolchain?
要使用 tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin 目錄下的執行檔,也就是將該路徑加入環境變數即可。