SIM7500のGPSを利用する
環境
- NanoPi NEO 2
- Armbian
- SIM7500JC
- GPS Antenna - External Active Antenna - 3-5V 28dB 5 Meter SMA
$ cat /etc/armbian-release
# PLEASE DO NOT EDIT THIS FILE
BOARD=nanopineo2
BOARD_NAME="NanoPi Neo 2"
BOARDFAMILY=sun50iw2
VERSION=5.49
LINUXFAMILY=sunxi64
BRANCH=next
ARCH=arm64
IMAGE_TYPE=user-built
BOARD_TYPE=conf
INITRD_ARCH=arm64
KERNEL_IMAGE_TYPE=Image
$ cat /etc/debian_version
9.4
アクティブアンテナの電源回路
$ cat /etc/armbian-release
# PLEASE DO NOT EDIT THIS FILE
BOARD=nanopineo2
BOARD_NAME="NanoPi Neo 2"
BOARDFAMILY=sun50iw2
VERSION=5.49
LINUXFAMILY=sunxi64
BRANCH=next
ARCH=arm64
IMAGE_TYPE=user-built
BOARD_TYPE=conf
INITRD_ARCH=arm64
KERNEL_IMAGE_TYPE=Image
$ cat /etc/debian_version
9.4
sim7500a_sim7500e_sim7500je_sim7500jc_sim7500s_sim7500sa_hardware_design_v1.01.pdf 39pに記載のFig30 より。
最低限オレンジで囲ったところだけつくればとりあえずアクティブアンテナに電源を供給することはできる。
(πマッチの定数どう決めばいいかよくわかんなかったのでマッチング回路は省略した)
GPSの有効化
GPSは工場出荷値ではOFFのようなので、
$ screen /dev/ttyUSB2 115200
でSIM7500のATポートを開いて、
AT+CGPS=1
でスタンドアロンモードでGPSセッション開始。
(AGPSも使えるようだが、今回はLTEがoffの状態でもGPSを使用する必要があったのでスタンドアロンモード)
AT+CGPSAUTO=1
を設定しておくと、次回モジュール起動時からGPSセッションが自動的に開始される。
$ cat /dev/ttyUSB1
でNMEAセンテンスがずらずら流れてきていたらGPSは動いている(実際に衛星を捕捉できているかどうかは別として)
gpsdのインストール
NMEAセンテンスについて学んで自力でパースしてもよさそうだけど、それはちょっとやりたくなかったので定番のgpsdを使う。
sudo apt-get update
sudo apt-get install gpsd gpsd-clients
gpsdの設定
デフォルトのunitファイルが設定ファイルとして/etc/default/gpsd
を読みにいくようになっているのだが、/etc/gpsd/gpsd.conf
を読みにいくように変更したいので、デフォルトのunitファイルを上書きする設定を作成する。
参考: https://qiita.com/nvsofts/items/529e422bb8a326401c39
$ sudo systemctl edit --full gpsd
Nanoが起動して嫌なので、
sudo update-alternatives --config editor
して、vimを選択するとvimで編集できる。
内容は以下のようにする。
[Unit]
Description=GPS (Global Positioning System) Daemon
Requires=gpsd.socket
# Needed with chrony SOCK refclock
After=chronyd.service
[Service]
#EnvironmentFile=-/etc/default/gpsd
EnvironmentFile=/etc/gpsd/gpsd.conf
ExecStart=/usr/sbin/gpsd -N $GPSD_OPTIONS $DEVICES
[Install]
Also=gpsd.socket
/etc/gpsd/gpsd.conf
は以下のようにする。
# Start the gpsd daemon automatically at boot time
START_DAEMON="true"
# Use USB hotplugging to add new USB devices automatically to the daemon
USBAUTO="false"
# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/ttyUSB1"
# Other options you want to pass to gpsd
GPSD_OPTIONS=""
gpsdの動作チェック
cgps
cgps
左側の枠の中に、
Status: 3D FIX (X secs)
と出ていれば、測位できている状態です。
コールドスタートになるので、3D fix まで数分程度かかる。
緯度経度高度を読む
cgpsでも出力されているJSONっぽい部分だけほしい場合、gpspipe
コマンドを使います。
gpspipe -w
続く・・・
Author And Source
この問題について(SIM7500のGPSを利用する), 我々は、より多くの情報をここで見つけました https://qiita.com/miminashi/items/ce2727f2a7cbeb8ee3cf著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .