ブログ

  • at_takuya.sasaki

    Armadillo-IoTのマニュアルでは、AWL13をアクセスポイント(AP)に接続させてIPアドレスを固定で割り振る方法を紹介しています。

    [ 6.2.4.2. 手動で無線LANインターフェースを有効化する ]
    https://manual.atmark-techno.com/armadillo-iot/armadillo-iotg-std_product_manual_ja-1.2.0/ch06.html#sec-net-wlan

    この場合、インターネットに接続しようとしても、ホスト名解決ができず失敗するはずです。

  • at_kazutaka.bito

    Armadillo-IoT+Armadillo-IoT 絶縁デジタル入出力/アナログ入力アドオンモジュール DA00で、 マグネットセンサーの接点のオープン/クローズ状態を取得して、Herokuに通知する仕組みを作ってみた。 ここでは、株式会社日本アレフの人感センサーAPX-101を使用する。 この人感センサーは動体を検知すると、赤い光が点灯して警報出力用にパルスを出力する。 Armadillo-IoTで警報出力のパルスの立ち上がりエッジを検出して、検出した時刻をHeroku送信する仕組みを作る。

  • at_kazutaka.bito

    Armadillo-IoT+Armadillo-IoT 絶縁デジタル入出力/アナログ入力アドオンモジュール DA00で、 マグネットセンサーの接点のオープン/クローズ状態を取得して、Herokuに通知する仕組みを作ってみた。 ここでは、株式会社日本アレフのマグネットセンサーAD-1001/AD-1011を使用する。 このマグネットセンサーは、  マグネットが近いと、接点がクローズ  マグネットが遠いと、接点がオープン になるようだ。

  • at_kazutaka.bito

    Armadillo-440シリーズのプロダクトディレクトリにあるGPIO制御のプログラムのgpioctrlを Armadillo-IoTで使用できるようにしてみた。

    1.Armadillo-IoTのプロダクトディレクトリにgpioctrlを置く

    ここでは、標準のプロダクトディレクトリ"Armadillo-IoTG-Std"を"my-iot"という名前にコピーした プロダクトディレクトリを使う。

  • at_kazutaka.bito

    Armadilloで標準で動作するエディタはviエディタでした。 viエディタは、テキスト入力時とファイル操作時でモードの切り替えが必要なので、慣れるまでが大変です。

    Armadillo-IoTでは、joeエディタが動作します。 joeエディタは、テキスト入力時とファイル操作時でモードの切り替えが必要ありません。 joeエディタの基本操作は以下のとおりです。

    ・ファイルを開く
    joe [ファイル名]

    viエディタは、ファイルを開いた後、iまたはaを入力してテキスト入力モードに移行しないと、テキストが入力できませんでした。 joeエディタは、ファイルを開いた後、そのままテキスト入力できます。

    ・ファイル操作
    Ctrl + c:終了
    Ctrl + k, x:保存して終了
    Ctrl + k, d:保存
    Ctrl + Shift + -:undo

    ・ファイル操作
    Ctrl + k, h:ヘルプ

    ヘルプを開いたままテキストを編集できます。

  • at_ito

    Linuxカーネルのコンフィギュレーションを設定する場合に、 BACKLIGHT_LCD_SUPPORT等のシンボルはわかるものの、設定項目が どこにあるのかわからない時があるかと思います。 ここでは、「BACKLIGHT_LCD_SUPPORT」を元に設定項目が どこにあるのかを調べる方法を紹介します。

  • at_ito

    Linuxにはteeというコマンドがあります。このコマンドは標準出力とファイルの両方へ出力することができます。ここではAtmark Distのmakeコマンド実行結果を例に、コマンド実行結果をファイルに保存しつつ、コンソールにも表示する方法を紹介します。

    例えば、make.logファイルにコマンド結果を保存しつつ、コンソールにも表示するには、以下のようなコマンドになります。

    [ATDE ~/atmark-dist]# make 2>&1 | tee make.log

    ソースコードのビルド時にエラーを記録するときなどに便利ですので、ぜひ使用してみてください。

  • at_kazutaka.bito

    Armadillo-IoTのRS232アドオンモジュールのテストインタフェースのSPIを使ってみた。

    1.SPI端子の確認

    Armadillo-IoT ゲートウェイ スタンダードモデル 製品マニュアル Armadillo-IoTベースボードマルチプレクス表 から、今回は、Armadillo-IoTのCON1にRS232アドオンモジュールを接続して、 RS232アドオンモジュールの  CON4の35ピン:CSPI2_SCLK  CON4の36ピン:CSPI2_MISO  CON4の37ピン:CSPI2_MOSI  CON4の50ピン:CSPI2_SS0 を使う。

  • at_kazutaka.bito

    Armadillo-440でGPIOをI2Cにするドライバ(i2c-gpio)を実際に動作させてみた。

    1.I2CにするGPIOの選択

    Armadillo-400シリーズハードウェアマニュアル5.3.6. CON9(拡張インターフェース1) - 「Armadillo-420/440」 の表5.16 CON9信号マルチプレクス - 「Armadillo-420/440」を参考に CON9_1(GPIO3_17)をSCL CON9_2(GPIO3_14)をSDA にすることにした。

  • at_ito

    netflashコマンドでイメージをフラッシュ書いた後、正しく書かれたかチェックしたい場合があるかと思います。

    ここでは、netflashコマンドで、正しくイメージが書かれたかどうかをチェックする機能について紹介します。

    1. チェック方法

    netflashには-Cオプションがあり、このオプションを付けることによって、指定されたイメージと同じイメージが、フラッシュにかかれているかどうかをチェックすることができます。

    コマンド例としては、以下のようになります。

    netflash -knubC -r /dev/flash/kernel linux.bin.gz

    2. ベリファイ実行例

    2.1. kernel領域に、linux-a400-1.08.bin.gzイメージを書き込む

    以下のコマンドを実行して、kernel領域にlinux-a400-1.08.bin.gzイメージを 書き込みます。この際オプションに"-b"を付けて自動的に再起動しないように しておきます。

  • at_takuya.sasaki

    Armadillo-IoTに搭載している3Gモジュール Sierra Wireless製 MC8090 は、/dev/ttyUSB3に対してATコマンドを発行することで、各種設定情報を参照可能ですが、今回は電波強度を調べてみました。

    3Gがリンクアップしている状態で、以下のコマンドを発行します。

    [armadillo ~]$ tip -l /dev/ttyUSB3 -s 115200
    Connected.
    AT+WPOWER=1      ←ATコマンドを入力
    +WPOWER:
    ENABLED!
     
     
    OK
    AT+WPOWER?    ←ATコマンドを入力
    +WPOWER:
    Status: 1
    average RxM Power -68dBm, total samples 200
    no valid WCDMA RxD Power value available!
    average Tx Power  -18dBm, total samples 46
     
    OK

    以上

  • at_ito

    Heroku(Ruby+Sinatra)でHello Worldをやってみましたので、 その際の作業手順をまとめてみます。

    1. Herokuの使用準備

    以下のURLでHerokuのアカウントを作成してください。

    • https://id.heroku.com/login

    以下のURLを参考にしHeroku toolbeltをインストールします。

    • https://toolbelt.heroku.com/

    以下のコマンドを実行し、toolbeltをATDE5にインストールしてください。

    [atde ~]$ wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh

    2. Sinatraを使用したアプリを作成

    以下のように適当なディレクトリを作成し、そこに移動します。

  • at_kazutaka.bito

    atmark-distにdiffコマンドは含まれていない。 Howto : Debianのパッケージに含まれるコンパイル済みのバイナリをArmadilloで動作させる方法を参考に Armadilloでdiffコマンドを実行できるようにした。

    1.DebianパッケージをATDEにダウンロードする

    [atde ~]$ wget http://archive.debian.org/debian-archive/debian/pool/main/d/diffutils/diff_2.8.1-12_armel.deb
    [atde ~]$ ls
    diff_2.8.1-12_armel.deb

    2.パッケージを展開する(本例では、~/temp-dirに展開)

  • at_nakai

    Armadillo-IoTにはfluentdがプリインストールされているので、
    簡単にTreasureDataなどのデータベースに計測データやログなどを入れることができます。

    今回は、FluentdプロジェクトのスポンサーであるTreasureDataにデータを溜める方法を紹介します。

    ■ TreasureData
    http://www.treasuredata.com/jp/

    TreasureDataにアカウント作成

    まずは、TreasureDataを利用するのに必要なアカウントを作成します。
    14日間無償で利用できるので、評価や使い方を学ぶ程度であれば問題ないと思います。

    TreasureDataのWebサイトで「今すぐ試す」をクリックして、サインアップします。
    メールアドレスのみでアカウントを作成できます。

  • at_ito

    Armadillo-IoTとHeroku(Node.js)でHello Worldをやってみましたので、 その際の作業手順をまとめてみます。

    1. ATDE5にnode.jsをインストール

    ここではATDE5でNode.jsを動かすために、Node.jsをインストールします。(ローカルで動作させる環境が不要な場合はこの章の手順は不要です)

    Node.jsのパッケージ(nodejs, nodejs-legacy)は、ATDE5のベースであるDebian wheezyにはパッケージがありません。そのためbackportから取ってくる必要があります。

    ここでは以下のURLを参考にATDE5にNode.jsをインストールします。

    • http://kotak.hatenablog.com/entry/2014/06/18/190500

    まずは/etc/apt/sources.list.d/backports.listファイルを以下の内容で作成してください。

  • at_nakai

    インターネットイニシアティブ(IIJ)のSEILブログにArmadillo-IoTを
    SACMに対応させる方法について記載されているので、試してみました。
    SACMについては、リモートから色々とできそうなので興味があります。

    ■ ArmadilloとSACM - SEILブログ
    http://www.seil.jp/blog/armadillo_sacm

    ■ SEIL公式サイト
    http://www.seil.jp/

    まずはSEILブログに従って作業

    • SACMトライアルプランを申し込む

    libarms動作検証用SACM利用申請を行うと確認用メールが届きます。

    お客様のメールアドレスの確認が完了いたしました。

    ログイン用URLおよびログインIDは 3営業日以内に改めてご連絡させて
    いただきますので、今しばらくお待ちください。

    3日ですか。。
    待ってる間に次に進むことにしました。

  • at_nakai

    現時点(2015年2月12日時点)では発売前の「BLEアドオンモジュール BT00」(※1)を利用してみました。
    今回は、Braveridge社製のビーコン「BVMCN1101AA」 (※2)を利用し、アドバタイジング・パケットを
    受信した場合にそのビーコン情報を他のプログラムで処理することができるようにスクリプトを書いてみました。

    ※1. Armadillo-IoT BLEアドオンモジュール BT00 - Armadilloサイト
    ※2. Bluetooth Beacon (ビーコン) - Braveridge

  • at_ito

    Armadillo-IoTでIoTができるということで、データ分析を試してみたくなった。

    簡単に試せる環境がないか探していると、どうもkibanaというモノでデータを可視化して分析できるらしい。

    ということで、kibanaをATDEにインストールしてみたので、その時のメモを貼り付ける。

    elasticsearchのインストール

    どうもkibanaというのは、データを可視化するためだけのアプリケーションのようで、データはelasticsearchに入っているものを使うらしい。

    ということで、まずはelasticsearchをインストールする。

    elasiticsearchの公式ページのインストール方法を参考に、apt-getでelasticsearchが取れるようにしてみる。

  • at_ito

    ATDEをVMware Player等(以降VMware)を使用していると、VMwareのウインドウにフォーカスが 移ってしまうとAlt+Tabでタスク切り替えをしようと思っても、ホストOSのタスクに切り替わらない。(ゲスト側でタスク切り替えすることになる) キーボードを使ってタスク切り替えをすることが多いので、これでは不便ということでVMwareのユニティモードを使い、ホストOSのウインドウとして、ATDEのアプリケーションを立ち上げる方法を紹介します。

  • at_kazutaka.bito

    カーネル起動時にUSBのプローブが有効になっていると、 認識された順番にデバイスファイルの末尾の番号がつく。

    例えば、Armadillo-IoT開発セットの場合、3Gモジュールには、ttyUSB[0-4]が割り当てられるが、 USBコネクタにUSB-シリアル変換ケーブルを挿入した状態で起動すると、  USB-シリアル変換ケーブル:ttyUSB0  3Gモジュール:ttyUSB[1-4] のように3Gモジュールのデバイスファイルの番号がずれる。 補足)本例では、カーネルコンフィギュレーションのUSBサポートの機能で、シリアル変換のサポートを有効にしているものとする。

    このような番号ずれを防ぐ方法としては、delayed_probeという方法がある。

    本例について、USBコネクタにさしたデバイスを、3Gモジュールより後で認識させる場合は、 make menuconfigでカーネルコンフィギュレーションを

  • at_takuya.sasaki

    ATDE5の VMware仮想イメージファイルは、Oracle社のVirtual BOXでも起動することが可能です。

    1. VirtualBoxのインストール

    インストール方法は省略いたします。このブログではバージョン 4.3.12 を使用しています。

    2. ATDE5イメージの展開

    任意のフォルダに弊社Webサイトで公開しているATDE5の仮想イメージファイルを展開してください。 展開の方法は以下のHowToも参考にしてください。
    https://armadillo.atmark-techno.com/howto/tar_xz-extract

    3. VirtualBoxを起動します

  • at_ito

    プログラムを作成した際に、依存しているライブラリのライセンスを確認する必要があると思います。その際に、リンクしているライブラリのソースコードを取得する必要があるため、指定のバイナリが使用しているライブラリのDebianパッケージ名、Debianソースパッケージ名を調べるためのシェルスクリプトを作ってみました。

    以下のシェルスクリプトを作成し、ATDEで動かしてみてください。

  • at_nakai

    Armadillo-IoTで簡易的に任意のRubyライブラリを追加するには、 /usr/lib/ruby/vendor_ruby/ディレクトリにライブラリファイルを配置する ことで利用できるようになります。

    ここでは、WebSocketのシンプル実装である「websocket-client-simple」を 追加する例を記載してみます。 参照: https://rubygems.org/gems/websocket-client-simple

    尚、本項では簡易的な手順を示すため、ユーザーランドイメージを作成することはありません。

    ■ 「websocket-client-simple」をダウンロード

    Armadillo-IoTにログインして、下記のようにwgetコマンドなどでライブラリを配置します。

  • at_ito

    DebianパッケージをAtmark Distで作ったユーザーランドに追加する際に、バイナリを実行しても必要なファイルが見つからずに正常に起動しないことがあるかと思います。その際に、何が必要なファイルかを調べる方法を紹介します。

    バイナリ実行時に必要なファイルは、open()システムコールで開かれます。そのため、バイナリ実行時にどのシステムコールが使用されたかを調べるstraceを使うことで、どのファイルをopen()しようとしたかを調べることができます。このstraceはLinuxのデバッグユーティリティであり、引数に渡されたバイナリが使用するシステムコールを見ることができます。

    Atmark Distのコンフィギュレーションで選択できるstraceでは、ビルド時にエラーが発生するため、Debian Packagesからstraceのバイナリを持ってくる必要があります。

    以下のページを参考に、straceをユーザーランドに追加してください。

  • at_kazutaka.bito

    Armadillo上で動作しているプロセスの物理メモリ使用量を調べてみます。

    Armadillo-440の標準イメージで自動起動されるfunctesterの場合、まずは

    [root@armadillo440-0 (ttymxc1) ~]# ps | grep functester
      PID  Uid     VmSize Stat Command
     1358 root       6352 S   functester

    でPIDを確認します。

    /proc/[プロセスのID]/status

    をcatで確認します。 上記のfunctesterの場合は、プロセスIDは1358なので、

  • at_ito

    DebianパッケージをAtmark Distにインストールする際に、依存関係を考慮する必要がある場合があります。 その際に、依存しているパッケージをインストールするのにさらに依存パッケージが存在していたりして、インストールするのに手間がかかります。 そのため、簡単にDebianパッケージの依存関係を再帰的に検索し、表示する方法を紹介します。

  • at_ito

    ATDEで開発をしていると、WindowsでダウンロードしたファイルをATDE上で扱ったり、ATDE上で作成したファイルをWindows上で扱ったり等のファイル共有を行いたい場合があると思います。その場合は、VMwareの共有フォルダ機能を使うことで実現できます。 ここではではVMwareの共有フォルダ機能を使うための手順を紹介します。