このエントリーをはてなブックマークに追加

Armadillo-IoT G3でのGPSレシーバ動作確認

使用機材

開発環境

動作確認手順

BU-353S4のArmadillo G3での動作確認は、以下の手順で行いました。

1. PL2303デバイスドライバ追加

BU-353S4は、Armadillo側(Armadillo G3 Linuxカーネル v4.9-x1-at2)から見ると、シリアルデバイス(Prolific社製USBシリアル変換コントローラ PL2303使用)として認識されます。 しかしPL2303用デバイスドライバ(USB Prolific 2303 Single Port Serial Driver)は、Armadillo G3 Linuxカーネル v4.9-x1-at2ではデフォルトで無効となっています。

TAG index

PL2303用デバイスドライバをLinuxカーネルに追加するために、以下のコマンドを実行してコンフィグレーションツールを起動します。

atmark@atde7:~/work/linux-4.9-x1-at1$ make ARCH=arm menuconfig

コンフィグレーション画面内では、以下の箇所(USB Prolific 2303 Single Port Serial Driver)を変更して、PL2303用デバイスドライバをLinuxカーネルに追加します。

Device Drivers 
    -> USB support 
        -> USB Serial Converter support 
            -> USB Prolific 2303 Single Port Serial Driver

TAG index

2. Linuxカーネルビルド

PL2303用デバイスドライバを追加したら、Linuxカーネルをビルドします。

atmark@atde7:~/work/linux-4.9-x1-at1$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 
atmark@atde7:~/work/linux-4.9-x1-at1$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x80008000 uImage

念のため、イメージファイルが生成されていることを確認します。

atmark@atde7:~/work/linux-4.9-x1-at1$ ls arch/arm/boot/uImage 
arch/arm/boot/uImage

3. Linuxカーネルイメージの書き換え

Armadillo G3マニュアル「11.2.2. Linuxカーネルイメージの書き換え」を参考にして、先ほどビルドで生成したuImageをArmadillo G3に書き込みます。
書き込みが終了したら、Armadillo G3を再起動します。

4. BU-353S4接続

BU-353S4をArmadillo G3のUSBポートに接続して、デバイスが認識されていることを確認します。

root@armadillo:~# usb 1-1: new full-speed USB device number 2 using ci_hdrc 
pl2303 1-1:1.0: pl2303 converter detected 
    usb 1-1: pl2303 converter now attached to ttyUSB4
root@armadillo:~# ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Aug  3 01:30 /dev/ttyUSB0 
crw-rw---- 1 root dialout 188, 1 Aug  3 01:30 /dev/ttyUSB1 
crw-rw---- 1 root dialout 188, 2 Aug  3 01:30 /dev/ttyUSB2 
crw-rw---- 1 root dialout 188, 3 Aug  3 01:29 /dev/ttyUSB3 
crw-rw---- 1 root dialout 188, 4 Aug  3 01:32 /dev/ttyUSB4
root@armadillo:~# lsusb 
Bus 002 Device 004: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0 
Bus 002 Device 005: ID 2c7c:0125 
Bus 002 Device 002: ID 0424:3503 Standard Microsystems Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
Bus 001 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

今回の環境では、BU-353S4は/dev/ttyUSB4にアタッチされ、Armadillo G3で正常に認識されていることが分かります。

5. GPSデーモンのインストールおよび確認

GPSレシーバからのデータ受信/フォーマットするためのデーモン(gpsd)を、以下のコマンドを実行してインストールします。

root@armadillo:/dev# apt-get install gpsd

以下のコマンドを実行して、gpsdが起動されていることを確認します。

root@armadillo:~# service gpsd status 
● gpsd.service - GPS (Global Positioning System) Daemon 
Loaded: loaded (/lib/systemd/system/gpsd.service; indirect; vendor preset: en 
Active: active (running) since Fri 2018-08-03 02:13:18 UTC; 1min 12s ago 
Main PID: 21786 (gpsd) 
CGroup: /system.slice/gpsd.service 
        mq21786 /usr/sbin/gpsd -N 
 
Aug 03 02:13:18 armadillo systemd[1]: Started GPS (Global Positioning System) Da

6. ボーレート設定

BU-353S4のGPSデータ通信速度は4800bpsです。これに対してttyUSB4のボーレートはデフォルトで9600bpsですので、以下のコマンドを実行して、ボーレートを4800bpsに変更します。

root@armadillo:~# stty -F /dev/ttyUSB4 4800

7. GPS受信データの表示

以下のコマンドを実行すると、GPS受信データがコンソールに表示されます。

root@armadillo:~# cat /dev/ttyUSB4 
$GPGGA,071643.000,3542.8879,N,13942.3164,E,1,06,2.5,20.6,M,39.3,M,,0000*64 
$GPGSA,A,3,19,06,09,17,23,03,,,,,,,3.5,2.5,2.5*37 
$GPRMC,071643.000,A,3542.8879,N,13942.3164,E,0.20,0.00,020818,,,A*6B 
$GPGGA,071644.000,3542.8878,N,13942.3165,E,1,06,2.5,20.6,M,39.3,M,,0000*63 
$GPGSA,A,3,19,06,09,17,23,03,,,,,,,3.5,2.5,2.5*37 
$GPRMC,071644.000,A,3542.8878,N,13942.3165,E,0.06,0.00,020818,,,A*68 
$GPGGA,071645.000,3542.8878,N,13942.3165,E,1,05,2.7,20.3,M,39.3,M,,0000*66 
$GPGSA,A,3,06,09,17,23,03,,,,,,,,3.7,2.7,2.5*3F 
$GPRMC,071645.000,A,3542.8878,N,13942.3165,E,0.26,0.00,020818,,,A*6B 
$GPGGA,071646.000,3542.8879,N,13942.3164,E,1,05,2.7,20.4,M,39.3,M,,0000*62 
$GPGSA,A,3,06,09,17,23,03,,,,,,,,3.7,2.7,2.5*3F 
$GPRMC,071646.000,A,3542.8879,N,13942.3164,E,0.00,0.00,020818,,,A*6C 
$GPGGA,071647.000,3542.8879,N,13942.3164,E,1,05,2.7,20.4,M,39.3,M,,0000*63 
$GPGSA,A,3,06,09,17,23,03,,,,,,,,3.7,2.7,2.5*3F 
$GPGSV,3,1,12,06,67,002,23,09,57,088,35,17,48,171,38,23,33,053,44*70 
$GPGSV,3,2,12,03,06,057,24,05,15,250,21,07,02,130,17,19,70,200,04*77 
$GPGSV,3,3,12,02,31,307,,12,15,286,,57,06,260,,25,00,323,*70

注意

BU-353S4では、GPS衛星の受信状態を本体のLEDで確認できます。

  • LED OFF: GPS受信機の電源がOFF
  • LED ON : No-Fix (GPS信号検索中)
  • LED点滅: Fix

LEDがOFFまたはONの場合、GPS受信データ表示コマンド(cat /dev/ttyUSB4)で表示される値は無効なデータです。 また、GPS受信感度は変動する場合があり、特に屋内では受信感度が下がります。 LEDが点滅していない場合は、BU-353S4を窓際や屋外に移動させて実験してください。

製品: 

  • Armadillo-IoT G3

タグ: 

  • Armadillo-IoT G3
  • TIPS
  • 周辺デバイス