2015年3月22日日曜日

このサイトの検索クエリは平日が多いみたい

 このサイト(Matsup's blog)は,Google のブログサービスである Blogger の上に構築されている。 そのため,Google ウェブマスターツールでサイトの状況を確認できる。その中には,このサイトがどれだけ Google の検索にかかったか,という項目(検索トラフィックの中の検索クエリ)がある。 それを見ていて気づいたことがあったので,このエントリーを書いてみた。


 これが,2014年の年末から 2015 年3月中旬までにこのサイトが Google 検索での検索結果がユーザーに表示された件数である。 図を見ると,左端を除いて,一定の周期で検索数が増えたり減ったりしている。 とてもきれいに「台形」と下向きの「谷」が交互に並んでいる。 これはこのサイトを見る人の特徴を捉えているに違いない。

2015年3月15日日曜日

Physical Computing (特に Intel Edison) における I2C による通信について(その3)

 前回 Physical Computing (特に Intel Edison) における I2C による通信について(その2)として,Linux での I2C 通信の例について書いた。 今回はその続きで,mraa ライブラリでの I2C 通信について書いてみよう。
 項目番号は前回からの続きということで (7) から始まる。

(7) mraa ライブラリでの I2C 通信:Linux の実装における SMBus 通信を使った I2C 通信(書込み
  次に mraa ライブラリでの I2C 通信の処理について見てみよう。 mraa ライブラリでは I2C 通信は,mraa/src/i2c/i2c.c に記載されている。 そこでは,SMBus 通信を使って I2C 通信を行っている。以下具体的に見てみよう。

2015年3月14日土曜日

Physical Computing (特に Intel Edison) における I2C による通信について(その2)

 前回 Physical Computing (特に Intel Edison) における I2C による通信について(その1)として,physical computing で使われるシリアル通信としての I2C とその派生系である SMBus の一般論について少しだけ書いた。 今回は,それを yocto Linux が動いている Intel Edison でどう扱われているか,について書いていこう。
 項目番号は前回からの続きということで (4) から始まる。

(4) Intel Edison における I2C 通信
  Intel Edison で I2C 通信を行って,センサー等の機器と通信をするには幾つかの方法(プログラム言語)がある。 一つは,Arduino IDE を使う方法であり,他には Linux 上で C 言語や C++ でプログラミングを行う,などである。 (Pythonnode.js なども使えるみたいだが…) ここでは Linux 上での C 言語や C++ の場合について見てみよう。

Physical Computing (特に Intel Edison) における I2C による通信について(その1)

 今回は少し趣きを変えたタイトルにしてみた。 なんか,お題目が大きいなぁ…。
ちなみに前回 Intel Edison の新しい統合型インストーラーを使ってみた からの続きである。

 なんでこんな事を書こうと思ったかというと,前回まで書いていた,Intel Edison 絡みである。 また,SparkFun Blocks for Intel Edison を重ねてみたにも書いた,SparkFun 社製の SparkFun Blocks for Intel Edison 絡みでもある。つまりは Physical Computing に絡んで少し勉強したので,せっかくだから書いておこう,と思ったのが動機である。

 そもそも physical computing って何かというと,それは Arduino に代表されるような,極小コンピュータ(Microcontroller と呼ばれたりする)を使って,センサーの情報を読み取ったり,場合によってはモーターなどを駆動して何かを動かす,みたいな事を言うらしい。これまで physical computing と言うと,Arduino がその火付け役として代表格のように言われてきたが,最近では Intel EdisonRaspberry Pi などかなり高性能のものも出始めている。

 かく言う私は,Intel Edison を買って遊んでいる。 まだ,Linux システムに振り回されているが,そろそろセンサーを使って遊んでみたいと思い,ちょこちょこといじっている段階である。 特に SparkFun Blocks for Intel Edison の9軸の加速度・地磁気・回転センサー LSM9DS0 が載った 9dof(9 Degrees of Freedom) Block を持っているので,それを試してみたのだが,その際に I2C 通信についてわからないことがあり,気になったのでいろいろ調べてみた。 それでこんなタイトルのエントリーを書こうと思ったのだった。

 ちなみに Arduino の場合は,Arduino IDE と呼ばれる統合環境の中に Wire library というのがあり,そのルーチンを用いることで I2C 通信を行える。しかし,ここでは Linux 上で C 言語や C++ でプログラミングを行う場合の I2C 通信についてみてみよう。

2015年3月8日日曜日

Intel Edison の新しい統合型インストーラーを使ってみた

 前回,Intel Edison で micro SD カードを使うと書いた。 今回は64 bit Windows 用の Intel Edisoin の新しい統合インストーラーについて書こう。

 つい先日,Intel community から下記のような Edison 用に新しく統合インストーラーを作った,とメールが来た。
Intel Communities
Announcement: New Edison integrated installer launched.

created by intel_jorge in Forums

Today we launched a brand new Edison integrated installer. 
Please visit the Edison Software Downloads page for more info. 
http://www.intel.com/support/edison/sb/CS-035180.htm

Announcement expires on March 13, 2015
 統合インストーラーということで,windows に Edison をつなぐためのドライバーや, Edison の firmware の最新版,Arduino 開発環境などを一度にインストールしてくれるものである。 個別にインストールしなくてもいい,という感じのものだった。 で,早速使ってみることにした。

 まず,Intel Integrated Installer は 2015/3 時点で version が 2015.1.15 である。
使い方は,まずソフトウェアダウンロードのページから, 該当のインストーラー(Windows 64 Integrated Installer)をダウンロードしてくる。 2015/3 時点では,ファイルサイズが 21,581 kB だった。

2015年3月7日土曜日

Intel Edison で micro SD カードを使う

 前回,Intel Edison の無線 LAN の IP アドレスを固定したいと書いた。 今回は Intel Edisoin で micro SD の使い方について書こう。

 最近 Intel Edison で遊んでいる。その記憶容量は,プロセッサ自体に 1 GB,eMMC に 4 GB あり,合計 5 GB となっていて,Arduino などに比べると格段に大きな容量を持っている。 しかし,SD カードに記録できると,容量も増やせるし,他の機器とのデータのやりとり手段がひとつ増えることになる。

 ということで,Intel Edison で SD カードを使ってみよう。 Edison で使えるのは,基本的に micro SD カードである。 2015/3 時点で使えるのは,Intel 製の Arduino 拡張ボードと,SparkFun 製の micro SD Block (for Intel Edison) である。 Edison 本体には SD カード用の端子が設定されており,どちらの拡張ボードもそれらの端子を使っているので使い方は同じである。 ただし,SparkFun 製は取り出す時も一度押しこむタイプなのに対し(一度押しこむとバネで少し手前に出てくる), Intel 製の Arduino 拡張ボードのものは,バネ機構がないので,入れる時は押し込み,取り出す時は引っぱり出さないといけない。 あまりスマートじゃないなぁ…。

 使い方は至極簡単であり,単に適当なマウントポイントに媒体をマウントするだけ,である。 Edison にはマウントポイントとしては,最初から
   /mnt
がある。 そのため,その /mnt に micro SD カード媒体をマウントすればよい。

 マウントのコマンドは,
   # mount -t vfat /dev/mmcblk1p1 /mnt
である。 ここで「/dev/mmcblk1p1」は,「mmcblk1」が SD カードを表し,「p1」が "fdisk -l" コマンドで得られるパーティション番号を表している。 micro SD カードがある状態でこのマウントコマンドを実行すれば,/mnt の下に micro SD カードの内容が表示される。

 逆に micro SD を取り出したい場合は,
   # umount /mnt
とすればよい。 ただし,どこかの window で pwd が /mnt の下になっていたりすると,busy ということで umount されない。 その場合は他のディレクトリに移動しておかないといけない。

Intel Edison の新しい統合型インストーラーを使ってみたに続く)

2015年3月1日日曜日

Intel Edison の無線 LAN の IP アドレスを固定したい

 前回,Intel Edison で opkg upgrade すると Windows に対して USB OTG で接続できなくなったと書いた。 今回は Intel Edisoin の無線 LAN の固定 IP の設定の話を書こう。

  Intel Edison は極小サイズにもかかわらず,本体に無線 LAN と Bluetooth の機能を持っている。 実物を見ると,こんなに小さいのに?と感じてしまう。 無線 LAN の設定は,初ログイン後に
   # configure-edison --setup
というコマンド実行すると,パスワード,マシン名の後に設定できる。

 その Edison の無線 LAN の設定だが,デフォルトでは DHCP で IP アドレスを取得するように設定される。 しかし,場合によっては固定 IP にしたい場合もある。 今回は再起動しても固定 IP とする方法について書いておこう。 ちなみに,元ネタは新春電子工作!:“Edison”でロボットアームをグリングリン動かす(前編) (3/5)に書いてあった。 ここでも受け売りですねぇ…。