土地形状スキャン014 NanoPi Neoから測位データを取得

造成

前回はNanoPi NeoにSimpleRTK2BをUSBケーブルで接続し、Linux上で認識していることまで確認できた。

土地形状スキャン013 str2strのインストールとGNSS受信機の接続
GNSS受信機を使った土地スキャンの仕組みを改善検討 受信機の接続をPCかNanoPi NEOに変更する試み NanoPi NEOにArmbianをインストールし、一般ユーザーを登録してログインした状態から。 参考:RTKLIB ve...

シリアルポート名の確認

Linuxでシリアル通信を行う際は、通信相手のシリアルポート名が必要となる。

シリアルポート名はttyACMxかttyUSBxとなる場合が多い。

下記コマンドで検索する。

% ls /dev/ | grep ttyUSB

% ls /dev/ | grep ttyACM

今回の環境では「ttyACM0」のみが検索され、これが認識されているシリアルポート名であることがわかる。

str2strの実行

書式:str2str -in stream[#…] -out stream[#…] [-out stream[#…]…] [options]

※「RTKLIB ver. 2.4.2 Manual」p.101より

-in(入力)はSimpleRTK2Bのシリアルポート名を指定

-out(出力)はファイルパスとファイル名を指定

パスはsamba共有フォルダ

ファイル名は重複を避けるため現在のタイムスタンプを含む文字列とした

タイムスタンプはdateコマンドをバッククオート

今回の環境では、下記コマンドを実行

% str2str -in serial://ttyACM0:115200#ubx -out /home/share/`date +%Y%m%d%H%M%S`.ubx

(問題なく実行されると一定時間ごとにログが表示される)

実行中のstr2strを終了させるには、Ctrl+cを打つ

LANケーブルを母艦PCと接続し、共有フォルダを開くと、ubx拡張子のファイルが生成されていることを確認

str2strを常駐プログラム化

常駐させたいプログラムの設定を記述したユニットファイルを作成し、systemctlコマンドを使って常駐させる。

シェルスクリプト作成

% sudo vi /usr/bin/str2str.sh

内容:

#!/usr/bin/zsh

str2str -in serial://ttyACM0:115200#ubx -out /home/share/`date +%Y%m%d%H%M%S`.ubx

シェルスクリプトファイルの実行権限付与

% sudo chmod +x /usr/bin/str2str.sh

ユニットファイル作成

% sudo vi /etc/systemd/system/str2str.service

内容:

[Unit]

Description=RTKLIB str2str Service

[Service]

ExecStart=str2str.sh

Restart=no

Type=simple

[Install]

WantedBy=multi-user.target

常駐開始

% systemctl start str2str.service

常駐終了

% systemctl stop str2str.service

起動時常駐開始有効化設定

% systemctl enable str2str.service

※実行後、再起動すると自動的に常駐するようになる。

※今回は使用しない設定

常駐時に母艦PCから共有フォルダにubxファイルが作成され、更新され続けるようになっていることを確認。

タイトルとURLをコピーしました