Help us understand the problem. What is going on with this article?

SORACOM LTE-M Button for Enterprise (白ボタン) と SORACOM Beam の組み合わせがうまくいかないときのトラブルシューティング

はじめに

白ボタンでは UDP でSORACOM へ投げるしコンソール接続などができないため、SORACOM Beam での転送がうまくいかなかったときにどこで問題が起こっているのかを切り分けるのが難しいです。今回は、SORACOM Harvest を使ってトラブルシューティングしてみました。
なお、設定が間違っているときとかは、エラーログ機能で確認ができます。

白ボタン?な方はこちら
https://soracom.jp/products/gadgets/
https://dev.soracom.io/jp/enterprise_button/

トラブルのシナリオ

白ボタンと SORACOM Beam を連携してみたが、ボタンをクリックしてもLED が赤くなる。しかしどこに原因があるのかがわからない。

(失敗例) SORACOM の公式チュートリアル に従って PostBin にPOST しようとしたが、うっかり URL を 1 文字漏らしてコピペしてしまった
image.png
image.png

トラブルシューティング手順

  1. SORACOM Harvest を有効にしてボタンをクリックし、SORACOM Harvest にデータが格納できているかを確認する
  2. SORACOM Harvest に格納されたデータを curl などで SORACOM Beam の転送先に送り、エラーなどが返らないかを確認する

トラブルシューティングのフローチャート

flow.png

1. SORACOM Harvest を有効にしてボタンをクリックし、SORACOM Harvest にデータが格納できているかを確認する

白ボタンが所属しているグループで Harvest を有効にします。
image.png

この後、ボタンをクリックします。ここで LED に緑色になるのは Unified Endpoint 経由で Harvest への送信には成功しているからです。Harvest を無効にすると Beam だけに送られるためまた赤色になります。

次に、Harvest にデータが格納されているかを確認します。下のように表示されていれば、少なくとも Harvest にはデータが送られているのでネットワークなどは問題ないといえます。
image.png

なお、もし下のようになっていたら、バイナリパーサーが有効になっていないので有効にしましょう。
image.png

2. SORACOM Harvest に格納されたデータを curl などで SORACOM Beam の転送先に送る

先ほど Harvest で格納を確認した json 形式のデータをそのまま手元の PC から curl で送ってみます。もしポート番号やヘッダを別途設定している場合はよしなにつけてください。

$ curl -XPOST -H 'Content-Type:application/json' -d '{"clickType":1,"clickTypeName":"SINGLE","batteryLevel":1,"binaryParserEnabled":true}' https://postb.in/1561708098714-987965611973
404 - Not Found

今回の場合、PostBin の URL をコピペミスしていたのでここで 404 が返り、そもそもの URL が怪しいのかも、という切り分けができます。以下のように、URL を直せば正常なレスポンスが返ってきます。もし詳細なログを見たければ curl -v オプションをつけるのも良いです。

curl -XPOST -H 'Content-Type:application/json' -d '{"clickType":1,"clickTypeName":"SINGLE","batteryLevel":1,"binaryParserEnabled":true}' https://postb.in/1561708098714-9879656119737
1561709365768-3901113041210

もし curl でうまくいくが引き続き Beam では失敗するようなことがあれば、たとえばアクセス認証などを疑うことが考えられます。少なくとも URL が正しく対向のサーバには到達しているので、対向のサーバ側のエラーログを見るというトラブルシューティングが考えられる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away