顯示具有 RS-232 標籤的文章。 顯示所有文章
顯示具有 RS-232 標籤的文章。 顯示所有文章

2014年3月2日 星期日

Raspberry Pi 整合 GPS 模組教學

好一陣子沒有在玩 Raspberry Pi 了,由於網友詢問這類問題剛好手上有GPS模組所以找了空檔寫了這篇希望能有所幫助。
一般GPS大概都是透過非同步式串列介面(UART)作為訊號傳遞連結,模組與Raspberry Pi連結就是透過高低電位的TTL方式使用UART介面來傳遞,通常運用到模組上的RX,TX 兩條訊號線及VCC/GND (這裡的VCC是供電給GPS模組使用的)。
模組上你可能會看到還有VBAT這是外接電池使用或者每家開發商會有不同的定義其他腳位,這個部分就得要看所買到的GPS模組Datasheet了。

至於GPS模組中還要注意的是協議部分,常見的GPS模組內建協議包括NMEA-0183SiRF binary、RTCM SC-104等格式,這些協議格是可以透過AT命令進行切換,本篇文章則以常見的NMEA為主,好處是讀取道的資訊是一般的明碼,我們取來應用比較方便。

其他關於GPS模組部分還有是近兩年流行的雙衛星系統接收。所謂雙衛星系統指的是美國的GPS (全球定位系統)及蘇聯的GLONASS(全球導航衛星系統),其相關資料這裡就不多敘述有興趣的詳見 "淺談GPS/ GLONASS雙星定位系統" 網頁。至於雙衛星系統最主要的優點是定位迅速冷啟動大約在30秒即可定位。

實作Raspberry Pi 整合 GPS 模組有兩種方式,一種是透過TTL方式直接跟IO接腳的第8腳UART TX及第10腳UART RX連結(方案一),另外就是GPS模組透過 USB to TTL Adapter Cable連接到Raspberry Pi 的 USB上面(方案二)。詳細接線圖如下:
方案一

方案二

2012年11月1日 星期四

Android USB 應用之 HelloUsbUart(RS-232)

在NDK這篇HelloUart中,有人詢問到開發平台轉移至智慧型手機上應該如何實現呢??
前面寫了一個方法是透過無線藍牙 -- Android Bluetooth 應用之 HelloBTUart(RS-232)
本文延續這個問題,提供了第二個答案就是直接使用有線的USB來做 Virtual COM port (VCP) 。

Android自從Honeycomb (3.1)版本後就開始支援USB hosting機制,也就是說從3.1版後Android提供了android.hardware.usb類別來使用,把早先Android從Accessory的角色變成Host及Accessory(Device)兩種都可以的角色。
至目前為止,Android在USB hosting機制從一開始只支援USB Keyboard、Mouse到現在Jelly Bean陸續已經可以支援到USB儲存裝置、攝影機、網卡、搖桿、....等總類非常繁多。
所以,本篇實作的部分主要是如何在Android上使用USB裝置(UsbDevice API)。

2012年1月27日 星期五

Android Bluetooth 應用之 HelloBTUart(RS-232)

在NDK這篇HelloUart中,有人詢問到開發平台轉移至智慧型手機上應該如何實現呢??
另一個答案就是藍牙(Bluetooth)

因此,今天的主題就是在Android手機上實現藍牙規範中的 Serial Port Profile(SPP)作為RS-232的通訊。

2011年5月16日 星期一

Java Native Interface (JNI) Android實戰篇(使用NDK) -- HelloUart

經過Java Native Interface (JNI)入門 -- 觀念篇Java Native Interface (JNI) 實戰篇後,延續著前兩篇的觀念第三篇繼續討論在Android上實作,本篇主要學習目的是在Android上實現針對UART的傳輸題目就沿用Hello系列稱為HelloUart。