[新聞] NanoSound技術總監 Andrew 來訪

nanosound_dac_pro_demo

Raspberry Pi 有開放的資源與活躍的社群,一直以來 Maker 們會自己動手做有趣的專案。特別是 GPIO 與獨立 I2S 介面的設計,讓許多音樂玩家都會拿樹莓派自行製作音樂播放器,而也有很多廠商推出了基於 I2S 介面的 DAC 數位類比轉換或是 DDC 數位轉光纖/同軸的擴充板。

有別於市面上常見的 I2S DAC 擴充板,NanoSound DAC Pro Board 剛剛在 kickstarter 完成募資,主要設計理念除了要有良好的音樂體驗,也從軟硬體雙方面同時下手,提供許多實用的功能。

在硬體上的特色之一在於有獨立的按鍵與 OLED 顯示螢幕,因此使用者在做完基本設定以後,就可以單純使用樹莓派做音樂播放,而不用再透過智慧型手機或是電腦做控制。而特色之二在於該擴充板使用的是 TI 的 PCM5122 DAC,除了本身的 DAC 功能外,還預留擴充擴大機線路的設計,並具備兩路的 microUSB 電源輸入。這樣的好處在於可以將 DAC 與 Pi 上的數位線路與擴大機的類比線路獨立供電,降低彼此之間的干擾。

而軟體上也和 Volumio 合作,已經被納入官方的 plugin。只要根據教學安裝並啟用 plugin 以後,就可以使用上面七個 GPIO 按鍵與 128×64 的 OLED 顯示螢幕,除了顯示歌曲名稱、歌曲時間和音量大小等基本功能,還可以藉由長按顯示目前的 IP,是很實用的功能。

nanosound_andrew_visit

這次 NanoSound 技術總監 Andrew 來訪,除了聊到 NanoSound的產品理念,也談到許多後續計畫。未來台灣地區會由我們負責販售,有興趣的朋友可以填寫表單,預計十一月中到貨!

[新聞] Raspberry Pi貼紙發放

raspberry-pi-foundation-package-and-stickers

感謝 SZJapanese Raspberry Pi Users Group 的發起人 Masafumi Ohta 的幫忙,Raspberry Pi 創辦人 Eben 寄了一箱貼紙給我們,希望我們能持續推廣 Raspberry Pi,並透過社群活動的分享和交流,找到更多 Raspberry Pi 的可能。

貼紙只送不賣,我們會在社群聚會發放,也會在這次的 COSCUP 發放,發完為止。

報名:Raspberry Pi社群聚會 #19

[新聞] Raspberry Pi Zero W


圖片來源:NEW PRODUCT! RASPBERRY PI ZERO W JOINS THE FAMILY

在樹莓派(Raspberry Pi)五週年的紀念日,Eben Upton 宣佈新產品 Raspberry Pi Zero W!

硬體規格除了和原本的 Raspberry Pi Zero 相同以外,還多了 WiFi 和藍牙功能。這次新增加的無線網路功能是使用和 Pi 3 相同的 CYW43438 晶片。

加上這次的改版,Pi Zero 系列共有三個版本,分別是第一代的 Pi Zero v1.2、增加了 CSI 介面的 Pi Zero v1.3,和這次新增加 CYW43438 晶片的 Pi Zero W v1.1,由上而下可看出外型的差異。
pi_zero_comparison
圖片來源:Raspberry Pi Zero WおよびPiZero用公式ケースが発表

Pi Zero 雖然價格非常低廉,但因為供給不足而無法普及。又因為沒有內建網路,因此需要透過各種解決方案或是另外購買 Red Bear 的 IoT HAT 等額外硬體,也讓整體的硬體成本增加。但這次的 Pi Zero W 一定能創造出更多可能性!

我們已經開始販售。
* [產品] Raspberry Pi Zero W 基本套件
* [產品] Raspberry Pi Zero W 進階套件

[新聞] Raspberry Pi Zero 套餐特價中


圖片來源:蘋果日報

Pi Zero 套餐特價中,加購無線網卡更優惠。
* [產品] Raspberry Pi Zero v1.3 + Mini HDMI轉接頭 + OTG + 8G microSD + 5V電源 + 2×20排針
* [產品] Raspberry Pi Zero v1.3 + Raspberry Pi Camera(v2)
* [產品] Raspberry Pi Zero v1.3 + Raspberry Pi NoIR Camera(v2)

以下內文轉貼自蘋果日報5美元電腦 功能強大到已跪

英國 Raspberry Pi 樹莓派基金會在去年底時推出這款超低價的單板電腦,這台只有3張郵票的大小的Zero電腦,麻雀雖小五臟俱全,不但有512MB的記憶體、單核心應用處理器、2個迷你USB接口、1個迷你SD卡插槽,還有1個可輸出1080p影像的迷你HDMI接口。

外國有一名音樂人將樹莓派 Zero 加工,在木製盒子裡安裝「電容觸摸感應器」和「音頻擴大裝置」,研發出一款好玩又實用的 Beetbox,透過觸摸3根甜菜,製造出敲擊鼓聲的效果。

另外,美國還有一名安全研究員使用樹莓派為基底,研發出一個名叫 PoisonTap 的特別小裝置,只要短短 30 秒就可以突破 Mac 系統的保護機制,直接在電腦上安裝後門軟體,取得所有資料。

更多新聞:
* [新聞] Raspberry Pi Zero 釋出

[新聞] 中原大學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 的四倍左右。

