質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

GPS

GPSは、Global Positioning Systemの略です。衛星信号を使用して受信機の地上又は空中内の居場所を特定するナビゲーションシステムです。"GPS"は受信機のことも指します。

シリアルポート

シリアルポートは一度に一ビットごと移行される物理的なインターフェイスです。一般的には、9ピンのd-subコネクタであるRS-232を指します。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

0回答

2803閲覧

ラズベリーパイでシリアル通信でGPSが取得できない

okazu_30

総合スコア0

Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

GPS

GPSは、Global Positioning Systemの略です。衛星信号を使用して受信機の地上又は空中内の居場所を特定するナビゲーションシステムです。"GPS"は受信機のことも指します。

シリアルポート

シリアルポートは一度に一ビットごと移行される物理的なインターフェイスです。一般的には、9ピンのd-subコネクタであるRS-232を指します。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

0クリップ

投稿2021/05/02 09:14

GPSユニットから位置情報を取得しリアルタイムに監視できるシステムを作りたいと考えているのですが、まずこの記事
Raspberry Piに「みちびき」対応GPSモジュールを接続
を参考にGPSの基本設定を完了させようとしています。
環境はラズベリーパイ3B+、OSはraspbianのカーネルバージョンは5.10です。
GPSユニットは秋月電子の
GNSS(GPS・GLONASS・QZSS)受信機キット 1PPS出力 みちびき3機対応 アンテナセット付キット
を使用しています。

そして問題なのですが、記事通りの設定をしたところ、__pps test__コマンドでPPSの信号は受信できていますが__cgps -s__や__gpsmon__といったコマンドで写真のようにそれ以外の情報が全く取得できないです。
cgps
gpsmon

GPS自体はアンテナは屋外に出しており、受信機のランプが点滅しているのでしっかりと測位されているはずです。
シリアル通信ができていないのではとも思いましたがPPSが取得できていることからその可能性はないと思っています。

半日ほどネット検索で解決法を探しましたがどれも解決に繋がる情報はありませんでした。

解決法が分かる方がいらっしゃればご教授いただければと思います。宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2021/05/02 09:40 編集

>シリアル通信ができていないのではとも思いましたがPPSが取得できていることからその可能性はないと思っています。 pps出力はシリアルではないのでは?
thkana

2021/05/02 09:40

> シリアル通信ができていないのではとも思いましたがPPSが取得できていることからその可能性はないと思っています。 1PPSの取得ができていれば、GPSユニットからNMEA/UARTの出力が出ていることは期待できますが、それと「通信ができている」ことは直接にはつながらないのでは? Raspberry Piのシリアル受信がちゃんとできていることは何らかの方法で確認しているのですか?
thkana

2021/05/02 11:15

(余談ですが、「みちびき対応」と高精度測位ってイコールとは限らないんじゃなかったっけ? そのへんはそのGPSモジュールはどうなんでしょう?)
okazu_30

2021/05/02 13:04

なるほど、そうですね。 シリアル通信ができているか確認する方法には何があるでしょうか。シリアルモニタでしたっけ?その辺りでしょうか? > 余談ですが、「みちびき対応」と高精度測位ってイコールとは限らないんじゃなかったっけ? そのへんはそのGPSモジュールはどうなんでしょう? 確かみちびき4機対応が高精度だったはずです。何機受信できるかで決まったと思います。しかしこのモジュールは3機対応ですがそれでも公称誤差2mなので十分正確なのではないですかね?
thkana

2021/05/02 13:44

Linuxはあまりよく知りませんが、なにかシリアル使えるターミナルがあれば(Arduino IDEのシリアルモニタでも)まずは何も繋がずにTXRXをショートしてエコーバックを確認して、GNSSモジュールを繋いでNMEAを確認して...という手順になるのでは。 十分正確と言えるかどうかは用途にもよるので。実力を把握したうえで使用されるならいいんじゃないですか。参照先はなんだか「みちびきだから(GPSより)高精度」みたいな期待をしているような感じだったのでちょっと触れたまで。
okazu_30

2021/05/02 23:06

少し調べてminicomというツールを使いTXとRXをショートさせて導通確認をしてみたところしっかりとシリアル通信が出来ていることが確認できました。 とするとラズベリーパイ側の設定は問題がなかったということでしょうか…
thkana

2021/05/02 23:59

エコーバックがとれたのならまずは第一歩。 「通信」ですから、相手が居る話なので、GNSSモジュールと繋いで生のコマンドで通信できているか調べるのが次の確認だと思います。
okazu_30

2021/05/03 00:13

やはりモジュールと接続すると信号は受信できていないみたいです。 Bluetoothと干渉して動かなかった例もあったのでBTを無効にしましたがこれも手応えはなしでした。 その後この設定のせいなのか分かりませんがシリアルのデバイスttyS0が使用できなくなりました…これは悪化させてしまったようです。
thkana

2021/05/03 00:43

