GPSでRTK基地局を運用するには、基地局情報を配信するキャスターサーバーの稼働確認が必要です。
ここでは、Pythonのrequestsモジュールを使用してNtrip CasterサーバーにGETリクエストを送信し、レスポンスのステータスコードを確認しています。ステータスコードが200の場合は、Ntrip Casterサーバーが稼働中であると判断しています。
ステータスコード200以外が返ってきた場合は、エラーメッセージを表示しています。必要に応じて、このソースコードを拡張して、より詳細な稼働状況の情報を取得することもできます。また、Ntrip Casterサーバーにアクセスする際に認証が必要な場合は、requestsモジュールを使って認証情報を渡すこともできます。
目次
RTK基地局のNtripCasterの稼働確認を行うPythonコード
#Pythonコード
import requests
# Ntrip CasterサーバーのURL
ntrip_caster_url = 'http://example.com:2101'
# Ntrip Casterサーバーへのリクエストを送信して、レスポンスを取得する
response = requests.get(ntrip_caster_url)
# レスポンスのステータスコードを確認する
if response.status_code == 200:
# レスポンスが成功した場合、稼働状況を表示する
print('Ntrip Casterサーバーは稼働中です。')
else:
# レスポンスが成功していない場合、エラーメッセージを表示する
print('Ntrip Casterサーバーへのアクセスに失敗しました。ステータスコード:', response.status_code)
Ntripマウントポイント(ソースノード)、ユーザーID、パスワードを含める場合
import requests
# Ntrip CasterサーバーのURL
ntrip_caster_url = 'http://example.com:2101'
# Ntripマウントポイント
ntrip_mountpoint = 'MOUNTPOINT'
# ソースノード
source_node = 'SOURCENODE'
# ユーザーID
user_id = 'USERID'
# パスワード
password = 'PASSWORD'
# Ntrip Casterサーバーへのリクエストを送信して、レスポンスを取得する
response = requests.get(ntrip_caster_url, auth=(user_id, password), headers={'Ntrip-Version': 'Ntrip/2.0', 'User-Agent': 'NTRIP Client'}, params={'mountpoint': ntrip_mountpoint, 'source': source_node})
# レスポンスのステータスコードを確認する
if response.status_code == 200:
# レスポンスが成功した場合、稼働状況を表示する
print('Ntrip Casterサーバーは稼働中です。')
else:
# レスポンスが成功していない場合、エラーメッセージを表示する
print('Ntrip Casterサーバーへのアクセスに失敗しました。ステータスコード:', response.status_code)
ソースノードがマウントポイントの事を指している場合もあります。
このソースコードでは、requestsモジュールのauthパラメータにユーザーIDとパスワードを渡してHTTPベーシック認証を行い、headersパラメータにNtrip Casterサーバーに対するリクエストのヘッダー情報を設定して通信します。paramsパラメータにNtripマウントポイントやソースノードを渡して、特定のNtripストリームの稼働状況を確認しています。