[測試] AS3992 – UHF RFID Single Chip Reader

《文件與教學》
文件總整理,可以從這論壇查看使用教學。
https://www.soliddepot.com/forum/viewforum.php?f=22

AS399X firmware(.hex)下載
https://www.soliddepot.com/forum/viewtopic.php?f=22&t=40343&sid=e0f3335ae0e157fb2e77c799a567d57d

下載完整資料(出處),包括 datashhet、schematics、firmware、document 等等。
https://www.dropbox.com/s/u9cv2ytscplytmg/AS3992%20reader%20module%20files%20English.zip?dl=0

 
《硬體外觀》
AS3992_adapter_antenna_tag
AS3992 開發板 + 3.6V/2A 電源 + 3dBi 天線 + 五張 915MHz Tag

usb_debugger_jtag_adapter
USB Debug Adapter + JTAG 排線 + JTAG 轉 C2 轉板

 
《AS3992 韌體更新》
由於韌體預設是燒錄 USB 版本,可以燒成 UART 版本方便測試。連接方式如下。

jtag_connect_usb_debugger
JTAG排線防呆。

jtag_connect_adapter
注意要三角對三角。

pin_of_as3992_jtag_adapter
AS3992 的 C2CK 和 C2D 還有 GND 要和 JTAG 轉板腳位相接。

connect_as3992_jtag_adapter
相接的結果(用手扶著就可以了)。

upload_firmware_connection
完整連接圖。

韌體更新要透過 Silicon Lab 提供的 FLASH 燒錄工具(C8051F)上傳。或是下載完整資料裡的壓縮檔。選擇 C2 programmer > Flash Programming V3.90.exe

如果一切連接順利,就可以看到 USB Debug Adapter 是可以選取的。
silicon_lab_flash_utility

點選 “Connect”,順利的話就可以連接到 AS3992,原來 “Connect” 會變成 “Disconnect”。
connect_to_as3992

下載 AS399X firmware.zip(.hex)
其中,as399xdemo_uart_3992.hex 表示 115200bps baud rate
另外,as399xdemo3992uart_9600.hex 表示 9600bps baud rate
我們選擇 115200bps 燒錄(用 9600bps 的也可以)。

upload_firmware
燒錄完畢後,重插拔電源將會使用新韌體開機(如果下載到一半斷線也沒關係,但電源不能斷)

 
《AS3992 連線》
我們測試的環境為 Raspberry Pi 3,使用 2016-05-23 的映像檔。
Raspberry Pi 和 AS3992 使用 USB 轉 TTL 序列傳輸線(PL2303HXD 或是 PL2303HX 都可以)相接。
raspberry_pi_as3992

通訊的方式是用 CuteCom,如果還沒安裝請先用 sudo apt-get install cutecom 安裝。
在 Pi 上連線的介面是 /dev/ttyUSBX,例如 /dev/ttyUSB0 如下圖。
dev_ttyusb0

一切沒問題,就可以使用 cutecom 做連線測試了。步驟如下:
1. 在 Device 選擇 /dev/ttyUSB0
2. 在 Baud rate 選擇 115200
3. 在 Data bits 選擇 8
4. 在 Stop bits 選擇 1
5. 在 Parity 選擇 None
6. 這時候點選 Open device
7. 最下方選擇 Hex input
8. char delay 選擇 1 ms
cutecom

根據文件說明,送 10 03 00 是查詢韌體版本,送 10 03 01 是查詢硬體版本。

因此我們在底下的 Input 輸入100300 就可以看到 AS3992 回傳的韌體版本。
cutecom_100300

如果是輸入100301 就可以看到 AS3992 回傳的硬體版本。
cutecom_100301

更多命令就需要參考完整的手冊才知道怎麼使用了。最重要的是完整資料裡的 datasheet 和 command。
datasheet: AS3992 reader module files English > Application notes > AS3992_Datasheet_v1.0.pdf
command: AS3992 reader module files English > Application notes > AN399x Leo Roger System Description_1_4.pdf

 
《AS3992 讀卡》
有人將 AS3992 UHF RFID reader 寫了 Python 的模組,可以參考使用。

接線就和剛剛的方式一樣,Raspberry Pi 透過 PL2303HX 或 PL2303HXD 和 AS3992 相接。

################                 ##########
# Raspberry Pi #  --USB to TTL-- # AS3992 #
################                 ##########

開啟 Pi 的終端機,先把程式拉(pull)下來。

$ cd ~
$ git clone https://github.com/GuyLewin/pyAS3992
$ cd pyAS3992/

因為原本的範例程式(example.py)只會讀取一次,我們稍做修改就可以持續讀取。

$ vim main.py
import as3992_api
import time

def main():
    ann = as3992_api.AntennaDevice()
    print "Firmware info: %s\nHardware info: %s" % ann.get_system_info()
    print "Activating antenna"
    ann.set_antenna_state(True)
    print "Tags:"

    while True:
        try:
            for epc, rssi in ann.iter_epc_rssi():
                print epc.encode("HEX"), rssi
        except:
            pass

        time.sleep(1)

if __name__ == "__main__":
    main()

執行 main.py,我們拿五張 tag 做測試,會讀到 epcrssi。實測接收距離約在 10-15cm 左右。

$ sudo python main.py

as3992_reader

[新聞] Raspbian 新版本(2016-09-23)釋出與新的桌面環境 PIXEL

Raspbian 出新版本了,在 2016-09-23 的版本,最大的不同就是新的桌面環境 PIXEL

