2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RaspberryPi3でGPS受信キットを使ってみる(Ruby)

Last updated at Posted at 2020-07-15

Goal

  • GPSで位置情報が取れること

使ったもの

接続

手元に部品がそろっていたので秋月さまサイトに掲載されているマニュアルの回路図のまま組みました。スイッチングダイオードは実際は不要みたいですが、壊さないよう保険にもなるので繋ぎました。

image.png

初期設定でGPSのアンテナが真上を向く必要があったので、ブレッドボードが縦になっています。
ちなみに初期動作テストでLEDが点滅するまで30分くらいかかりました。窓際に置いたのですが置いた場所が悪かったのかも。

IMG_4489.jpg

ソース

下記ソースを実行するにはラズパイでUART接続関連の設定をする必要があります。そこはググってください:pray:
それさえすめばあとは特に大したことはやっていません。

なお、NMEAフォーマット解析用にnmea_plusを使いました。 SourceDecoder まぢ便利:point_up:

require 'serialport'
require 'nmea_plus'
sp = SerialPort.new('/dev/serial0', 9600, 8, 1, 0) # see: https://rubydoc.info/gems/serialport/SerialPort#set_modem_params-instance_method

trap 'SIGINT' do
  sp.close if sp
  exit
end

source_decorder = NMEAPlus::SourceDecoder.new(sp)
source_decorder.each_complete_message do |message|
  # see: https://github.com/ianfixes/nmea_plus/blob/master/lib/nmea_plus/message/nmea/rmc.rb
  if 'GPRMC' == message.data_type
    puts message.utc_time
    puts message.active? # false: データ無効
    puts message.latitude
    puts message.longitude
    #puts message.speed_over_ground_knots
    #puts message.track_made_good_degrees_true
    #puts message.magnetic_variation_degrees
    puts message.faa_mode # A: 単独測位(精度3m程度), D: 相対測位(精度0.4m程度) 
    puts
  end
end
# sp.close <=  ここには到達しないですね…

結果

以下実行結果です。

2020-07-15 12:35:37 +0000
true
33.725575
131.64382333333333
A
2020-07-15 12:35:38 +0000
true
33.72558166666666
131.64381833333334
A

ちなみにGoogleだと、検索キーワードに緯度経度を入れるとその地点でGooleMapが表示されますよー。
姫島村のオフィスです:grinning:

image.png

感想

  • GPS受信キットのピンの並びがラズパイのピンに合わせてある(と思われる)ので繋ぐとき迷わなかった。
  • 探せばたいてい便利なGemが見つかりますねー。意地でもRubyを使おう。
  • あ、1PPS端子繋いだのに遊ぶの忘れてた。
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?