2015年01月04日
python備忘録10(スマホのGPSデータをサーバーで受信する)
前回のpython備忘録7の続きです。
「1.送信者であるスマホ側でプログラムを起動」を達成するためには。
1)スマホにSL4Aアプリをインストールし、さらにpythonを利用できるようにする。
SL4Aについてはここをを参考にしました。
とてもわかりやすい説明です。
2)SL4Aを起動し、「gpslog.py」というプログラムファイルを作成。
3)SL4A上でpythonを立ち上げ、編集により以下のプログラムを入力し、起動させる
以上で完成です。途中の数字は時間であり、ご自由に大小できます。
このプログラムでは、約15分毎に時刻、緯度、経度をスマホから入手し、
自分のサーバに自動POST送信します。
なお、緯度経度は、電波塔から得る値です。GPS機能は使いません。
何故なら電池の消耗が早いので。
GPSを受信し、その緯度経度を送信したい場合は、log_networkを変更する必要があります。
ここでは紹介しません(すみません)。
また、時刻はUNIX時間となります。西暦に変換する方法は多々ありますので、
ご自由に変換下さい。
実際に私のサーバで受信した際の状況は以下のようになります。
最新のデータが表示され、過去のデータは
GPSログのリンクをクリックすると見られるようになっています。
次回はサーバ側のプログラムを備忘録として紹介します。
There is nothing to regret in my life.(我が生涯に一片の悔いなし)
「1.送信者であるスマホ側でプログラムを起動」を達成するためには。
1)スマホにSL4Aアプリをインストールし、さらにpythonを利用できるようにする。
SL4Aについてはここをを参考にしました。
とてもわかりやすい説明です。
2)SL4Aを起動し、「gpslog.py」というプログラムファイルを作成。
3)SL4A上でpythonを立ち上げ、編集により以下のプログラムを入力し、起動させる
import android
import time
import urllib
while True:
droid = android.Android()
droid.startLocating(60000,10)
time.sleep(60)
log = droid.readLocation().result
log_network = log[u'network']
log_time = log_network[u'network']
log_latitude = log_network[u'latitude']
log_longtitude = log_network[u'longtitude']
url = 'http://ここに御自身のサーバの受信プログラムを記述したcgiのurlを記述する(受信プログラムはpython備忘録9にて紹介予定)'
pstData = {'Time':log_time, 'Latitude':log_latitude, 'Longtitude':log_longtitude}
params = urllib.urlencode(postData)
print urllib.urlencode(postData)
droid.stopLocating()
time.sleep(840)
以上で完成です。途中の数字は時間であり、ご自由に大小できます。
このプログラムでは、約15分毎に時刻、緯度、経度をスマホから入手し、
自分のサーバに自動POST送信します。
なお、緯度経度は、電波塔から得る値です。GPS機能は使いません。
何故なら電池の消耗が早いので。
GPSを受信し、その緯度経度を送信したい場合は、log_networkを変更する必要があります。
ここでは紹介しません(すみません)。
また、時刻はUNIX時間となります。西暦に変換する方法は多々ありますので、
ご自由に変換下さい。
実際に私のサーバで受信した際の状況は以下のようになります。
最新のデータが表示され、過去のデータは
GPSログのリンクをクリックすると見られるようになっています。
次回はサーバ側のプログラムを備忘録として紹介します。
There is nothing to regret in my life.(我が生涯に一片の悔いなし)
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image