PIXEL 是 Pi Improved Xwindows Environment, Lightweight 的縮寫。

主要的修改有:
1. icon 更新,使用更直覺的意義表示。
2. 字體仍然使用 Roboto 字型。
3. 關掉登入過程畫面(Splash Screen),因此看不到核心或是服務所吐出的訊息。
4. 無線裝置電源切換,除了一鍵關閉藍牙或是 WiFi,還可以中斷各別的連線。

Raspbian LXDE 歷史演進。
2016-09-23 版本,使用 PIXEL。
raspbian_lxde_20160923

2014-12-24 版本,修改 UI 組態
raspbian_lxde_201409

2012-07-15 版本,使用原生 LXDE。
raspbian_lxde_201207

LXDEPCManJservFred 等人在 2008 年所發起的專案,並由劉穎駿(Paul Liu)與李健秋(Andrew Lee)所維護。不過在 2013 年 7 月 21 日,LXDE 專案團隊與 Razor-qt 團隊宣佈他們將會合併這兩個專案(LXQt),因此現在 LXDE 專案會是基於 Qt 所開發。

PIXEL 是使用 GTK+ 開發,未來也沒有要合併回 LXDE, 因此將會和 LXDE 專案斷開。

pi@raspberrypi:~ $ ldd /usr/bin/lxsession|grep gtk
	libgtk-x11-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgtk-x11-2.0.so.0 (0x76738000)

 
關於 PIXEL 的使用,在 RasPi.TV 這篇很多修改的技巧。

例如 PIXEL 預設是關掉登入過程畫面,如果要重新開啟相關訊息有兩個方法:
1.從 raspi-config 進入後改為 CLI。
2.或是修改 /boot/cmdline.txt。將 quiet splash 移除。

如果要將開機的圖檔換掉,直接換 /usr/share/plymouth/themes/pix/splash.png 檔案就可以了。

預設的 splash.png
pixel_splash

台灣樹莓派splash.png
raspberry_pi_taiwan_splash

如果要修改 icon,可以到 /usr/share/icons/PiX/ 有全部的圖示。

除了 PIXEL,這次新版本還加入幾個應用程式,例如:
第一個是很多人需要的 Chromium Browser,現在為 Raspbian 預設的瀏覽器,並且已經支援 HTML5,因此可以直接開啟 Youtube 影片。另外這次也引入多種 Droid Sans 字型,因此可以在瀏覽器直接看繁體中文、簡體中文、日語、泰語等。預設的搜尋引擎為 DuckDuckGo

播放 Youtube 影片
pixel_chromium_youtube

顯示繁體中文
pixel_chromium_raspberry_pi_taiwan

第二個是預設安裝 RealVNC 用戶端,因此可以在 Pi 上再使用 VNC 連線到其他 Pi,一次控制多台裝置。

第三個是 SenseHAT emulatorSenseHAT 是 Raspberry Pi 基金會最近一直推廣的擴充板,SenseHAT 上面除了 8×8 RGB LED 矩陣,還有五種感測器,是一個適合在沒有螢幕情況下學習寫程式的好東西。我們有販售

低於該版本想更新到 PIXEL 與其他應用程式可以:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install -y rpi-chromium-mods
sudo apt-get install -y python-sense-emu python3-sense-emu python-sense-emu-doc

最後,這次的 release notes

