-
Notifications
You must be signed in to change notification settings - Fork 4
/
619.txt
153 lines (120 loc) · 6.69 KB
/
619.txt
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
[3]
[DFN[SORACOM]]
は、
[[株式会社ソラコム]]の [[IoT]] 製品群・[[プラットフォーム]]です。
[REFS[
- [2] [CITE@ja[SORACOM の概要 - IoT プラットフォーム [[株式会社ソラコム]]]], [TIME[2020-03-30 13:01:36 +09:00]] <https://soracom.jp/overview/>
- [1] [CITE@ja[Welcome | [[SORACOM]] Users]], [TIME[2020-03-26 00:33:25 +09:00]] <https://dev.soracom.io/jp/>
]REFS]
[19]
製品にそれぞれ特徴的な[[固有名詞]]がついていて、
それが頭に入っていることを前提にいろんな説明がなされているので、
一見わけがわかりません。
使い方の説明は一通りドキュメントが揃っているので、
丁寧に読み解いていけば実は案外単純な、そりゃあそうなるよなあという設計です。
[[アーキテクチャ]]の概要をいったん理解してしまえば、
最初の印象ほど難解でもない、普通のサービスです。
* SORACOM Beam
[8]
[DFN[SORACOM Beam]] [SRC[>>7]] は、 [[IoT]] 端末からの通信を [[SORACOM]]
サーバーを中継して任意の相手に送信させられるものです。
[9]
端末と直接通信するとなると端末の特性 (消費電力制限など)
を鑑み簡略なプロトコルを使うなど工夫が必要になります。
自サーバー側もその対応が必要になる上、
[[インターネット]]を通過するには [[TLS]]
など安全でも高コストな手法を使わざるを得ません。
[[SORACOM]] を信用し通信を媒介させるなら、
端末から [[SORACOM]] [[SIM]] を介して [[SORACOM]] サーバーまでの区間はそうした手法で通信し、
[[SORACOM]] サーバーから自サーバーまでの[[インターネット]]は [[HTTPS]]
のような汎用の[[プロトコル]]で通信するものと分けることができます。
[10]
端末から自サーバーまでの通信と捉えれば [[SORACOM]] サーバーは[[関門]]
([[アプリケーション層]]の[[ルーター]])
といえます。
[[SORACOM]] とその裏側にある端末をまとめて1つのサービスとして捉えるなら、
Beam (を使った [[HTTP]] への変換) はいわゆる [[Web Hook]] API と理解できます。
[6] 利用料金は[[従量制]]ですが、非常に安価です [SRC[>>5]]。
定期的にデータを送信する用途でも、かなりの回数が無料枠でカバー可能で、
それを超えても急激に課金されることはない良心的な価格設定です。
[REFS[
- [7] [CITE@ja[SORACOM Beam]], [TIME[2020-04-01 13:59:36 +09:00]] <https://soracom.jp/services/beam/>
- [5] [CITE@ja[[[SORACOM Beam]] のご利用料金]], [TIME[2020-04-01 09:31:48 +09:00]] <https://soracom.jp/services/beam/price/>
- [13] [CITE@ja[SORACOM Beam : Beamを使用したデータの送信 | 開発者ガイド | SORACOM Users]], [TIME[2020-03-31 22:48:03 +09:00]] <https://dev.soracom.io/jp/beam/send-data-using-beam/>
]REFS]
* Unidifed Endpoint
[20]
[[SORACOM]] のプラットフォームにはいくつもサービスがあって、
それぞれの使い道がありますが、
端末がそれに個別に対応するのは一苦労です。
構成の変更のたびに端末の改修も必要になってしまいます。
そこで、各サービスを直接使わず、
[DFN[Unified Endpoint]]
宛に送信すれば、
端末ではなく [[SORACOM]] サーバー上の設定で、
それを更にどのサービスに送信するかを決められるというわけです。
[21]
[[SORACOM Beam]] など
[[SORACOM]] のサービスは一通り対応しています。
これから作成する新しい[[アプリケーション]]は、
基本的に各サービスに直接送信するのではなく、
[[Unified Endpoint]] に送信すればよいのでしょう。
[REFS[
- [22] [CITE@ja[[[Unified Endpoint]] とは | 開発者ガイド | SORACOM Users]], [TIME[2020-03-26 00:33:26 +09:00]] <https://dev.soracom.io/jp/unified_endpoint/what-is-unified_endpoint/>
- [18] [CITE@ja[[[Unified Endpoint]] : 機能の説明 | 開発者ガイド | SORACOM Users]], [TIME[2020-03-31 22:48:06 +09:00]] <https://dev.soracom.io/jp/unified_endpoint/how-it-works/>
]REFS]
* GPS マルチユニット SORACOM Edition
[4]
[DFN[GPS マルチユニット SORACOM Edition]]
は
[[GPS]] 測位端末です。
** 利用設定
[17]
この[[装置]]は、 [[SORACOM]] の [[SIM]] と組合せて使う [[IoT]] 端末です。
つまりこの[[装置]]に [[SIM]] を指すと、
[[SORACOM]] サーバーにデータを送信するようになるので、
[[SORACOM]] のサービスを介してそのデータを取得する形になります。
[REFS[
- [23] [CITE@ja[[[GPS マルチユニット SORACOM Edition]]を使用して、定期的に位置情報を送信する | Getting Started with GPS マルチユニット SORACOM Edition | SORACOM Users]], [TIME[2020-03-26 00:33:26 +09:00]] <https://dev.soracom.io/jp/start/gps_multiunit_location/>
]REFS]
[24]
このドキュメントの手順通りに簡単に設定できます。
このドキュメントではデータを
[[SORACOM Harvest]]
に送信することになっています。
[[SORACOM Harvest]]
に送信すると、
[[SORACOM]]
の [[Webサイト]]上で直近のデータを[[地図]]表示できます。
ちょっとした動作確認や、
簡単な利用ならこれでも十分でしょう。
[26]
[[SORACOM Harvest]]
のデータは [[Web API]] 「DataEntry」
で取得できます。
[REFS[
- [25] [CITE@ja[API リファレンス | [[SORACOM]] Users]], [TIME[2020-04-02 13:41:36 +09:00]] <https://dev.soracom.io/jp/docs/api/#resource_DataEntry>
]REFS]
[27]
ただし DataEntry API は [[SIM]] 1つずつしかデータを取得できません。
複数端末を併用するときには不便です。
また[[ポーリング]]が必要となり定期的に送信される [[GPS]]
データの取得には不向きです。
** 測位データ
[12]
[[Base64]] 符号化された [[JSON]] データが送られてきます。
[SRC[>>11]]
[14]
残念なことに測定日時が入っていません。受信日時が測定日時に十分近いと仮定するほかありません。
[15]
[[GPS]]
データは[[緯度]]と[[経度]]が入っています。
[[高度]]や[[時刻]]はありません。
[16]
たまに[[緯度経度]]取得に失敗したのか、
[CODE[null]]
が送られてくることがあります。
[REFS[
- [11] [CITE@ja[GPS マルチユニット SORACOM Edition : 機能の説明 | ユーザーガイド | SORACOM Users]], [TIME[2020-03-26 00:33:25 +09:00]] <https://dev.soracom.io/jp/gps_multiunit/how-it-works/>
]REFS]
* メモ