忍者ブログ

設備のマニアどっとこむ

IoT開発、設備・DIYのブログ!

Raspberry pi にGPSモジュールをつないで自作andoroidアプリで位置を確認した話

raspberry piに今度はGPSモジュールを接続してみることにした。

↑↑秋月で購入した「みちびき」対応GPSモジュール

配線が簡単で5V、GND、RXD、TXDを下記配線図のマルのところへつなげるだけ


今回はシリアル通信のため、ラズパイのシリアル設定をONにする。
続いて/boot/cmdline.txtをエディターで「console=serial0,115200」を削除して再起動する。コマンドとしては sudo nano /boot/cmdline.txtでOK

そしてこれをおなじみ(?)Slackでツイートできる様にする。

# coding:utf-8
 
import requests
import json
import serial
 
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
s = serial.Serial('/dev/serial0', 9600, timeout=10)
 
r=s.readline ()
t=str(r)
 
print(r)
    
SLACK_URL = "https://hooks.slack.com/services/*****************"
 
def send_slack():
 
    content = t
    
    payload = {
        "text": content,
        "icon_emoji": ':mouse:',
    }
 
    data = json.dumps(payload)
 
    requests.post(SLACK_URL, data)
 
send_slack()

これで以前の記事の様にcorontab -eにて設定すると、GPSの経度、緯度を定期的に出力するが…

$GPGGA,123602.000,3534.6717,N,13941.0083,E,1,6,2.16,22.7,M,39.4,M,,*61

といった具合の記述になってしまう。
これはNMEA0183規格というもので、太字の個所が緯度と経度を示している。
このままではマップアプリにて使用できないので自作アプリで経度と緯度を換算することにした。


↓Google playリンク
https://play.google.com/store/apps/details?id=com.websarva.wings.android.implicitintentsample


経度、緯度入力画面 

入力するとgoogle mapへ飛んで位置を特定

コピー&ペーストする手間はあるものの、気軽にNMEA0183規格が使えるので是非試していただければと思います。


ちなみにアプリのアイコンを奥さんに作ってもらいました。
名前はまだありません… 

実は今回の一件でGoogleに25ドルも払ってしまいました。
元をとるためにも、次回なにかmakersに役に立ちそうなアプリを作っていきたいと思います。
(といっても無料アプリの予定です…)

↓開発用に購入したandroidタブレット↓


3月18日更新
AWSを使ってアップロードしてみました








拍手[1回]

PR

コメント

翻訳(Translate)

プロフィール

HN:
佐々木 雅史
性別:
男性
自己紹介:
2021年 ラズパイ、M5stackを用いたIoT開発を専門で受注するアルティメンテを設立。代表を務める。
・2020年ラズパイコンテスト優良賞受賞
・設備系資格多数(電験3種、消防設備士甲4、2級ボイラー技士、危険物乙4、電工2種、技術士補(電気・電子)、エネ電、フォークリフトなど)

AD

カレンダー

02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31