2016-09-23:
  * New PIXEL desktop environment - new icon set, window design, desktop images, splash screen and greeter
  * Chromium web browser included
  * Infinality font rendering patches included
  * RealVNC server and viewer included
  * SenseHAT emulator included
  * Rfkill entries added to Wifi and Bluetooth panel plugins
  * Updates to various standard applications, including Scratch and NodeRED
  * Various bug fixes, tweaks and translation updates
  * Updated firmware and kernel (https://github.com/raspberrypi/firmware/commit/ad8608c08b122b2c228dba0ff5070d6e9519faf5)

新聞來源:
* INTRODUCING PIXEL
* PIXEL: THE BRAND NEW DESKTOP FOR THE RASPBERRY PI
* Pixel Tips and Tweaks – how to Tweak Aspects of the new Raspbian Skin

[廣告] 2016 UP Board Virtual Hackathon

2016 UP Board Virtual Hackathon

UP Board研揚科技所開發的一片大小與 Raspberry Pi 相同的開發板,使用的是 Intel Atom 處理器,可以運行 Windows、Linux 或 Android 系統。

UP Board 曾經在 2015 年上 kickstarter 並已經順利出貨,目前已經量產,可以在 up-shop 購買。

我們也取得一片,之後會在寵物小車與 OpenCV 應用測試 UP Board 效能。

最近研揚科技舉辦了 2016 UP Board Virtual Hackathon 的競賽活動,可以在 UP 官網報名,相關資訊如下 。

參賽條件:只要你手上握有 UP Board 即符合條件
參賽產品:只要你的原創產品/專題實作當中是採用 UP Board 即可
參賽方式:將產品/專題細節上傳至 UP 官網,官網上只會秀出您的產品/專題主旨及參賽者大名,尊重各位參賽者的權利及隱私,屆時只會對外公告獲勝者的產品/專題細節
獲 獎:待全數參賽產品/專題皆上傳完畢,研揚將從中選出最精采的 5 名優勝者,將獲 €1200(合台幣 43,200 元)的高額獎金哦!!

(1) 時程:
* 報名時間: 2016/09/21 – 2016/10/31
* 實際競賽時間: 2016/11/01 – 2016/12/31
* 最後展示: 2017/01/10
* 獲獎公佈: 2017/01/20

(2) 地點:
* 比賽:線上參與
* 最終 5 名優勝者: 將安排產品/專題實作寄至 AAEON 歐洲

(3) 評比:
* 難度(25%): 複雜程度
* 實用性 (25%): 商用價值
* 創意 (30%): 獨特性
* 可擴展性 (20%): 可複製可量產程度

(4) 豐厚獎金:
* 優勝者可獲 €1200 現金

如果還沒用過,可以先看 IT技術家葉難G.T.Wang 的評測。

[活動] 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

[測試] SX1272 LoRa Module 和 Waspmote Gateway SX1272 LoRa module

lora-scenario
圖片來源:LoRa looks good to go

本文是以 cooking hacks 出的 SX1272 LoRa module + LoRa shield(圖左) 和 Waspmote Gateway SX1272 LoRa module(圖右) 做測試。
sx1272-lora-module-and-waspmote-gateway-sx1272-lora-module

《前言》
要使用 LoRa 通訊,最簡單的方式就是將 LoRa module 設定相同的 channel,這樣在相同 channel 的節點就可以互相收送資料,這是 P2P 的拓撲。

如果在 P2P 模式下增加 LoRa Gateway,一方面可以讓拓撲轉變星狀,能更有效的收集資訊,另一方面也可以整合多種裝置與通訊協定,延伸資訊傳遞的方式。
diagrama_lorawan_1_small
圖片來源:Extreme Range Links: LoRa 868 / 900MHz SX1272 LoRa module for Arduino Waspmote and Raspberry Pi

《設定 LoRa Gateway》
我們可使用任意的終端機軟體(例如 CuteCom)和 LoRa Gateway 溝通。要注意連線的參數:

  • Baudrate: 38400
  • 8 Data bits
  • No parity
  • 1 Stop bit

如果裝置開啟成功,我們就可以開始和 LoRa Gateway 進行互動式的溝通,傳輸的訊息都是 16 進位(hexadecimal)的格式。

每一個訊息稱為 frame,有固定的格式,至少五個部份為:

  1. SOH (Start of Header – ASCII 0×01),起始通訊符號。
  2. DATA(Command or return message),實際送出或接收到的資料。
  3. CR+LF (Carry return + line feed -ASCII 0x0D and 0x0A),換行符號。
  4. CRC(CRC16-Modbus),錯誤檢查。
  5. EOT (End of Transmission – ASCII 0×04),結束通訊符號。

所有命令都需要轉成 16 進位發送,可以透過線上的工具做轉換。
而 CRC 是將 DATA 進行 CRC-16(Modbus) 運算後的值,可以透過線上的工具計算結果。

實際舉例,我們想取得目前 LoRa Gateway 的設定值,要傳送的 frame 值會是這樣:
01 52 45 41 44 0D 0A 32 41 33 31 04

其中,01 就是 SOH52 45 41 44 就是 READASCII 轉成 HEX 的值。0D 0A CR+LF32 41 33 31 是用 52 45 41 44 進行 CRC 的運算結果,一樣也是要轉成 HEX。04 就是 EOT

cutecom_send_read_command_to_lora_gateway
在輸入時注意要選擇 Hex input,而 Char delay 要選擇 0 ms。

回傳的結果為:

\0x01INFO#FREC:CH_12_868;ADDR:1;BW:BW_125;CR:CR_5;SF:SF_12;SNR:0;RSSI:-105;RSSI_PACKET:119;VER:0.13
6979\0x04

因為我們在 CuteCom 沒有勾選 Hex output,因此是用 ASCII 顯示結果,回傳訊息一樣是 [SOH]DATA[CR+LF]CRC[EOT] 的形式。

  • 開頭是 0x01 就是 SOH
  • DATA 部份為
    INFO#FREC:CH_12_868;ADDR:1;BW:BW_125;CR:CR_5;SF:SF_12;SNR:0;RSSI:-105;RSSI_PACKET:119;VER:0.13

  • 其中 INFO,表示目前的設定,用 # 分隔後面的資料。而資料格式為 name:value,資料間用 ; 分隔。
  • 0D 0ACR+LF
  • 6979 就是將 DATA 進行 CRC 的 ASCII 運算結果,要再轉成 HEX。
  • 結尾 0x04 就是 EOT

參數說明如下:

  • FREC (frequency and channel): CH_X_Y where X is the channel and Y the frequency band. Bands allowed are 900 and 868 (MHz). Channels allowed are 10 to 17 for 868 MHz band and 00 to 12 for 900 MHz band.
  • ADDR (address): Number between 1 and 255.
  • BW (Bandwidth): BW_X where X can be 125, 250 or 500 KHz
  • CR (coding rate): CR_X where X is a number between 5 and 8.

如果我們想將 channel 改為 12、address 改為 3、bandwidth 改成 500KHz、coding rate 改成 5,這樣的 frame 應該會長這樣(DATA 和 CRC 先用 ASCII 顯示):

  • SOH = 0×01
  • DATA = SET#FREC:CH_12_868;ADDR:3;BW:BW_500;CR:CR_5;SF:SF_12
  • CR+LF = 0x0D 0x0A
  • CRC = 79CA
  • EOT = 0×04

轉成 HEX 結果:

01 53 45 54 23 46 52 45 43 3a 43 48 5f 31 32 5f 38 36 38 3b 41 44 44 52 3a 33 3b 42 57 3a 42 57 5f 35 30 30 3b 43 52 3a 43 52 5f 35 3b 53 46 3a 53 46 5f 31 32 0d 0a 37 39 43 41 04

cutecom_send_set_command_to_lora_gateway
可以看到回傳結果就是我們剛剛的設定值,只是 SET 改成 INFO

我們也可以再送一次 READ 確認結果。
cutecom_resend_read_command_to_lora_gateway

會設定 LoRa Gateway 以後,可以試試看和 LoRa module 通訊,例如將光敏電阻的值從 LoRa module 送到 LoRa Gateway。

 

《實際測試》
lora_module_send_value_of_light_sensor_to_lora_gateway

Gateway:
筆記型電腦 + Waspmote Gateway SX1272 LoRa module。在該電腦上安裝 CuteCom

Node:
Raspberry Pi 2 + SX1272 LoRa Shield + LoRa module。在 Pi 上安裝 ArduPi librarySX1272 Libraries
感測器為光敏電阻與 10K 電阻串連,並分別接到 Raspberry Pi LoRa Shield 的 5V、GND 和 A1。

此一範例程式是修改自 How to Send Sensor Data Using LoRa Extreme Range Connectivity Kit

/*                                                                                                                                                                      
 *  LoRa 868 / 915MHz SX1272 Module
 *  
 *  Copyright (C) Libelium Comunicaciones Distribuidas S.L. 
 *  http://www.libelium.com 
 *  
 *  This program is free software: you can redistribute it and/or modify 
 *  it under the terms of the GNU General Public License as published by 
 *  the Free Software Foundation, either version 3 of the License, or 
 *  (at your option) any later version. 
 *  
 *  This program is distributed in the hope that it will be useful, 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 *  GNU General Public License for more details.
 *  
 *  You should have received a copy of the GNU General Public License 
 *  along with this program.  If not, see http://www.gnu.org/licenses/. 
 *  
 *  Version:           1.0
 *  Design:            David Gascón 
 *  Implementation:    Victor Boria & Luis Miguel Marti
 */

// Include the SX1272 and SPI library: 
#include 
#include "arduPiLoRa.h"

int e;
char message1 [60];
int ldr;

void setup()
{
    // Print a start message
    printf("SX1272 module and Arduino: receive packets without ACK\n");

    // Power ON the module
    sx1272.ON();
    printf("Setting power ON: state ");
    printf("%d\n",e);

    // Set transmission mode and print the result
    e = sx1272.setMode(4);
    printf("Setting Mode: state ");
    printf("%d\n",e);

    // Select frequency channel
    e = sx1272.setChannel(CH_12_868);
    printf("Setting Channel: state ");
    printf("%d\n",e);

    // Select output power (Max, High or Low)
    e = sx1272.setPower('H');
    printf("Setting Power: state ");
    printf("%d\n",e);

    // Set the node address and print the result
    e = sx1272.setNodeAddress(2);
    printf("Setting node address: state ");
    printf("%d\n",e);

    // Print a success message
    printf("SX1272 successfully configured\n");
}

void loop(void)
{
    ldr = analogRead(1);
    sprintf(message1, "ldr value: %i \r\n", ldr);
    e = sx1272.sendPacketTimeout(3, message1);
    printf(message1, "ldr value: %i \r\n", ldr);
    printf("Packet sent, state ");
    printf("%d\n",e);

    delay(5000);
}


int main (){
    setup();
    while(1){
        loop();
    }
    return (0);
}

此一程式可以用 cooking/examples/LoRa/cook.sh 進行編譯後執行。

$ cd /home/pi/cooking/examples/LoRa
$ ./cook.sh get_light_sensor.cpp
$ sudo ./get_light_sensor.cpp_exe

cook_and_execute

一開始光的強度不高時值分別為 820 和 820 和 818。但當我們拿光去照光敏電阻時,值會降低到 580 和 608。
lora_module_get_light_sensor_and_send

這些值不但會顯示在螢幕,也會透過 LoRa module 傳送到 LoRa Gateway。
cutecom_read_value_from_lora_gateway

《結論》
根據這次的測試結果,未來如果有多個 LoRa module,將很容易的建構出一個星狀拓撲的 LAN(LoRa Area Network)。這樣低功耗長距離的傳輸協定,可能會大規模的應用在物聯網(IoT)的情境中。

參考資料:
* Extreme Range Links: LoRa 868 / 900MHz SX1272 LoRa module for Arduino Waspmote and Raspberry Pi
* LoRa Gateway tutorial
* How to Send Sensor Data Using LoRa Extreme Range Connectivity Kit

[新聞] Android 即將支援 Raspberry Pi 3


圖片來源:Raspberry Pi 3 Repository Has Been Added to Android Open Source Project

過去一直有 Android 移植到 Raspberry Pi 的新聞,但在硬體加速部份一直沒有突破,因此還只是社群間的 hack 版本。

不過這次從 Android 開源項目(AOSP)的 repository 已經把 Raspberry Pi 3 加進 device tree 裡,可以猜測也許在下一個 release 就能正式安裝在 Pi 上。

除了 Windows 10 IoT,未來將有更多作業系統能在 Pi 上執行。

我們有實際測試了 Android 5 在 Pi 2 上的映像檔,還有很多問題需要克服,因為連最基本的操作都有問題,而硬體加速也有待實做(解析度使用 1280×720)。
android_6_marshmallow_on_raspberry_pi_2

相關新聞:
* Google to bring official Android support to the Raspberry Pi 3
* Why Android and even Windows might make it onto the Raspberry Pi 3
* Android TV 6.0 Ported to Raspberry Pi 3 with 2D/3D GPU Acceleration, but no Hardware Video Decoding (Yet)
* android 5.0 on raspberry pi 2

[新聞] 新!8-MEGAPIXEL CAMERA(v2.1)

camera_v2
圖片來源:NEW 8-MEGAPIXEL CAMERA BOARD ON SALE AT $25

Raspberry Pi 基金會在 2013 年推出 5MP Camera v1.35MP MoIR Camera v1.3,許多應用,例如 WiFi 觸控螢幕相機家庭保全監視3D 掃描等等。之後也有許多改裝套件產生,例如鏡頭改裝外殼改裝等。

而原本的 Camera 所使用的 OmniVision OV5647,也因為 OmniVision 在 2015 年被中國三家創投所收購,包括華創投資、中信資本和金石投資,因此面臨斷貨問題。

這次新版本的相機用的 CMOS 感光元件是 SONYIMX219,採用的背照式感測架構(Back-illuminated sensor architecture)能有更大的進光量,因此光電轉換效率更高,也擁有低雜訊的優點。

而 Raspberry Pi 基金會的 Naush Patuck 也為了新版本的相機重新調整各項參數,希望能達到更真實的自動白平衡(AWB)結果,讓不同色溫下的顏色看起來都相同。

例如在低色溫下,好的 AWB 讓右邊的顏色接近人眼看到的顏色。

圖片來源:NEW 8-MEGAPIXEL CAMERA BOARD ON SALE AT $25

RasPi.TV 也實際用新舊版的相機拍攝了許多照片做比較。但在相同條件下,新版的 Camera 似乎有點黑暗和曝光不足,不過這可能是天空的景色太多所造成的。
Composite4-shot
圖片來源:New and old Raspberry Pi Camera comparison shots (1.3, 2.1 & NOIR)

 

更多資訊:
1. 兩代規格快速比較

Raspberry Pi Camera v1.3 Raspberry Pi Camera v2.1
Image Sensor: OmniVision OV5647 Sony IMX219
Resolution: 2592 × 1944 pixels (5 megapixel) 3280 × 2464 (8 megapixel)
Sensor Image Area: 3.76 × 2.74 mm 3.69 × 2.81 mm
Pixel Size: 1.4 µm × 1.4 µm 1.12 µm × 1.12 µm
Video: 1920 × 1080 (1080p)30p 1920 × 1080 (1080p)30p

2. 如何使用新版的 Camera?
可以使用 raspistill 指令檢查。

pi@raspberrypi:~ $ raspistill -v

如果出現 Width 3280, Height 2464... ,那表示硬體(Camera v2.1)和軟體(raspistill)都沒問題。
raspistill_with_raspberry_pi_camera_v2.1

如果還是出現 Width 2592, Height 1944... ,那就需要更新 kernelraspistill
更新 raspistill 方式如下:

sudo apt-get update
sudo apt-get install cmake
git clone https://github.com/raspberrypi/userland.git
cd userland
./buildme

更新 kernel 方式如下:

sudo rpi-update

相關新聞:
* NEW 8-MEGAPIXEL CAMERA BOARD ON SALE AT $25
* New 8 Megapixel Raspberry Pi camera 2.1 launches
* MagPi45 – The NEW Raspberry Pi Camera Module is here!
* CAMERA MODULE V2
* NoIR V2 – Video Streaming Baby Monitor

我們已經開賣

[新聞] Raspberry Pi 3 Model B

根據 CNXSoft 報導,Raspberry Pi 3 Model B 已經出現在 FCC 的網站裡了,表示離開賣也不遠了。更詳細的文件可參考這裡

這次的改變主要是增加了 WiFi 802.11 b/g/n (2.4GHz),Bluetooth 4.0Bluetooth Low Energy (LE),天線位在 microSD 卡插槽旁邊。在 GPIO 腳位旁的兩個孔位可能是用於重置(reset)使用。

圖片來源:Raspberry Pi 3 Model B Board Adds WiFi and Bluetooth Connectivity
 

而 SoC 部份,記憶體維持 1G,處理器直上 64 位元 1.2GHz 的 ARM 核心(Cortex-A53)。
下圖可看到原來 J5 腳位是給 JTAG 使用,這次已經焊上 connector,還不確定用途。

圖片來源:Raspberry Pi 3 Model B Board Adds WiFi and Bluetooth Connectivity
 

最後,也祝 Raspberry Pi 四週年生日快樂! Matt Timmons-Brown(The Raspberry Pi Guy)剪了一片 Raspberry Pi 歷年的活動與專案,值得一看。

相關新聞:
* Raspberry Pi 3 Model B Board Adds WiFi and Bluetooth Connectivity
* Raspberry Pi 3 – Wireless LAN, Bluetooth, 64-bit, 1.2GHz — From the last page spread of the Essential Sonic Pi issue of MagPi released today
* FOUR YEARS OF PI

[新聞] 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

我們即將開賣。

[新聞] Raspberry Pi客製化服務


圖片來源:Raspberry Pi Customization Service

Raspberry Pi 在官方 twitter 宣佈,未來可透過 element14 進行客製化的量產服務,隨後也開了聯合記者會

Raspberry Pi 在今年二月已銷售五百萬片,預估到今年底可達到七百萬片。許多有趣的點子雖然已經透過 Pi 做了概念驗證(proof of concept),但最終都苦於無法取得 Broadcom 晶片做量產,即使 Raspberry Pi 基金會在 2014 年推出 Compute Module 產品,希望能應用在需要量產的商品上,但成效不彰。

今天,element14 開始提供小量的客製化設計與製造服務,最小訂製量在 3,000 到 5,000 件。客製化的服務包括:
1. 重新配置的電路板佈局。
2. 增加更多的功能到 PCB 上。
3. 增加/刪除各式接頭。
4. 增加/刪除各式介面。
5. 更改記憶體配置,例如增加 Onboard eMMC。

Eben Upton 預計這項客製化的服務啟動後,今年可銷售三百萬片,其中一百片會運用在工業應用,例如自動化控制等。過去的作法是除了購買 Pi 以外,還要加上一個客製化的擴充版才能完成這些特殊應用。未來將能透過重新設計製造的方式,取得更穩定與低價的產品。

特別聲明:
1. 這是 element14 和 Raspberry Pi 的全家獨家協議。
2. 這協議允許客戶創造各種 Raspberry Pi 的產品組合。
3. 未來將會透過 AVIDEmbest 這兩間公司獨家提供設計和製造服務。
4. 這項服務是全球性的,已經正式開始。

客製化服務:http://www.element14.com/custompi

新聞來源:
* Now @element14 can mass produce a Raspberry Pi customised to meet specific needs: http://www.element14.com/CustomPi
* Raspberry Pi Customization Service
* Element14 to Offer Raspberry Pi Customization for Bulk Orders
* Raspberry Pi Customization Service

[新聞] Raspbian 出新版本了(2015-09-24),從 Wheezy 到 Jessie


圖片來源:JESSIE IS HERE

Raspbian 出新版本了,最新的 image2015-09-24。這次是重大的更新,是基於 Debian 穩定版本的發布,從 WheezyJessie,核心版本(kernel version)也上到 4.1。

幾個改變的地方:
1. 預設開機進入桌面環境,原本為純文字模式。
2. Raspbian 預設安裝的 GUI 程式使用 GTK+3 開發,原本為 GTK+2。
3. 預設安裝 LibreOffice 辦公室軟體和 Claws Mail 電子郵件軟體。
4. 預設安裝 BlueJ 的 Java 開發環境和 Greenfoot 的 Java 程式設計教學軟體。
5. 新增 raspi-config 的視窗設定工具。
6. 新增小工具,可安全移除 USB 儲存裝置(如隨身碟)。
7. 可以用一般使用者權限存取 GPIO,原本需要使用 sudo 提昇權限。
8. 預設安裝 scrot,可以使用 Print screen 快捷鍵抓取螢幕畫面。

建議從乾淨的 image 安裝,但如果要從原本的系統升級可參考論壇文章

改版的 release notes 如下:

2015-09-25:
  * Based on Debian Jessie
  * Upgraded applications - Epiphany browser, Scratch and Sonic Pi
  * Included applications - LibreOffice, Claws Mail, Greenfoot, BlueJ
  * Included utilities - Alacarte menu editor, Lxkeymap, scrot, tree, pip
  * New GUI-based Raspberry Pi Configuration application
  * GPIO control now possible without need for sudo
  * Web link to Magpi magazine included
  * New taskbar plugin to eject mounted USB drives
  * Default boot is now to GUI not desktop
  * Look and feel now based on GTK+3 default theme
  * Print screen key launches scrot to produce screenshot
  * Common keyboards autodetected by GUI and drivers loaded accordingly
  * Numerous small tweaks and bugfixes

新聞來源:
* JESSIE IS HERE
* How to upgrade a Wheezy image to Jessie

[新聞] Raspberry Pi 銷售數據

截至 2015/02/17 全球累計已經賣超過 5 百萬台了。

日期 數量 出處
2015/02/17 已銷售 500 萬台 raspberrypi.org
2014/10/11 已銷售 380 萬台 twitter
2014/02/28 已銷售 250 萬台 raspberrypi.org
2012/09/19 估計每年可銷售 1 百萬台 adafruit

官方論壇上,也有人做了一個統計圖表,並持續更新中。
Raspberry Pi Sales
圖片來源:Graph & timeline of Pi Sales

或者從 Rastrack 這個計畫也可大概看出各地區銷售的比例。
rastrack-co-uk
圖片來源:Rastrack

資料來源:
* FIVE MILLION SOLD!
* As of today, it looks like 3.8 million – that’s an *awful lot of computers*.
* A BIRTHDAY PRESENT FROM BROADCOM
* The Raspberry Pi foundation expects over 1 million units to be shipped within a year
* Graph & timeline of Pi Sales
* Rastrack

[新聞] Official Raspberry Pi 7″ 觸控螢幕

The official Raspberry Pi touch display
圖片來源:THE EAGERLY AWAITED RASPBERRY PI DISPLAY

官方版本的 7″ 觸控螢幕出來了,最大的特色就是使用 DSI 作為輸入介面。這樣就可以讓 Pi 同時使用 HDMI 和 DSI 同時輸出畫面達到雙螢幕的效果。

《技術參數》
* 液晶面板: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 因為孔位不同無法固定
 

常見問與答:
要如何啟用官方的 DSI 觸控螢幕作為預設顯示?
只要更新韌體到最新版本後重開機,Pi 就會自動偵測是否接上觸控螢幕並啟用。如果同時接上 HDMI 螢幕和 DSI 螢幕,預設將會優先使用 DSI 觸控螢幕。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo reboot

如果想要優先使用 HDMI 做為預設輸出介面,只要修改 /boot/config.txt,加上:

display_default_lcd=0

 

如何做雙螢幕顯示?
Omxplayer 為例,最新版已經支援雙螢幕顯示。例如要在 DSI 螢幕顯示,只要輸入:

$ omxplayer video.mkv

如果想要在 HDMI 螢幕顯示,只要輸入:

$ omxplayer --display=5 video.mkv

display=4 表示從 DSI 螢幕顯示(預設),display=5 表示從 HDMI 螢幕顯示。
 

如何撰寫觸控螢幕程式?
可以使用 Kivy,安裝的方式可參考官方說明文件Matt Richardson 寫了一個很好的範例展示

相關新聞:
* THE EAGERLY AWAITED RASPBERRY PI DISPLAY
* New Official Raspberry Pi DSI screen launches

我們已經開賣

[MagPi] 七月份的 MagPi 出來了(Issue 35)

The Mag Pi 35
圖片來源:MagPi35

七月份的 MagPi 出來了。

這期的幾個重點摘錄:

1. PiNet 介紹
Raspberry-Pi-kids_PiNet-logo
圖片來源:http://pinet.org.uk/

PiNet 提供一個以 Raspberry Pi 為教室的可中央控管的系統,包括以下幾個特色。
- Network user accounts
- Network booting
- Shared folders & backups
- Simple to set up
- Completely Free
- Used across the world

2. 一個比 Pygame 更容易上手的 game framework。詳情可以參考 http://bit.ly/PGZero

3. Naturebytes Wildlife Cam Kit 是正在 kickstarter 募資的專案。
Naturebytes Wildlife Cam Kit
圖片來源:Naturebytes Wildlife Cam Kit – Digital Making for Wildlife

這個專案讓每個人都可以打造一個觀賞野生動物的相機套件。完整的套件內容將包括有 Raspberry Pi A+Pi Camera、外殼、電源、RTC、鋰電池、鋰電池充電器、SD 卡等。目前這外殼還沒有 STL 檔可以下載,但未來可能可以在 Thingiverse 找到。

4. 這期專訪了 Pi in the Sky Project 的發起者之一 Dave。這個 project 設計了一個高穩定度的 GPS 擴充板,特點包括有長距離無線通訊模組(LoRa)和視訊擷取功能。更完整的介紹可參考這裡

5. 在 Cambridge Raspberry Jam 的有趣專案。
1) 遊戲機
magpi35_corteil
BrianRetropierecalbox程式碼做出的遊戲機。