> モジュールと接続すると信号は受信できていない モジュールがGNSS信号を受信する話とRaspberryPiがシリアル信号を受信する話とありますが、どちらの話をしていますか? 直前までシリアル信号の話をしていたつもりなのですけれど... Bluetoothがどうこうっていうと、RFつながりでGNSS信号? Tx/Rx/Gndを接続すると1PPSが出なくなるのですか? GNSSとBluetoothでは周波数はだいぶ違いますけどねぇ。 「受信できていない」は解釈した結果ですよね。その解釈に至るまでに見えた観測できる事実を共有してください。 Linux方面は私は知識ないですが、 > デバイスttyS0が使用できなくなりました これも、「使用できない」ではなく起こっている状況をきちんと書けば誰かが何か知っているかも、とは思います。
ozwk

2021/05/03 01:26

よくあるミスがtx同士、rx同士をつないじゃうことですけど大丈夫ですか?
okazu_30

2021/05/03 04:32

txとrxの接続間違いは問題ないです。 ひとまず新たにOSをインストールしなおしてみました。 しかし結果は変わらず… これだけ試しても解決法が見つからなかったので一旦GPSは諦めようかと思います… ネット上でも全てしっかり設定しているにも関わらず受信できないという例も複数見られましたがそういったスレッドは全て未解決で終わっているようでした。
thkana

2021/05/05 00:15

結局「なにが起きているのか」を探らない限り場当たり的に「やってみる」では解決しないと思います。 モジュールとRaspberryPiの間でシリアル通信ができていることは確認したのですか?
okazu_30

2021/05/05 03:21

やはりそれが一番確認したいところなのですがその間での通信を確認する方法がないためどうしようもない感じです。 せめてモジュール側から信号が出力させてきているかだけでも分かればいいんですがオシロスコープ等持っていませんので…
thkana

2021/05/05 04:48

> その間での通信を確認する方法がない え? シリアルで接続しているのだからminicomで見ればよいのではないのですか?
okazu_30

2021/05/05 04:53

モジュールを通すと文字コードが出力されてくる訳ではないのでminccomでは確認が不可能なのです。
ikadzuchi

2021/05/05 14:22

内容はともかく何か出ていることの確認ならLEDでもつなげば見られますよ。
okazu_30

2021/05/05 21:41

確かに3.3v出力なのでLEDで導通確認はできそうですね。ありがとうございます。後ほど試してみます。
thkana

2021/05/05 22:12

LEDつけるなら一応言っておくと、モジュールのスペックは不明だけど出力ポートはLEDを煌々と点灯させるような電流を流せるドライバになっていないことも多いと思うので、せいぜい1~2mA程度で「光っていることがかろうじてわかる」ぐらいにしておきましょうね。
okazu_30

2021/05/06 09:56 編集

ご忠告ありがとうございます。 先程持ち合わせている中でもっとも動作電圧・電流の低い2.8VのLEDを接続してみたところわずかにすらも光らなかったです。 txとrxの間に抵抗はつけすにLEDだけを挟んだのですがダメでした。 これはまさかとは思うのですがそもそもモジュールのrxがtxのどちらかが回路がどこかで断線等している可能性があるのでしょうか。明日テスターが手元に戻りそうなのでテスターを使い確認してみようと思います。
thkana

2021/05/06 12:21

> txとrxの間に抵抗はつけすにLEDだけを挟んだのですがダメでした。 いやいや、やるなと言ったことをやっているような。どうやってそれで1~2mAの電流を保証できるのかしら。 ついでにLEDへの逆電圧...これは3.3Vなら多分スペック内か。 まぁ可哀想なことではあるけどLEDもモジュールも即時壊れることもないでしょうね。多分。 他に壊すような無茶な使い方してないですね?
ikadzuchi

2021/05/07 00:52

> txとrxの間に抵抗はつけすにLEDだけを挟んだ ちょっと予想外の付け方でした。もう少し詳しく言った方が良かったですね…。 抵抗は付けて、TXとRXの間よりは「TXと3.3Vの間」「RXと3.3Vの間」を調べてほしかったです。(「TXと5Vの間」「RXと5Vの間」でも構いません) あとは念の為「TXとGNDの間」「RXとGNDの間」もあった方がよいですね。 ただ、TXとRXの間でも、両方の極性で試せば少なくとも(モジュール側の)RXがカソード・TXがアノードの時、RaspberryPiから送られた信号で光るはずです。この向きは調べましたか? また、テスターはあまり信号を見る役に立たないと思います。無信号時の電圧は見えますが。
okazu_30

2021/05/07 23:37

なるほどそういうことだったのですか… 無知なため負担のかかる使い方をしてしまったようですいません。 一応テスターで測ってみたところどのピンの間でも電圧が出ているのは確認できました。 とするとやはりラズベリーパイ側の設定ミスなのでしょうけれど…
ikadzuchi

2021/05/10 16:25

無知なのは構わないんですけど、調べてほしいことを調べて、かつ状況が分かるように報告していただけませんか? LED(と抵抗)を、「TXと3.3Vの間」・「RXと3.3Vの間」(難しければ「TXと5Vの間」・「RXと5Vの間」でも構わない)・「TXとGNDの間」・「RXとGNDの間」に挟んでみて、結果を教えて下さい。 TXとRXの間にLEDを挟んだ時、極性は両方試して両方ともデータ通信中に光らなかったのですか? また、「どのピンの間でも電圧が出ている」というのは、具体的にどのピンとどのピンの間に、何Vの電圧が出ていたのですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問