Armadillo IoT をKiiにつないでみた。① 環境構築編

2015/08/07

カテゴリー:開発お役立ち

様々なIoT機器をインターネット上のクラウドに接続する際に、それぞれの装置が通信回線を備えるのは費用的にも大変ですよね? そういった場合に「IoT ゲートウェイ」と呼ばれるネットワーク製品を介してつなげる場合が多く出てきました。IoT機器とゲートウェイの間はBLEなどでつなぎ、ゲートウェイから3Gや有線インターネットで外部に接続する、というパターンです。こうすれば、3Gのハードウエアや回線費用を節約することができますね。

今回、IoTゲートウェイの代表的な製品、アットマークテクノ社の「Armadillo IoT」とKiiを接続し、装置内部の温度計の測定データをアップロードする、ということを行いましたのでその手順を公開いたします。

その1回目は「環境構築編」。PCとArmadillo IoT を接続するところまでを解説いたします。

Armadillo IoT とホストマシンを接続する

Armadillo IoT に有線 LAN (CON6) 、 USB シリアル (CON9) を接続する (電源は接続しない) (4.3. インターフェースレイアウト)
USB シリアルのスライドスイッチは 1 にセットして Armadillo-IoT のシリアルコンソールに接続するようにする (4.5. スライドスイッチの設定について)

USB シリアルの反対側を Windows のホストマシンと接続
デバイスマネージャ上で認識されていることを確認する

armadillo1_0806_1.pngarmadillo1_0806_2.png

VMware をインストールする

VMware Player をダウンロード してインストールする
(2015/07/17 時点でのバージョンは VMware-player-7.1.2-2780323.exe )

ATDE (開発環境) の VMware 仮想イメージファイルを用意して起動する

ドキュメント・ダウンロード のページから ATDE をダウンロードする
今回はホストマシンが 64bit に対応していたので amd64 向けをダウンロード
(2015/07/17 時点でのバージョンは atde5-amd64-20150612.tar.xz でした)

イメージは tar.xz で圧縮されているので必要であれば Howto を参考に展開する
ホストマシンに Cygwin が入っていたので tar コマンドを使用して展開した
展開すると atde5-amd64-20150612 ディレクトリの下に ATDE5 amd64.vmx や atde5-amd64.vmdk 等が作成される

作成された vmx ファイルをダブルクリックすることでも起動できるが、起動前に仮想マシンのメモリサイズ等を変更したいのでまずインポートする
スタートメニューから VMware を起動して 仮想マシンを開く をクリック、 vmx ファイルを選択するとライブラリに追加される
追加された仮想マシンを選択して 仮想マシン設定の編集 をクリックするとメモリ等の設定を編集できる
今回はメモリを 2GB 、プロセッサ数を 2 に変更した
(仮想マシンの起動時は小さなウインドウで表示されるが、サイズを変更したり左上のメニューからフルスクリーンにするとゲスト上の解像度も動的に変更される)

仮想マシンの再生 を選択すると ATDE を起動することができる
この際いくつかダイアログが表示される

  • この仮想マシンは移動またはコピーされた可能性があります
    コピーしました を選択
  • 次のソフトウェアがダウンロード可能です VMware Tools Linux 版
    後で通知する を選択
  • 次のデバイスはこの仮想マシンに接続できます Future Devices FT232R USB UART
    OK を選択 (これがArmadillo IoT の USB シリアルなのであとで接続する)
    (その他 USB デバイスがホストマシンに接続されていれば何度か表示されます)

ログイン画面で atmark を選択するとパスワードの入力画面が表示されるのでパスワード (atmark) を入力してログインする (4.2.1.4. ATDE5の起動)

Armadillo IoT と ATDE の接続

まず Windows で認識されている USB シリアルを VMware を操作して仮想マシンへ接続、 ATDE 側で使用できるようにする

armadillo1_0806_3.png

Armadillo-IoT と ATDE でシリアル通信をするために Minicom の設定をする (4.2.4. シリアル通信ソフトウェア(minicom)の使用)

まず端末を開いて (4.2.3. コマンドライン端末(GNOME端末)の起動)

armadillo1_0806_4.png

以下のコマンドで Minicom の設定画面が表示される


$ LANG=C minicom --setup

Serial port setup -> E - Bps/Par/Bits でシリアルの通信設定を開いて Current が 115200 8N1 になるように設定を変更
はじめのメニューまで戻り Save setup as dfl でデフォルトの設定として保存、一旦 Exit from Minicom で終了する

armadillo1_0806_5.png

Armadillo IoT の起動と終了

■起動

以下のコマンドで Minicomを起動する


$ LANG=C minicom --noinit --wrap --device /dev/ttyUSB0

Minicom が起動している状態で Armadillo IoT の電源ケーブルを接続するとブートローダのプロンプトが表示される (CON9が接続されている状態では保守モードとして動作するのでブートローダのプロンプトが表示された状態で停止する、そうでない場合はオートブートモードになる (4.5. スライドスイッチの設定について))

armadillo1_0806_6.png

ブートローダのプロンプトに boot と入力してエンターキーを押すと Linux が起動してログインプロンプトが表示される (第5章 起動と終了)

armadillo1_0806_7.png

■ログイン

ユーザ名 (root) とパスワード (root) を入力してログインする (5.2. ログイン)

■終了

halt コマンドで Linux をシャットダウンして System halted の状態になったら Armadillo-IoT の電源を切断することができる
(そのまま放置すると約128秒後に自動的に再起動する (5.3. 終了方法))

armadillo1_0806_8.png

Armadillo-IoT のネットワークの設定

有線 LAN はデフォルトで DHCP から IP アドレスを取得するように設定されているので、 DHCP サーバが存在する LAN に接続する場合は特に設定は必要ない (6.2.2. デフォルト状態のネットワーク設定)

もし DHCP サーバーからの IP アドレスの取得がタイムアウトで失敗するようであれば、 /etc/network/interfaces の eth0 の設定を以下のようにすることでリトライ回数を増やすことができる (このファイルを修正した場合コンフィグ領域の保存が必要、次の章を参照)


iface eth0 inet dhcp
        udhcpc_opts -t 10

■NTP

起動直後は時刻が正しく設定されていないので NTP を使って時刻の設定をする
以下のようにすることで NTP サーバーと時刻を同期させることができる


[root@armadillo-iotg (ttymxc1) ~]# date
Sat Jan 15 08:33:06 JST 2000
[root@armadillo-iotg (ttymxc1) ~]# ntpclient -h ntp.nict.jp -s
36537 84795.783    4549.0      0.8  490786182820835.9      0.0         0
[root@armadillo-iotg (ttymxc1) ~]# date
Tue Aug  4 18:03:00 JST 2015

■SSH

以下のコマンドで SSH サーバを起動することができる
SSH での root ログインは禁止されているようなので guest でログインして必要があれば su コマンドで root になる


# /etc/init.d/sshd start

コンフィグ領域

Armadillo-IoT は基本的にファイルの変更を保持しないためファイルを作成、修正しても再起動時に破棄されてしまう
しかし一部例外があり /etc/config 以下のファイルはコンフィグ領域と呼ばれるフラッシュメモリ領域に書き込むことで維持することができる (第7章 コンフィグ領域 − 設定ファイルの保存領域)

/etc/config には rc.local という起動時に実行されるスクリプトがある
このファイルに NTP での時刻の設定と SSH の起動のコマンドを追記してコンフィグ領域に書き込んでおくことで、再起動後でも正しい時刻が設定され、外部から SSH で接続できる状態にすることができる

② 開発編につづく

Kii Cloud

前の記事< | トップへ戻る | >次の記事

無料トライアル