2) Digital Zoetrope

圖片來源:I used 12 of your OLED displays in my Digital Zoetrope. Showing it off

Brian 以 12 台 OLED 的顯示器做出幻影燈箱的效果,詳情請看 Digital Zoetrope – Part 1

3) IoT 棋盤

圖片來源:IoT chessboard software integration
16 歲的 Ben James 花了兩個月做了 IoT 的棋盤,除了軟體自製,超過 2,000 個焊點線路圖也是自己設計並手工焊接。

4) Flappy Brain

圖片來源:CamJam June 2015
Albert Hickey 以 Arduino 讀取 EGG 訊號,並透過 Raspberry Pi 繪製遊戲,讓使用者可以藉由腦波控制遊戲中的主角,有關 Raspberry Pi 的部份都有公開

6. 特色專案
1) Lifebox

圖片來源:LifeBox! with Raspberry Pi
用 32×32 LED 矩陣(藍+黃)不斷改變畫面,像是人生一樣的複製競爭?程式碼可見這裡,更多的說明可以參考專案頁面

2) PiPlateBot

圖片來源:Mikronauts.com
以小烏龜車底所做的小車,控制板是採用 Robert Doerr 所設計的 RoboPi

3) Coffee-Table-Pi
coffee-table-pi
圖片來源:Coffee Table Pi
以 24″ LCD 和木頭機構所做出的遊戲機,詳細自造過程可見 instructables

