GPS貓咪追蹤器

九月 3, 2014
Facebook
Twitter
如果你的貓或狗常常在戶外活動,你可能想知道白天牠們到底去了哪裡。牠們是只在房子外面亂晃,還是跑到了很遠的地方去探險呢?為了跟蹤我的愛貓康利(Conley),我做了一個貓用GPS追蹤項圈來記錄牠白天的位置,等牠回家後我再將數據下載到電腦中。

這個項圈的核心是一個TinyDuino微控制器和一些適用於此平臺的TinyShield擴充板。TinyDuinoArduino Uno的功能相同,兩者可以運行完全相同的腳本程式碼,但是TinyDuino的大小只有Arduino Uno的四分之一。你只需插上TinyShield就可以輕鬆添加功能—–我使用GPS TinyShield來抓取位置數據和microSD卡來記錄數據。

材料

  • TinyDuino基本工具組:tiny-circuits.com上有此一品項(#ASK1001-R-P1),包含TinyDuino處理器電子板、TinyShield USB編程板、原型板以及數根螺絲釘。
  • GPS TinyShield擴充板:tiny-circuits.com上有此一品項(#ASD2501-R)。
  • midroSD轉接卡TinyShield擴充板:tiny-circuits.com上有此一品項(#ASD2201-R)。
  • 鋰聚電池:3.7V,150mAh。
  • 鋰離子電池充電器
  • JST-PH電池延長線
  • microSD記憶卡:容量1GB或更多。
  • 貓項圈:最好是不太厚而且成平面狀的項圈,才能夠穿過塑膠盒上的孔。安全扣項圈可以在貓咪的項圈被外物勾到時自動脫開,比較安全。
  • 喉糖盒(Tic Tac):標準尺寸

工具

  • 剪線鉗/剝線鉗
  • 烙鐵以及焊料
  • 筆刀
  • 電腦:搭載Arduino IDE軟體(在arduino.cc可以免費下載)以及Google Earth(在google.com/earth可以免費下載)
  • SD卡讀卡機(非必須):電腦內建或者外接式皆可
  • Micro USB連接線


為了要替此系統供電,你必須要使用尺寸小且重量輕的電池,不過需要具有一定的電量,得以記錄足夠時間內的資料。而GPSSD卡的讀寫操作也相當耗電,所以我用一個小型充電鋰電池,可記錄長達6小時的活動數據,你也可以使用較大型的電池以獲得更長的記錄時間。

為了製作項圈上的電子零件盒,我將一個裝喉糖的盒子切開,並在容器上裁切出一個開口,好讓項圈穿過。這樣我的GPS裝置就會固定在康利的脖子後面,跟牠一起去冒險,並提供最好的GPS天線接收度。

用來驅動系統的程式很簡單:一套TinyDuino可以讀取的Arduino腳本程式碼,這個程式會從GPS中取得原始數據,並轉成文字檔儲存到SD卡上。取出記憶卡並放入電腦後,你就可以透過Google Earth這類的程式來打開此檔案,看看你的愛貓白天到底在哪,位置顯示時也會標示當時的時間戳記。

步驟分解

    1. 組裝電子組件
    2. 編寫並測試電子組件
    3. 裁切外盒
    4. 組裝成型
    5. 讓貓咪戴上項圈

    第一步: 組裝電子組件

    • 為了讓電池的組裝與拆卸更容易,先將電池延長線剪下一段,並焊接到TinyDuino上,剪下的電池延長線大約需要1”長,上面留下母端的連接器,然後用剝線鉗把每條電線剝除約1/4″長度。
    • 將延長線的紅色電線焊進TinyDuino的「+」孔裡,把黑色電線焊進「–」孔,然後用剪線鉗把從孔中凸出來的電線修剪掉。
    • 把microSD TinyShield擴充板插入TinyDuino,然後把GPS TinyShield擴充板插到microSD TinyShield擴充板的頂端。
    • 將電路板用螺絲釘固定在一起,將塑膠隔離套放在電路板之間的螺絲孔上,(在這裡有鑷子會更好操作),然後把螺絲釘穿過螺絲孔,用手把螺帽鎖上螺絲釘,將螺絲釘鎖好以後,你可以將凸出的部分修的平整一點。

    第二步:編寫並測試電子組件

    图片

    • 用電腦將microSD記憶卡格式化(如果它還沒被格式化的話),將microSD記憶卡放進TinyShield microSD轉接卡裡。
    • 將USB TinyShield擴充板從工具組中取出,再將它插上所有電子板組件的頂端(在GPS TinyShield擴充板的上方),最後將USB TinyShield擴充板用USB連接線連上你的電腦。
    • 用Arduino IDE(整合式程式編寫環境)將TinyDuino GPS Data Logger腳本程式碼上傳到TinyDuino,然後在Arduino IDE(整合式程式編寫環境)裡打開序列監控器,你會看到許多的資料數據以及奇怪的文字內容,這些就是來自GPS模組(以NMEA格式呈現)的資料在螢幕中呈現的樣子。在Arduino軟體序列資料庫(ArduinolibrariesSoftwareSerial)下,你會看到名稱為 SoftwareSerial.h 的檔案,它需要些微調整,才能夠使用大一點的串列資料緩衝器(serial buffer),將軟體序列資料庫的檔案更換成這個壓縮檔中的檔案。
    • 如果在寫入SD記憶卡的過程中有任何問題訊息,檢查看看檔案是否被適當地安裝以及格式化。TinyDuino處理器上面的LED燈泡,在SD記憶卡寫入資料時會持續地閃動,頻率大約是一秒一次。
    • 將USB連接線從USB TinyShield擴充板上拔下,再將USB TinyShield擴充板從電子板組件的頂端拔下(只有在需要連接電腦的情況下,它們才需要連接)。

    第三步:裁切外盒

    • 將你要用來製作電子板組件外盒的喉糖塑膠盒清空(這裡我們用的是標準尺寸的Tic Tacs盒子),用筆刀將外面的標籤剝下,取下上面的白色塑膠蓋。
    • 然後將塑膠盒裁剪成合適的尺寸:從底部往上量出約1-1/2″的高度,然後用筆刀裁剪。
    • 在塑膠盒的兩個窄邊,靠近盒壁的地方,裁剪出條狀的空間,好穿過貓咪的項圈,然後把接下來要讓貓咪帶上的項圈,穿過塑膠盒。

    第四步:組裝成型

    • 確定電池已經用鋰離子電池充電器充電完畢,將microSD記憶卡插入microSD TinyShield擴充板轉接器。
    • 將電池接上整個模組,在TinyDuino處理器上的LED燈泡應該要以一秒一次的頻率開始閃爍(表示GPS資料正在寫入microSD記憶卡)。
    • 將電子模組跟電池一起放進喉糖盒裡,然後把蓋子蓋上--TinyDuino跟電池應該會排列在一起,在GPS TinyShield右上角的矩形組件就是它的天線,將天線擺在遠離電池的那一端。

    第五步:讓貓咪戴上項圈

    • 為了達到最好的效果,整個塑膠盒和裡面的模組應該要套在貓咪脖子的背面,而GPS的天線應該要朝著上方。除此之外,儘量避免讓天線靠近金屬物質,否則將會影響GPS的收訊。接下來就讓你的貓咪四處走走,等牠回家,就可以來瞧瞧他究竟去哪散步了。

    第六步:檢視蒐集到的資料

    • 當貓咪回家後,把項圈解下,拔下電池以及microSD記憶卡,將microSD記憶卡放進電腦裡,你應該可以找到一個名為gps.nmea的檔案。
    • 注意:如果你的電腦沒有讀卡機,你也可以下載一個Arduino腳本程式碼,它可以讓你用USB接頭取得檔案資料。
    • 有許多程式可以讀取.nmea檔案,其中一個好用又免費的程式就是Google Earth。首先你要在電腦上打開Google Earth程式,選擇「工具」->「GPS」,在「裝置」的選項下,選擇「從檔案中匯入」,在匯入與匯出的選單中,記得確認所有選項都有選取,按「匯入」並選擇gps.nmea檔案,Google Earth會將資料以「路徑」的方式呈現,讓你可以清楚看出你的貓咪究竟去了哪,位置顯示的同時也會標記當時的時間戳記。

    Picture

    KEN BURNS
    Ken Burns是一位工程師也是程式設計師,更是一位長期鑽研電子的業餘愛好者,目前住在俄亥俄州阿克倫。他同時也是TinyCircuits這家研發微型開放原始碼電路公司的創辦人兼總裁。

    (譯:Dana、孟令函)
    [原文]


    Social media & sharing icons powered by UltimatelySocial