isaaxはIoT向けのクラウドプラットフォームです。そのため、はじめるにあたってIoTデバイスが必要となります。有名なところではRaspberry Piが挙げられるでしょう。しかし、Raspberry Piを使い始める際にはいくつかのステップがあります。

  1. Raspberry Pi本体を買う
  2. SDカードを買う
  3. SDカードにOSイメージを書き込む
  4. ディスプレイとUSBキーボードを差し込んで起動する

これらのステップは飛ばすこともできますが、多少なりとも時間と手間がかかってしまうのは事実です。そこで今回はRaspberry Piエミュレータを使って、デスクトップマシンでisaaxを体験する方法を紹介します。

macOSの場合

Raspbianのイメージをダウンロード

Raspberry PiのOSイメージをダウンロードします。このファイルがある場所を作業ディレクトリとします。執筆時点での最新版は 2018-04-18-raspbian-stretch でした。

QEMUのインストール

最初にARMに対応した仮想マシン実行環境であるQEMUをインストールします。これはHomebrewを使うのが簡単です。

$ brew install qemu

カーネルのダウンロード

QEMU用のカーネルをダウンロードします。執筆時点での最新版は4.9.59でした。

$ wget https://github.com/dhruvvyas90/qemu-rpi-kernel/raw/master/kernel-qemu-4.9.59-stretch
$ wget https://github.com/dhruvvyas90/qemu-rpi-kernel/raw/master/versatile-pb.dtb

起動する

準備ができたので起動します。起動コマンドは以下のとおりです。

$ qemu-system-arm -kernel kernel-qemu-4.9.59-stretch \
  -cpu arm1176 \
  -M versatilepb \
  -dtb versatile-pb.dtb \
  -m 256 \
  -no-reboot \
  -serial stdio \
  -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" \
  -hda 2018-04-18-raspbian-stretch-lite.img \
  -net nic -net user,hostfwd=tcp::10022-:22

ターミナルで実行すると、Raspberry Piのログイン画面がターミナル側でも表示されます。この画面はポートフォワードされている内容なので、Ctrl + cなどを入力するとエミュレータのプロセス自体が終了してしまいます。tailやCtrl + cを使うような処理を使う場合にはエミュレータ側の画面を使う方が良いでしょう。

isaaxdをインストールする

ではいよいよisaaxdをインストールします。これはダッシュボードで表示されるコマンドを実行するだけです。

$ curl -fsSL get.isaax.io | sh -s stable eyJ...9O0

インストールが終わると自動的にサービスが開始します。

サンプルアプリケーション

Raspberry PiではデフォルトでPythonがインストールされています。なお、バージョンは2.7系です。そこで app.pyを以下のように作ります。

import time
import sys

while True:
    print("Hello IoT from isaax")
    sys.stdout.flush()
    time.sleep(5)

そしてisaax.jsonは次のような内容になります。

{
  "name": "hello-isaax",
  "version": "",
  "description": "Python - raspberry-pi",
  "main": "app.py",
  "author": "",
  "license": "",
  "language":"node",
  "scripts": {
     "start": "python app.py"
    },
   "dependency": null
}

これをGitプロジェクトに追加し、pushします。

そうすると自動的にコードがRaspberry Piエミュレータ上にデプロイされ、メッセージのアップロードが開始します。


このような手順で手元にRaspberry Piがなくともisaaxを体験できます。もちろんLEDやセンサーなどのデータを取るためには実デバイスが必要ですが、まず体験するまでの流れとしてはエミュレータを使うのが簡単でしょう。ぜひお試しを!

isaax


Leave a Reply

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