7. Inside VideoCore

圖片來源:Inside Videocore
由 Tim Anderson 介紹 VideoCore 的歷史,並透露 VideoCore IV 即將發表,不過看起來還是不會支援 OpenCL

8. Internet Radio
simon-monk-internet-radio
圖片來源:Simon Monk – YouTube
Simon Monk 又帶來動手做專案,使用 MPD 做音樂串流,並且用一個 128×64 像素的 OLED 螢幕顯示現在的狀態,提供完整原始碼。

9. Command Line Pi
command-line-pi-part-5
Richard Smedley 介紹了一些基本指令,包括 New user、Changing identity、Alias 等,比較特別的是全域的鍵盤設定。

10. 客製化應用程式外觀
hacking-raspbian-desktop-part-4
LXDE 是以 GTK+ 所開發的,每個人都可以選擇與客製化自己喜愛的佈景主題。

11. 用 UltraBorg 控制伺服馬達

圖片來源:UltraBorg – Precision servo control with ultrasonic module support
可同時控制四組伺服馬達的擴充板,特別的是可以搭配超音波測距感測器馬上做有趣的應用。

12. Pi Sprinter
mikes-pi-bakery
藉由 piezoelectric sensor 讀取膝蓋彎曲狀態來判斷跑步速度,可結合 BBC Micro Olympics 做有趣的體感應用。

13. Pygame SoundBoard
pygame-audio-mixer-diagram
介紹 Pygame 的聲音合成原理,可自製一個聲音控制板。

詳細內容請看:https://www.raspberrypi.org/magpi/issues/35/