2016/01/25

Raspberry Pi情報彙整(62)

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

[活動] Microsoft × Raspberry Pi.Taiwan × Raspberry.Taipei 社群聚會 #13 @2016/02/24,由台灣樹莓派、台灣微軟與Raspberry.Taipei聯合舉辦,主題是「如何在Windows 10上開發 RPi 以及物聯網的應用」,分享者微軟資深平台架構技術經理Herman Wu(吳宏彬),介紹如何在Windows10上開發RPi以及物聯網的應用。活動時間: 2016/2/24(週三)19:30 ~ 21:00,免費入場,但要先報名。

[活動] Raspberry Pi 樹莓派遊戲機實作坊,4大課程+7項主題,從入門到進階一天完全學會 × T客邦,時間:2016/2/20(六) 早上 09:30~下午 17:30。
SeeMore - parallel computing sculpture - The Magpi Magazine,256台Model B+,其模樣仿效70年代的超級電腦Cray-1,企圖以視覺化的方式,向一般大眾介紹平行運算。
Raspberry Pi Physical Dashboard | Adafruit Learning System,詳細教學文,打造實體儀表板,顯示各種資訊,包括未讀郵件、CPU負載、記憶體用量,甚至還能顯示快樂指數。
Pimp your Raspberry Pi with a 3D Printed Case! - joosNET,Pi有外殼並不稀奇,但你沒看過造型如同果餡餅一般的外殼吧,看起來很美味。
Video output challenge solved with the RPI-Zero – Nerdsynth Devblog,合成器(synthesizer)專案的副專案,以Pi Zero負責視訊輸出的部份。
Musical Minecraft - The Magpi Magazine,結合Sonic Pi與Minecraft,有聽覺、也有視覺,雙效合一。
DIY Raspberry Pi LED Matrix Display: PiXels,使用Pi 2,控制12個32x32 LED矩陣。
PiGRRL 2 | Adafruit Learning System,Adafruit更新先前的專案,改用Pi 2,自己打造隨身攜帶的掌上型遊戲機。
Pocket FM,發生戰爭與偏遠地區,往往沒有網路、報紙、電視,此時就要靠廣播radio來接收消息。
Raspberry Pi High Tide Tracker | Average Man Vs Raspberry Pi,住在海邊,要小心漲潮啊。
HomePi - A Windows 10 & Raspberry Pi 2 IoT app - Part 1,Windows 10 IoT與Pi 2的專案不多,看看這個吧,顯示當日天氣與下一班公車何時來。
Life-Size Raspberry Pi 3D Scanner Is A Revolution In The Making - Techy Trends,挖賽,可以掃描真人大小的3D掃瞄器。嗯,接下來是不是可以3D列印,印出類似真人大小的銅像?
How to Use Lidar with the Raspberry Pi | Hackaday,偵測距離乃是一門課題,對於體積龐大的機器人或自走車更是如此,試試Lidar吧,雷射距離偵測裝置。


其他:

2016/01/23

Raspberry Pi:B+與Pi 2採用二合一型影音類比端子(AV視訊端子與3.5mm耳機音訊)

Raspberry Pi Model B擁有AV端子類比視訊輸出(RCA梅花端子)與3.5mm耳機孔插座類比音訊輸出,而Raspberry Pi Model B+Raspberry Pi 2結合兩者,減小體積,因此需要不一樣的線材。

從左到右:3.5mm TS插頭(單聲道)、3.5mm TRS插頭(雙聲道、立體聲)、3.5mm TRRS插頭。tip、ring、sleeve之間的黑色部分是絕緣環。

若是3.5mm TRS插頭(雙聲道、立體聲),應是普遍採用的標準,常用於一般耳機。tip是左聲道、ring是右聲道、sleeve是接地。也是下圖Model B採用的標準。
但若是下圖的Model B+(以及Pi 2),則是3.5mm TRRS規格,結合了AV端子類比視訊輸出與3.5mm耳機孔插座類比音訊輸出,需要準備不同的線材。
Model B+(以及Pi 2)採用的標準是:tip是左聲道、ring(first)是右聲道、ring(second)是接地、sleeve是視訊。需要類似底下的線材,一般來說,黃色代表AV視訊端子,紅色是右聲道,白色是左聲道。

可惜的是,上述線材並未有統一標準,某些廠牌與裝置,可能採用不同的規格,購買時須分辨清楚。
另外,上述線材會把音訊左右聲道轉成RCA端子,可再使用底下轉接頭(或線)再轉成一般的3.5mm TRS規格。

2016/01/22

Arduino:在Windows裡使用Python語言經由Firmata協定控制Arduino開發板

Firmata是一套溝通協定,用於微控制器開發板(如Arduino)和主機電腦(如Windows、Linux、Mac OS X、Android、iOS)之間的溝通,採用MIDI訊息格式,但訊息內容的意義不同,藉由各種訊息來控制Arduino腳位、以及從Arduino回報狀態。

既然是套協定,溝通兩端都必須實作,Arduino端的實作已包含在Arduino IDE裡,並且有範例程式;至於主機端的實作,有各種程式語言的版本,此處採用Python語言的模組pyFirmata

這一篇僅是簡單試用,主機端是Windows XP(以及Cygwin),在Python shell下,使用模組pyFirmata,經由序列埠介面,控制Arduino UNO板內建的LED(腳位13);但不會介紹Firmata程式庫與模組的任何API。

首先是Arduino端,Arduino IDE已包含Firmata程式庫,我們要做的事是燒錄範例草稿碼StandardFirmata,位於選單「檔案」-「範例」-「Firmata」-「StandardFirmata」,開啟後燒錄進Arduino開發板,這支草稿碼能夠接受從主機端傳來的Firmata訊息,解析其中的指令,操控腳位。

然後是主機端, 我的Windows已安裝Python 2.7與pip,以底下指令安裝模組pyFirmata:
$ pip install pyFirmata

然後進入Python shell,匯入模組:
$ python
>>> from pyfirmata import Arduino, util

傳入埠號,開啟序列埠裝置。從Arduino IDE的選單裡,可看到我的UNO板連接到電腦的COM3,若是在Windows的命令提示字元底下,應傳入'COM3';而若是在Cygwin裡,會被命名為裝置/dev/ttyS2:
>>> board = Arduino('COM3')

然後運用API,傳出Firmata訊息,控制腳位13(LED):
>>> board.digital[13].write(1)
>>> board.digital[13].write(0)

便可看到LED被點亮與熄滅。


參考資料: