Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
愛車:マツダアテンザ
Webを中心とした、ビジネス&テクノロジーに関する思いつき
iPhoneアプリ
author:えふしん
photo_20.jpg
藤川真一について


初代モバツイ開発者
想創社再創業 / KMD博士課程
著書〜100万人から教わったウェブサービスの極意―「モバツイ」開発1268日の知恵と視点 [Kindle版]
お求めやすい夏休み特価!
このカテゴリ[モバイル系]の最新30件
スマホと携帯で違う所。 Firefoxが実現するスマホのオープン化とガラケーエコシステムはHTML5で復権するか?! コンピューター将棋には人間にあわせてバッテリーか何かの制約をもたせるべきでは? 気の利いたWiFi設定がされてるコワーキングスペースでモバイル開発をする。 あえてkindle paperwhiteをdisる! スマホが導くアメリカ旅行、6つのポイント スマホより大画面のタブレットを、カバーをつけた重さで考える。 kindleがやってきた! 2012年末のMacのノートは、MacBook Airがベストバイ 今出たばかりのiPad miniは、iPad2 mini iPhone5のバッテリーが持たない件の2つの改善 自分のiPhone5、現時点の3つの問題 ソフトバンクiPhone5に通信速度制限があるのかないのか。 iPhone5購入、そりゃオサイフケータイ乗せないよね。 iPhone5予約した話と今後の進化について雑感 iPhone5にNFCが搭載されなくて良かった MacBook Pro Retinaのdot by dot(2880x1600)で果たして作業はできるか?! MacBook Pro with Retina Displayを購入した イーモバイルの買い方から見る、イマドキのモバイル端末選びの難しさ。 t.freeの破壊性と、言う程そうでもない点 細かい話で恐縮ですが、MacBook Airにスマホやタブレットを繋いで充電する時のTips たった700円で作る、自宅や会社の侵入者検知 iPhoneアプリ 新iPadはたまげた。拡大縮小という面倒な操作無しで日経新聞が読めます えっ新iPad買わないの? Siriがパスロック状態で動くことが問題じゃなくてさ モバツイ+Siriで、音声でツイッターに投稿する。 Siriが、iPhoneの持ち主の個人情報を教えてくれる件 ClearのUIを考えてみた MacBook Airを買った時の話 スマホUIの難しさについて一言 ~ モバツイsmartリリースしました!
[このカテゴリをもっと見る]
Powered by
Movable Type

May 14, 2009

スポンサーリンク

Arduinoオープンハードウエアセミナーというイベントに参加した。
chip1stopさんという、電子部品の通販をされている商社さんの主催で、司会はCerevoの和連和尚で、Cerevo社員の@booniesさんによるプレゼンテーションでした。

Arduinoというのは「あるでゅいーの」などと呼ぶ、マイコンボードです。イタリア製だそうです。
ハードウエアの設計自体がオープンソースで公開されているので、誰でもクローンを作ることができるそうです。

マイコンボードというのは、キーボードや液晶がついてないパソコンみたいなものです。


中身というか、裸の基板なので、なんだそれ?と思うでしょうが、これを箱に入れれば、携帯に見えたりパソコンに見えたり。

WindowsやMacのような高機能なOSは乗っておらず、専用のプログラムだけをインストールして動かします。ただプログラムが動くだけでは何もできないので、I/Oという、センサーなどの入力を読み込む機能(Input)と、スイッチを入れて電気を流す機能(Output)がついているので、プログラムで、I/Oをコントロールして、その先に繋げたモーターを回してみたり、いろんなデバイスと通信したり、センサーの入力を読んでみたりします。

通常、プログラムの処理の流れは、何かの入力を読み込んで、入力に対する処理を行い、結果を出力する流れになります。

例えばWebサーバーで動的にページを制御する場合だったら、リクエストを受けたURLやHTTPヘッダに付加された文字列を元に、出力をを制御したりしますが、それと全く同じノリで、センサーの入力内容を元に、あっちやこっちのスイッチをOnにしてモーターを回してみたりします。

これを応用したものが携帯電話やパソコンにおいては、キーボードは入力方法の一つで、液晶は出力先にあたるわけですね。キーボードに文字が入力されたら、液晶に文字を出力するというプログラムの集合体が携帯電話やパソコンの実態です。

-・-

Arduinoの魅力は、開発環境の高機能っぷりです。

通常、マイコンのプログラムはアセンブリ言語やまんまのC言語で開発しますが、Aruduinoは、Processingから派生したWritingというプロジェクトで作られたC言語ライクな言語を、しかも専用のIDEを使ってプログラミングすることができます。プログラムは、iPhoneと同じようにUSB経由で送信することができます。

通常、開発者は通常、ブートローダーなど、パソコンで言うBIOSに近いことを意識しなくてはいけないわけですが、Arduinoはその辺を気にすることなく、目的とするプログラムの実行だけに専念することができます。

また周辺機器が充実しており、イーサネットに繋ぐことができるボードがあり、LANに繋ぐことができます。DHCPクライアントやHTTPのライブラリが最初から用意されているのでネットに繋ぐのがとても簡単にできます。


イーサネットのボードが上に乗って、かつ、リモコン制御用のLEDが出力ポートに繋がっています

なんとtwitter apiにアクセスするサンプルプログラムがついています。

しかも、UTF-8の文字を扱うことができて、日本語でメッセージを送ることもできます。PCや携帯では当たり前じゃないかという日本語ですが、何もライブラリが用意されてないマイコンボードに日本語が使えることはないし、UTF-8がなければ海外製のマイコンボードで日本語が使えることはなかったでしょう。

今まで、秋葉原にある秋月電子などのキットを見ていて、この辺のネット的な機能と組み込み機器系って繋がりが意識されてないのねと思っていたので、twitter apiのライブラリがあるところはかなりびっくりしました。

秋月電子でも売ってるキットで一番ネットに近いもので、入力があったら、メールを送るキットというのがありました。実は、以前、このボードを買おうか悩んでたら秋月電子の営業時間が終わってしまって(18:00と早い)買えなくて悲しい思いをしたのですが、買えなくて良かったです。

Arduino Duemilanoveというベース機能を提供するマイコンボードは、なんとたったの3,200円で買うことができます。


イタリアの国の地図がプリント基板に印刷されています。こういうのはオシャレですね。

イーサネットに繋ぐには、もう一つArduino ETH ShieldというLANのカードを購入して、亀の子のように繋げてあげる必要がありますが、トータルでも7000円程度で購入可能です。

他にもBluetoothのボードなどがあって、じっくり遊ぶならこっちの方が面白いかもしれません。BluetoothならiPhoneとも通信できますよね。

参考:Arduino製品一覧

-・-

今回のセミナーでは、デモとして、2chの実況板の情報から動きのあるチャンネルを検出して、地デジチューナーのチャンネルを切り替えるというデモを実演していただきました。

Webサーバでチャンネル情報を抽出し、チャンネル番号だけを、ArduinoがLAN経由で読み込み、チャンネル情報を、Arduinoに接続された赤外線LEDがリモコンの変わりに動作して、チャンネルを切り替えるというものでした。

今回は、地デジチューナーのリモコンの動作パターンをハッキングして、チャンネル切り替えのパターンをプログラムしてやっていました。

このハッキング作業自体は、オシロスコープという信号を解析する測定装置がないとできないので、誰でもすぐできるというものではありませんが、誰かが学習型リモコンのようなライブラリを公開してもらえば、チャンネル信号をキャプチャして、簡単に自動切り替えリモコンを作ることは可能です。

ましてWebサーバから情報を拾ってこれるのであれば、例えば、携帯電話から家の中のエアコンやテレビをコントロールすることも可能ですし、このデバイス自体を持ち歩いて、何かをすることが可能です。

今、Arduinoなどのマイコンボードが面白いのは、情報の出力先にtwitterが存在することだと思います。twitterは、シンプルに今の情報を、沢山の人と共有するサービスなので、面白いものや便利なものを作ることで、その成果を共有することが簡単です。

モバツイでも、写ツやイマココと言う携帯電話で使える機能を使ってtwitterに情報を送るという流れを作っていますが、それと同じようなことがArduinoを使って実現できます。

しかも、センサーは好きなセンサーが選べますから、携帯電話では絶対できないようなことをできるわけですね。

mixiの開発の方で、コーヒーができたら、その情報をIRCにポストするような話がありましたが、Arduinoを使えば、センサーの選定と組み込みさえ頑張れば、ソフトウエアはサンプルプログラムの組み合わせで作れます。

センサーについては、面白いことができそうなセンサーとして、光センサー(CDSセル)、焦電型赤外線センサー(人感センサー)、温度センサー、加速度センサー、電子コンパスなどを挙げておられました。他にも音のセンサーとかもベーシックですよね。

後はあなたのアイディア次第!

-・-

今回のお話を聞いていて、Webの環境で良いなぁと思ったのは、イマドキのWeb APIがRESTであることですね。

JavaScriptやPHPのようなリッチな言語だと、正直言ってやりとりがRESTであろうがあるまいが大した問題ではないわけです。ステータスコードを調べるのと、レスポンス文字列を正規表現で調べるのに、大した差はありません。どっちかというと、「かくあるべしという」に従ってるというのが現実的なところだと思います。

ところが組み込み機器となると、ちょっと話は変わってきます。

例えばapi実行の成功、失敗の判断で、レスポンス文字列をせっせと調べていくのは結構面倒で、HTTPのステータスコードで済むならそれに超したことありません。

今回のデモでも、実況のチャンネル情報をWebサーバから取得するのに、シンプルなHTTP/1.0を使って通信することで、HTTPレスポンスの最後の一文字がチャンネルになるという仕組みになっていました。組み込みレベルのものであれば、シンプルなアーキテクチャになっているに超したことはありません。

そういう意味で、高度な機能やソーシャルのつながりに影響を与えられるWebサービスのAPIがRESTに従っているというのは、とても素晴らしいことなのです。

-・-

このセミナーの告知を見たときに、自分が大学の頃にこういうボードを使って研究していたなぁということを思い出しました。

あの頃は、V25というCPUにturbo Cで書いたプログラムを転送していたのですが、既に研究室の資産でブートローダーが既に用意されていて、Arduinoと同じようにI/O制御だけを書けば動くものだったので、緩い研究だったと言うことを思い出した次第です。

昔から変わらず、誰かの成果で楽をする側の人でした。

当時と今が違うのは、こういうマイコンボードは、まず電源を用意するところから結構面倒だったりします。最近だと、秋月電子で売っているAKI-80やAKI-H8などというマイコンボードがお手軽に手に入ったりしますが、まずは電気をどう入れるか?というところから始めるわけです。こういうモノを作る人は、何に繋がるでもないACアダプタを沢山持っていたりします。また、接続するのにRS-232Cを使ってターミナルでアクセスしたりするわけです。

Arduinoは、USBで繋ぐだけでPCから給電してくれてプログラムも転送できるというシンプルさ。またオープンソースなだけに、ネット上に情報が沢山あります。

こういうボードを使って、日常的な何かを動かすものを作ることを「フィジカルコンピューティング」と呼ぶそうですが、こういうことが簡単にできるようになったのは、「オープンソース」、「ネットワーク」、「周辺環境の高機能化」から恩恵を受けているんだろうなと思うところです。


余談ですが、主催のchip1stopさんが、横浜にある図研というCADの会社からスタートした会社だということを知って、そういえば就職活動で図研を受けていたことも思い出しました。もし図研に入っていたら、道が変わっていただろうなぁ。

Arduinoモニタープログラム参加中
電子部品・半導体の通販サイト - チップワンストップ


ビジュアライジング・データ ―Processingによる情報視覚化手法
Ben Fry
オライリージャパン
売り上げランキング: 14496
おすすめ度の平均: 4.5
3 可視化の一つの手段としてProcessingの概要を知りたい人に
5 情報の可視化入門
4 目からウロコが。。。
5 日本人の本より読みやすい
4 既存のマッシュアップAPIを使うのとは違ったWeb情報の楽しみ方


Arduinoをはじめよう
Arduinoをはじめよう
posted with amazlet at 09.05.14
Massimo Banzi
オライリージャパン
売り上げランキング: 14641
おすすめ度の平均: 5.0
5 日本語リファレンスだけでも価値があります


図解でわかるはじめての電子回路
大熊 康弘
技術評論社
売り上げランキング: 10156
おすすめ度の平均: 5.0
5 女性にもわりと読みやすかった、、、
5 これで、あなたも三四郎!!
5 入門書として最適

追記:
トイレの排水を監視して、トイレが流されるとtwitterにpostするbotというのがあるそうです。

秋元@サイボウズラボ・プログラマー・ブログ: twitterでつぶやく便器が登場

スポンサーリンク
■同じカテゴリ[モバイル系]のエントリー
<<前の記事 Let's Note R6を手放した
>>次の記事 iPhone 3GS買い方メモ
■このblogの書き込み最新3件
本ブログは移転しました インターネットの遊び方を身につけよう トトロが陽なら、『風立ちぬ』は陰?〜『風立ちぬ』の感想
この記事への提案、提言一覧
この記事への提案、提言









あなたの情報を保存しますか?