今回使用するのは3G USBドングル AK-020 SORACOMスターターキットを使用します。

デバイスの初期設定

まずAK-020にSORACOMのSIMカードを挿入します。
そしてUSBドングルをRaspberry piのUSBポートに挿入します。

使用するにはAK-020のドライバをインストールする必要がありますが、SORACOM公式でインストールコマンドが用意されているので、それを使用します。

各種デバイスで SORACOM Air を使用する

$ curl -O https://soracom-files.s3.amazonaws.com/setup_air.sh
$ sudo bash setup_air.sh

再起動をして動作確認です。

pi@raspberrypi:~ $ ifconfig

- 中略

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.241.220.***  netmask 255.255.255.255  destination 10.64.64.64
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 125  bytes 4433 (4.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 159  bytes 9291 (9.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

- 中略

wwan0: flags=4227<UP,BROADCAST,NOARP,MULTICAST>  mtu 1500
        ether 4e:89:4c:c9:03:f9  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1  bytes 76 (76.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

上記コマンドで ppp0やwwan0 というものが見つかれば通信は完了です。
SORACOMのコンソールでも確認してみましょう。

使用しているSIMカードをクリックして、[+SIM登録]の隣りにある詳細ボタンをクリックします。

ifconfigのppp0の、inetの項に書かれているIPアドレスとコンソール画面のIPアドレスが一致していればOKです。

 

Isaax側の用意

isaaxdは、アプリケーションの標準出力と標準エラー出力を監視して自動的にログをアップロードします。HarvestインテグレーションをONにしている状態で標準出力を行うとisaaxdはSORACOMのセッションを判別し、使用可能な場合はHarvestにリクエストを送信します。そのため、アプリケーション上ではネットワークに関する処理を書く必要はありません。

サンプル

順を追って説明します。

まずこちらのサンプルスクリプトを使用します。
これは60秒おきにtemptureと称してランダムな値を生成し、isaaxdを介してSORACOMへ送信するスクリプトです。実際には、アプリケーションはJSON文字列を標準出力しているに過ぎません。

これを導入してみましょう。
まずこれをforkして自分のアカウントにリポジトリを作ります。

そしてisaaxにログイン。
[新規プロジェクト追加]をクリックして[GitHub]を選択。
[リポジトリ]の中から”{自分のユーザー名}/harvest-example”を選択します。
それ以外は初期値でいいです。

[保存]をクリックするとインストール方法の案内が出ます。
これの[インストールスクリプト]というのをコピーして対象のRaspberry piのコンソールに貼り付けたらインストール完了です。簡単ですね。

あとはSORACOMプラグインを有効にすれば端末側の用意は完了です。

isaaxダッシュボードのクラスターの欄、[DEFAULT]をクリックします。

左の方の歯車をクリック、[Isaaxdプラグイン]から[PLUGIN_SORACOM_HARVEST]をオンにします。

これで端末側は完了。簡単ですね。

SORACOM側の用意

SORACOMはSIMカード単位で端末を識別し、収集したデータを蓄積します。
ただし、デバイスグループの設定は必要です。

まずSORACOMコンソールの[MENU]から[デバイスグループ]をクリックします。

[+グループを作成する]をクリックして適当な名前でグループを作成します。
そして[MENU]から[SIM管理]へ進み、使用するSIMカードを選択。

[操作]から[所属グループ変更]を選んで先程のグループを適用させます。

これでSORACOM側の用意も完了です。簡単ですね。

動作確認

いよいよデータの確認です。
SIMを選択して[操作]→[データ確認]と進んでみましょう。

このようにグラフが表示されました。
数値はjsonの形式を自動で判別して形成してくれるので、特に高度な設定がなくてもあまり問題はありません。

今回のスクリプトは説明の見栄えのためにランダムな数字を送信していますが、別途センサーで温度などを送信するようにすると簡単にIoTセンサーが作れると思います。

Categories:

isaax

IoT向けの継続的デリバリーサービス isaax (アイザックス) isaaxを使えば1アクションで数百・数千のデバイスをアップデートできます。 IoTシステムの構築をより簡単にします。

Comment on this FAQ

Your email address will not be published. Required fields are marked *