2014年12月16日 星期二

Ruby - 中文地址取得經緯度座標

先使用 gem 安裝 Geocoder
> sudo gem install geocoder

執行 irb :
$ irb

> require 'geocoder'
> my = Geocoder.search("10659 臺北市建國南路二段125號")

執行結果:
 => [#[{"long_name"=>"125", "short_name"=>"125", "types"=>["street_number"]}, {"long_name"=>"Section 2, Jianguo South Road", "short_name"=>"Section 2, Jianguo S Rd", "types"=>["route"]}, {"long_name"=>"新龍里", "short_name"=>"新龍里", "types"=>["administrative_area_level_4", "political"]}, {"long_name"=>"Da’an District", "short_name"=>"Da’an District", "types"=>["administrative_area_level_3", "political"]}, {"long_name"=>"Taipei City", "short_name"=>"Taipei City", "types"=>["administrative_area_level_1", "political"]}, {"long_name"=>"Taiwan", "short_name"=>"TW", "types"=>["country", "political"]}, {"long_name"=>"106", "short_name"=>"106", "types"=>["postal_code"]}], "formatted_address"=>"No. 125, Section 2, Jianguo South Road, Da’an District, Taipei City, Taiwan 106", "geometry"=>{"location"=>{"lat"=>25.029152, "lng"=>121.538369}, "location_type"=>"ROOFTOP", "viewport"=>{"northeast"=>{"lat"=>25.0305009802915, "lng"=>121.5397179802915}, "southwest"=>{"lat"=>25.0278030197085, "lng"=>121.5370200197085}}}, "partial_match"=>true, "types"=>["street_address"]}, @cache_hit=nil>] 

取得陣列裡的資料:
 > my[0].latitude
 => 25.029152 
 > my[0].longitude
 => 121.538369 
 > my[0].address
 => "No. 125, Section 2, Jianguo South Road, Da’an District, Taipei City, Taiwan 106" 
 > my[0].city
 => "Da’an District" 

2014年12月14日 星期日

解決 Mac OS X 10.10 安裝 Android Studio 的錯誤訊息 - Android Studio was unable to find a valid Jvm

安裝Android Studio之後,第一次執行若發生「Android Studio was unable to find a valid JVM」錯誤訊息,通常是因為Android Studio找不到 Java 6 JRE,可能是沒安裝 Java 6 JRE 或 Java 6 系統路徑沒設定好。

如果您跟我一樣,只想安裝了Java 7 或 Java 8 JDK而不想安裝Java 6 JRE。那stackoverflow上的解決方法就可以派上用場。

  1.  先用Mac OS X的Spotlight搜尋 "Android Studio",在視窗最底下可以用Finder顯示"Android Studio"的位置(硬碟>應用程式>Android Studio 或 
    /Applications/Android Studio.app)

    於 Finder 顯示所有項目... 找到Android Studio
  2. 開啟"Android Studio" Application Package,開啟編輯 Info.plist 檔

    找到Info.plist

  3. 將 Info.plist 裡面的JVMVersion版本設定參數從 1.6* 改為 1.6+ ,並存檔


  4. 開啟 "Android Studio" 應該就可以執行了...
#

2014年11月15日 星期六

Inbox by Gmail 可安裝使用了

已經可以在Google Play和App Store下載,完成安裝後就能登入使用囉。

2014年10月25日 星期六

ubuntu 設定開機直接進入文字 (text, console) 模式

vi  /etc/default/grub ,將原來
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

加上註解,並重新新增一行新設定,改為下列後存檔離開:
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="text"
接著執行更新開機GRUB設定
sudo update-grub
執行結果:
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.11.0-15-generic
Found initrd image: /boot/initrd.img-3.11.0-15-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Ubuntu 12.04 LTS (12.04) on /dev/sda1
done
#

2014年10月18日 星期六

製作 Mac OS X Yosemite 開機安裝碟

透過 App Store 直接升級至新版 Mac OS X Yosemite 或許是最快的方法。但對於需要更新多部 Mac 或打造一部 Hackintosh 而言,卻不一定是最理想的方式。

如同以往的 Mac OS X 升級,完成更新安裝之後,installer安裝程式也會自動從應用程式(Applications)文件夾中消失。我們可透過同時按下鍵盤option鍵並用滑鼠點擊畫面上的Free Upgrade (免費升級)按鈕或是利用 Time Machine 備份檔案重新還原 installer安裝程式。為了節省時間,建議更新至新版 Yosemite 前最好還是製作一支 USB 開機安裝碟,方便日後使用。


  1. 下載 Yosemite Installer:打開 App Store,按下鍵盤 option 鍵,同時用滑鼠點擊畫面上的Free Upgrade (免費升級)按鈕,進行安裝程式下載。

  2. 檔案大小 5.16GB 需要一些時間進行下載


  3. 格式化USB隨身碟:準備一支至少8GB容量的USB隨身碟,先將裡面資料備份後,準備以「硬碟工具程式」進行隨身碟格式化。選擇磁碟格式:Mac OS 擴充格式(日誌式)、輸入名稱:Yosemite 後,進行磁碟機的清除工作。



  4. 寫入開機安裝碟:當Yosemite安裝檔案下載完成後,開啟「終端機」(Terminal)應用程式。並且直接貼上下列指令:

  5. sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/Yosemite --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction
    

  6. 輸入密碼:依照畫面提示輸入帳號密碼,等待安裝檔案寫入USB隨身碟中,耐心稍待片刻,直到畫面上出現 Done. 提示。
  7. 看到畫面上出現 Done. 提示

  8. 以USB安裝碟開機:準備升級更新的 Mac 先插上 Yosemite 開機安裝碟,然後按住option鍵同時開機,直到安裝畫面出現後,依照步驟進行安裝即可。

#

2014年10月4日 星期六

angular.js 範例

vi app.html
<html ng-app='myApp'>
<head>
 <title>Your Shopping Cart</title>
 <meta charset="utf-8">
</head>
<body ng-controller='CartController'>
 <h1>Your Order</h1>
 <div ng-repeat='item in items'>
  <span>{{item.title}}</span>
  <input ng-model='item.quantity'>
  <span>{{item.price | currency}}</span>
  <span>{{item.price * item.quantity | currency}}</span>
  <button ng-click="remove($index)">Remove</button>
 </div>
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
 <script>
  var app = angular.module('myApp', []);
 app.controller('CartController', ['$scope', function($scope) {
  $scope.items = [
   {title: '油漆刷子', quantity: 8, price: 3.95},
   {title: '油漆', quantity: 17, price: 12.95},
   {title: '工作服', quantity: 5, price: 6.95}
  ];
  $scope.remove = function(index) {
   $scope.items.splice(index, 1);
  } 
 }]);
 </script>
</body>
</html>

以瀏覽器直接開啟app.html的執行結果:

#

2014年9月22日 星期一

Uber 和 計程車 比較 ( Uber vs Taxi )

來源: Uber - Taipei

單就客觀數字比較 Uber 和 計程車 (小黃) 。因Uber目前服務仍以北部為主,故以台北地區計程車資進行比較。

目前Uber在服務品質和車資上有其競爭力,但就車輛數與法規面來看則是相對弱勢和具有風險。

服務類型
服務車型
基本費用(NT$)
NT$/每分鐘
NT$/每公里
備註
車資估算 (台北車站 <-> 松山車站)
行車距離 6.7km / 約11~12mins
車資 (台北<->桃園機場) 車資(台北<->新竹)
UberX
TOYOTA CAMRY
NISSAN TEANA
MERCEDES-BENZ C-CLASS
50
3
14.5
最低消費 NT$ 70
取消費用 NT$ 50
NT$178~221
NT$1,000
NT$1,500
UberBLACK
MERCEDES-BENZ S-CLASS
SIENNA 7人座 SEATS
LEXUS ES
105
5
20
最低消費 NT$ 150
取消費用 NT$ 100
NT$294~357
NT$1,700
NT$2,200
台北地區計程車
-
70
3
20
起程NT$75/前1.25km
夜間加成 NT$20/趟
日間車資 NT$210~220
夜間車資 NT$230~250
-
-

參考資料:
#

2014年9月14日 星期日

替 Blogger.com 文章加上程式碼區塊(codeblock)和執行結果區塊(shellblock)

選擇 範本>編輯HTML ,在HTML程式碼中找到CSS區塊,最後新增.post .codeblock和.shellblock的CSS程式碼如下:

<style type='text/css'>    ...

    .post .codeblock { 
       display: block; /* fixes a strange ie margin bug */
       font-family: Courier New;
       font-size: 10pt;
       overflow:auto;
       background: #f7f7f7 url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5yQoXazjZmzOBl-CuDBezK44UwWVLs8GNNigHQmyKSv8EvcXCEtSlMQAPUeXgo0wlKey6nO9VbGG4VF-b4NxEJivH5avNfjYagrnLNQcx8l4TL9AbxT6JU3PUUKBgNzbG9WHP8WMGRmcX/s1600/Code_BG.gif) left top repeat-y;
       border: 1px solid #ccc;
       padding: 10px 10px 10px 21px;
       max-height:1000px; 
       line-height: 1.2em;
    }

    .post .shellblock { 
       display: block; /* fixes a strange ie margin bug */
       font-family: Courier New; 
       font-size: 10pt;
       overflow:auto;
       color: #00ff00;
       background: #000000;
       border: 1px solid #ccc;
       padding: 10px 10px 10px 21px;
       max-height:1000px; 
       line-height: 1.2em;
    }
</style>

另外在<head>和</head>之間,加上
<script src="//google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>

記得要「儲存範本」喔!

之後在寫部落格文章時,在HTML模式底下寫
 
<pre class="codeblock prettyprint">
public class first {
    public static void main (String[] args) {
        System.out.println("Hello, my first java!");
    }
}
</pre>
就會出現下列結果囉:
public class first {
    public static void main (String[] args) {
        System.out.println("Hello, my first java!");
    }
}
如果寫成
<pre class="shellblock">
  執行結果
  ...
</pre>
結果就會變成
  執行結果
  ...
#

Java Multithread Examples

Java MultiTread 程式的基本結構:
import java.util.*;

class firstThread implements Runnable {
   private Thread t;
   private String threadName;

   firstThread( String name) {
      threadName = name;
      ...
   }

   public void run() {
      ...
   }

   public void start() {
      if (t==null) {
        t = new Thread (this, threadName);
        t.start();
      }
   }
} // end of class firstThread

public class first {

 public static void main(String []args) {
    try {
       ...
    } catch (Exception e) {
       System.out.println(e);
    }
 } // end of main

} // end of class first 
編輯 first.java 程式碼範例如下:
import java.util.*;

class firstThread implements Runnable {
   private Thread t;
   private String threadName;

   firstThread( String name) {
      threadName = name;
      System.out.println("Creating " + threadName);
   }

   public void run() {
      long start = System.currentTimeMillis();
      System.out.println("Running " + threadName);
      try {
         for (int i=0; i<=10; i++) {
            Random ran = new Random();
            int j = ran.nextInt(1000) + 1;
            Thread.sleep( j );
            System.out.println(" Thread " + threadName + " : round " + i + " sleep " + j);
         }
         long end = System.currentTimeMillis();
         long diff = end - start;
         System.out.println("Difference of " + threadName + " is : " + diff);
      } catch (Exception e) {
         System.out.println("Thread " + threadName + " : " + e);
      }
      System.out.println("Thread " + threadName + " exiting.");
   }

   public void start() {
      System.out.println("Starting " + threadName);
      if (t==null) {
         t = new Thread (this, threadName);
         t.start();
      }
   }
} // end of class firstThread

public class first {
   public static void main(String []args) {
      try {
         firstThread r1 = new firstThread("Thread-1");
         r1.start();

         firstThread r2 = new firstThread("Thread-2");
         r2.start();

         firstThread r3 = new firstThread("Thread-3");
         r3.start();
      } catch (Exception e) {
         System.out.println(e);
      }
   } // end of main
} // end of class first
編譯 first.java
$ javac first.java
執行 java first,因為 MultiThread 和 Random sleep 的影響,結果可能和下列範例有些不同。
$ java first

Creating Thread-1
Starting Thread-1
Creating Thread-2
Starting Thread-2
Running Thread-1
Creating Thread-3
Starting Thread-3
Running Thread-2
Running Thread-3
 Thread Thread-3 : round 0 sleep 660
 Thread Thread-2 : round 0 sleep 730
 Thread Thread-1 : round 0 sleep 837
 Thread Thread-2 : round 1 sleep 213
 Thread Thread-2 : round 2 sleep 363
 Thread Thread-1 : round 1 sleep 794
 Thread Thread-3 : round 1 sleep 995
 Thread Thread-1 : round 2 sleep 112
 Thread Thread-1 : round 3 sleep 158
 Thread Thread-2 : round 3 sleep 649
 Thread Thread-3 : round 2 sleep 578
 Thread Thread-1 : round 4 sleep 427
 Thread Thread-2 : round 4 sleep 893
 Thread Thread-2 : round 5 sleep 8
 Thread Thread-3 : round 3 sleep 625
 Thread Thread-2 : round 6 sleep 159
 Thread Thread-3 : round 4 sleep 260
 Thread Thread-1 : round 5 sleep 879
 Thread Thread-2 : round 7 sleep 667
 Thread Thread-2 : round 8 sleep 58
 Thread Thread-3 : round 5 sleep 824
 Thread Thread-2 : round 9 sleep 392
 Thread Thread-2 : round 10 sleep 2
Difference of Thread-2 is : 4146
Thread Thread-2 exiting.
 Thread Thread-1 : round 6 sleep 985
 Thread Thread-3 : round 6 sleep 667
 Thread Thread-1 : round 7 sleep 839
 Thread Thread-3 : round 7 sleep 665
 Thread Thread-1 : round 8 sleep 354
 Thread Thread-1 : round 9 sleep 96
 Thread Thread-1 : round 10 sleep 171
Difference of Thread-1 is : 5666
Thread Thread-1 exiting.
 Thread Thread-3 : round 8 sleep 559
 Thread Thread-3 : round 9 sleep 61
 Thread Thread-3 : round 10 sleep 201
Difference of Thread-3 is : 6108
Thread Thread-3 exiting.

2014年9月7日 星期日

亂,也要找對方法 - bash shell 隨機亂數產生方法

# random.sh
#!/bin/bash

# 想要產生 1..500之間的亂數
n=500
echo $n

# 執行隨機亂數 500 x 100 = 50000 回合
for ((i=1; i<=50000; i++))
do
  # 顯示是第幾回合
  echo $i

  # 方法1
  RANDOM=`date +%s`
  echo $(( RANDOM % n + 1 )) >> 1.list

  # 方法2
  RANDOM=$$
  echo $(( RANDOM % n + 1 )) >> 2.list

  # 方法3
  # 目前相對好的bash隨機亂數方法, 隨機結果相對比較平衡
  echo $(( $(od -An -N3 -i /dev/random) % n + 1)) >> 3.list


done

----------
以R來檢驗亂數產生結果

方法1產生結果:

> d1<-read.table('1.list', header = F)
> d1=as.martix(d1)
> summary(d1)
       V1       
 Min.   :  1.0  
 1st Qu.:136.0  
 Median :256.0  
 Mean   :234.9  
 3rd Qu.:316.0  
 Max.   :500.0

> hist(d1)














方法2產生結果:

> summary(d2)
       V1       
 Min.   :  0.0  
 1st Qu.:263.0  
 Median :263.0  
 Mean   :258.7  
 3rd Qu.:321.0  
 Max.   :472.0 

> hist(d2)
















> summary(d3)
       V1     
 Min.   :  0  
 1st Qu.:125  
 Median :250  
 Mean   :250  
 3rd Qu.:375  
 Max.   :500


> hist(d3)
















ps. 其實上述範例產生出來的亂數範圍有點小錯 XD

2014年8月14日 星期四

ubuntu 上安裝 Elasticsearch Cluster

1. 參考 Installing ElasticSearch on Ubuntu 14.04 ,分別在欲加入 Elasticsearch Cluster 的每部機器上完成安裝

### Install  Oracle Java (改安裝 Oracle Java)
cd /tmp
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
 
### Download and Install ElasticSearch ver 1.3.2
### Check http://www.elasticsearch.org/download/ for latest version of ElasticSearch and replace wget link below
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.2.deb
sudo dpkg -i elasticsearch-1.3.2.deb
 
### Install the Java Service Wrapper for ElasticSearch
curl -L http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master | tar -xz
sudo mkdir /usr/local/share/elasticsearch
sudo mkdir /usr/local/share/elasticsearch/bin
sudo mv *servicewrapper*/service /usr/local/share/elasticsearch/bin/
rm -Rf *servicewrapper*
sudo /usr/local/share/elasticsearch/bin/service/elasticsearch install
sudo ln -s `readlink -f /usr/local/share/elasticsearch/bin/service/elasticsearch` /usr/local/bin/rcelasticsearch
### Start ElasticSearch
sudo service elasticsearch start
 
### Make sure service is running
curl http://localhost:9200
 
### Should return something like this:
#{
# "status" : 200,
# "name" : "Storm",
# "version" : {
# "number" : "1.3.1",
# "build_hash" : "2de6dc5268c32fb49b205233c138d93aaf772015",
# "build_timestamp" : "2014-07-28T14:45:15Z",
# "build_snapshot" : false,
# "lucene_version" : "4.9"
# },
# "tagline" : "You Know, for Search"
#}

2. 分別修改每部機器上 /etc/elasticsearch/elasticsearch.yml 設定

cluster.name: elasticsearch
node.name: "elastic_your_nodename"

3. 重新啟動 elasticsearch

sudo service elasticsearch restart

4. 測試 Elasticsearch Cluster 是否有多個 node 出現?本例為2個nodes 

curl -XGET http://elastic_your_nodename:9200/_cluster/health?pretty

{
  "cluster_name" : "elasticsearch",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 2,
  "number_of_data_nodes" : 2,
  "active_primary_shards" : 5,
  "active_shards" : 10,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0
}
#

2014年8月13日 星期三

Mac OS X Client 以 ssh 自動登入 ubuntu server


1. 於Mac OS X開啟終端機"terminal" 程式

ssh-keygen -t rsa (接著連續按下幾次Enter)
cat ~/.ssh/id_rsa.pub | ssh yourname@ubuntu.server "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"


2. 於Mac OS X開啟終端機"terminal" 程式

ssh yourname@ubuntu.server  (應該已能自動登入,免輸入ssh密碼囉)


#

2014年7月23日 星期三

ubuntu 安裝 nginx,並設定 virtual hosts

1. 安裝 nginx 與 PHP5

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install nginx
$ sudo apt-get install fcgiwrap php5-fpm php5-xcache php5-mysql php5-pgsql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl


2. 創建要放置網頁檔案的磁碟路徑(放在/var/www/之下)

$ sudo mkdir -p /var/www/yourdomain1.com/html
$ sudo mkdir -p /var/www/yourdomain2.com/html

$ sudo chown -R www-data:www-data /var/www/yourdomain1.com/html
$ sudo chown -R www-data:www-data /var/www/yourdomain2.com/html

$ sudo chmod -R 755 /var/www


3. 編寫 index.html

$ sudo vi /var/www/yourdomain1.com/html/index.html
$ sudo vi /var/www/yourdomain2.com/html/index.html

範例如下:

<html lang="zh-TW">
  <head>
 
    <title>page title</title>
    <script src="my-javascript-file.js"></script>
    <link href="my-css-file.css" rel="stylesheet"></link>
  </head>
  <body>
    <!-- 網頁內容就放在body內吧 -->
    Hello, yourdomain1.com <!-- 或是 yourdomain2.com -->
  </body>
</html>


4. 設定第一個網站設定檔

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/yourdomain1.com
$ sudo vi /etc/nginx/sites-available/yourdomain1.com

修改設定檔內容:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/yourdomain1.com/html;
    index index.html index.htm index.php;

    server_name yourdomain1.com www.yourdomain1.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

5. 設定第二個網站設定檔

$ sudo cp /etc/nginx/sites-available/yourdomain1.com /etc/nginx/sites-available/yourdomain2.com
$ sudo vi /etc/nginx/sites-available/yourdomain2.com

修改設定檔內容,注意listen設定有些不同:

server {
    listen 80;
    listen [::]:80;

    root /var/www/yourdomain2.com/html;
    index index.html index.htm index.php;

    server_name yourdomain2.com www.yourdomain2.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

6. 讓兩個網站的設定檔案生效

$ sudo ln -s /etc/nginx/sites-available/yourdomain1.com /etc/nginx/sites-enabled/
$ sudo ln -s /etc/nginx/sites-available/yourdomain2.com /etc/nginx/sites-enabled/


7. 移除預設設定檔案

$ sudo rm /etc/nginx/sites-enabled/default


8. 修改 nginx.conf

$ sudo vi /etc/nginx/nginx.conf

將 server_names_hash_bucket_size: 64; 前面的註解符號 # 移除,然後存檔離開


9. 重新啟動 nginx

$ sudo service nginx restart


10. 修改 hosts,新增網站資料

$ sudo vi /etc/hosts

新增
192.168.1.80 yourdomain1.com
192.168.1.80 yourdomain2.com


11. 設定開機時,自動啟動nginx服務

$ sudo update-rc.d nginx defaults


#

2014年3月30日 星期日

ubuntu 安裝 SSH Server

先確認 /usr/sbin/sshd 是否存在,若已存在則繼續使用 ps -ef | grep ssh 確認 sshd (SSH Server) 是否執行。

若sshd檔案存在,只是尚未執行,可啟動ssd。

$ sudo /etc/init.d/ssh start


若以上皆確認不存在,則可以

$ sudo apt-get install openssh-server

進行安裝 SSH Server。

$ ssh localhost

設定開機時自動啟動 SSH Server。

$ sudo update-rc.d ssh defaults

測試一下

#

ASUS VC60 i3-3110M 安裝 ubuntu 14.04 (beta2)

先至 Ubuntu 官方網站下載 Ubuntu 14.04 (Beta 2) Desktop 64bits ISO
http://releases.ubuntu.com/14.04/ubuntu-14.04-beta2-desktop-amd64.iso

把iso檔案燒錄至USB隨身碟中,Windows 電腦可以使用 Win32 Disk Imager完成燒錄。

以Ubuntu 14.04 USB隨身碟開機,可試用、可安裝至ASUS VC60 i3-3110M的無作業系統版電腦。

測試結果:
Ubuntu 13.04 Desktop 64bits : 不支援VC60的無線網路卡、支援S/PDIF數位音效輸出及類比輸出
Ubuntu 13.10 Desktop 64bits : 無法完成開機(不知道原因為何)
Ubuntu 14.04 (Beta 2) Desktop 64bits : 支援VC60的無線網路卡、支援S/PDIF數位音效輸出及類比輸出

$ uname -a
Linux myhost 3.13.0-20-generic #42-Ubuntu SMP Fri Mar 28 09:56:33 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux


好機器,不買嗎?:P

#

2014年2月3日 星期一

Mac OS X 10.9.1 + Wintec WBT-100 GPS Data Logger

準備工作:完成藍芽配對與應用程式安裝

完成 WBT-100 GPS 與 Mac OS X 藍芽配對

gpsbabel.org 下載 GPSBabel-1.4.4.dmg 並完成安裝


方法一:以GUI方式操作應用程式GPSBabelFE

螢幕快照 2014-02-03 上午12.50.36.png

選取 Device , 範例為 /dev/cu.WBT100-SPPslave

螢幕快照 2014-02-03 上午12.50.52.png

Download Format 為 Wintec WBT-100/200 GPS Download

螢幕快照 2014-02-03 上午12.52.06.png

設定Output Format為GPX XML, 範例 File Name 為 mytrack

螢幕快照 2014-02-03 上午12.59.17.png 螢幕快照 2014-02-03 上午12.53.55.png

按下Apply執行後,經過一小段時間,即可將GPS Data log 自WBT-100下載完成囉

螢幕快照 2014-02-03 上午12.54.11.png

以 Google Earth 開啟 mytrack

螢幕快照 2014-02-03 上午1.03.10.png


方法二:開終端機直接下指令

/Applications/GPSBabelFE.app/Contents/MacOS/gpsbabel -i wbt -f/dev/cu.WBT100-SPPslave -o gpx -F ~/Desktop/mytrack.gpx