ラベル なら高専 の投稿を表示しています。 すべての投稿を表示
ラベル なら高専 の投稿を表示しています。 すべての投稿を表示

2012年6月16日土曜日

ET West 2012 雑感 (2012.06.18追加)

先日、書いたとおり、6月14、15日の両日インテックス大阪にて
ET West2012 (組込み総合技術展 関西2012)
が開催されていました。
で、うちの会社もワイヤレスコントロール研究会の一員として
出展者として参加していました。
例年は結構人出がすくないのですが、今年は初日午前からガシガシ
人がきてる感じで、なかなかの滑り出し。
奈良高専の土井先生も同感だったようで、いわく
「カンファレンスもテクニカルセッションもタダにしたからじゃないか?」
とのことでした。
なるほどね。たしかに、ぼくも無料だから、ってんで
TS-1 ドライバ開発実践的手法 ~Android最新バージョンへの適用で注意すべきポイント~
ってのをうけたんですよね
内容的にはまぁまぁ、ってか、そんなもん、って感じだったけど(@@;)
みんなメモメモってかんじだったけど。。。。
ま、評価はいろいろなんだろね。
で、うちらの出展は、
学研の大人の科学のお掃除ロボットに、XBee(ZigBee)のユニットを乗っけて、
電池電圧と位置情報をXPortPro(uCLinux)で改修、2面の部屋を判断して
電灯をつけたり消したりする、っていうデモをやりました。
あまりにもあっさりさんなので、PCでも観測制御、っていう展示でした。
もともと岡崎ゼロエミッションでの某所の電力量収集システムを流用したので
応答性はいまいちだったんですが、ま、そこそこ安心してつかえました。
さすがに駆動部はおもちゃなだけあって、2日目にはギアがガシガシ音をたてた
けどね(^▽^)
というわけで、速報的にはこんなかんじで。
続きは次回ということで。

(2012.6.18  以下追加)





我が「ワイヤレスコントロール研究会」の展示ブースの写真です。
2台のお掃除ロボットがみえますか?


















外部接続のモニタ出力をアップにしたものです。
盤面上の左右領域を移動すると画面上の掃除ロボットくんも
するする~~~っと移動して、ランプが連動する、というデモを
そのまま表示しています。
画面下段のグラフはロボットの動作電圧の推移です。
1.7Vくらいでブラックアウト、となるので、電池交換で復帰した
姿がわかります。ざっくり、2時間半弱というのがエコじゃなかったですけど(汗
この画面の上側には電灯と扇風機を設置したコンセントの電力量
推移と、積算電力がグラフ表示されています。

さてさて、1日目はメンバーがぼくともう一人だけだったので
ほぼフルで対応してたんですが、2日目はもう一人が来てくれたので
いろいろ遊びほうけていました。

まず、ザイリンクスにいって、QFPなくなってどうすんのよ!と苦情申し入れ。
さすがに東京エレクトロンさんは結構聞き流してましたけど。
ツールも7シリーズからはPlanAhead系のVivado(ビバドってよむらしい)に
移行します!っていってました。
たしかにロジック合成された結果はかなりいい感じで配置されてたみたいだけど
「それよりもVHDLの構文解釈がVerilogなみに落ちてるほうが問題だ!」
と釘をさしておきました。
実際、シンタックスの評価がガタガタ(ISE13.1)で、ビット長があわなくても
エラーが吐かれないのには閉口します...
わざわざ悪い方にあわせなくてもいいのにね。
VHDLのいいところないじゃん。

つぎに対極のAlteraへ。
こっちは小コマのわりにはまあまぁのカンジ。
SOPC BuilderがQSysに変わって、ちょっと使いやすくなったよ!
ってのがウリだった模様。
こちらは結構好印象だった。
やっぱAlteraのほうがええんだろうか?う~ん。
でもね、WebPackでの操作性はザイリンクスのほうが一枚上手な感じなんだけど。
ま、徐々にこちらに動くってのもありかもしれず。
ちなみにノベルティ、くれた。(わ~い)
CamiAppだったの!!素直にうれしい。

そのお向かいにいたのはDigiとルネサス。

ルネサスはSmartAnalogとLED制御を得意とするRL78の小ブース展開だった。
この当日、SmartAnalog Web シミュレータ ルネサスVAが公開されていたわけだけど
これも実物がみれました。
オリジナルのサンプルソフトとほぼ等価なイメージでま、こんなもんかなと。
CubeSuite+との連携もうまくいっているようなサンプルがあったけど
実際にでてくるには少し時間がかかるっていってたな。
期待してるのにぐずぐずしてると、タイミングのがしちゃうのに。
密かに期待してたがじぇルネのGR-SAKURA関係はまったく紹介すらなかった。
大阪にも進出してほしいなぁ、と伝えておいたけど、たぶんだめなんだろうなぁ。
頻繁に東京までいってられないもんね。

Digiは相変わらずのXBeeの展示だった。
岡本無線さんとのコラボだったけど、まぁこんなもんだろうと。
XBee Wifiもでてたけど、実際のコマンド群とかやってくれたらよかったのに。
ま、ここはいつもこんなもんだろうけど。

うちのXBeeのボードにのっけるってのが最短のテストなんだろうけど、
Twitterみてると結構電源周りが鬼門みたいだし、もうすこしあとにならないと
採用しにくいかもね。
ま、要注目ではあるけど。

意外なものといえば、株式会社デバイスドライバーズ
いろんな展示会でいつも、ここにはつかまるんだけど(笑)
ことしも日高氏が、憎めない髭面で...(笑)
EnOceanの315MHzの無線ユニットをXBeeのPINコンバチボードに乗っけた
ものを出展してました。
315MHzなら、使いやすい周波数なんだけど、よ~~く聞くと
半二重通信、というか基本は1方向通信でやろうというユニットのよう。
単純に無線スイッチとしてなら、これで十分だけど、データのやりとりを
やろうとすると、結構面倒なかんじだった。
ま、これはこれでニッチな市場でいいんではないかなと。
で、こっちがもっと気になったのは、ARM+.NET MircroFrameworkの展示だった。
前に、SH2のボードへのポーティングも書いてらっしゃったけど、
今月号のCQ出版 インターフェース誌にも記事が載るとのこと。
こいつも要チェックなカンジでした。
ボード的にはたぶんコレ。ChipworkX Development System


日高さ~ん。HPみたらすぐわかる!っていってたやん。
全然わからん。
FEZばっかりで。
というわけで、マウザーでも見つけた。やっぱりこれ。
39900円はいいとして、マウザーで、製造中止ってのが気になるよね。
.NET MicroFrameworkなので、C#で開発できるのが最大の売りだけど。
前のSHの記事は微妙にわかりにくかったから、今回は期待してたりするわけです。


あと、何でもないけど、ユニダックスがアヴネットに吸収されてたのにはおどろいた。
Kinectのワークショップ、いきたいなぁ。


PS.
なら高専の土井先生からの紹介で、
サイプレスの田中さんと、名刺交換。
7月11日(水)にPSoC3のワークショップをおこなう!、ということだったので
とりあえず参加の方向で調整中。
当日さんざん、クダまいてごめんなさい。>田中さん





2011年12月9日金曜日

Androidで「ものづくり」 第3回


昨日、奈良県工業技術センターで行われた
Androidで「ものづくり」  ~ものづくりシステムへのAndroid導入法~
の第3回、つまり最終回が終了しました。

1,2回がAndroidの組込ボードへのポーティングとNDKによるドライバレベルの実装、
という観点からのテーマでOESFのテキストに従って行われたのに対して
最終回である今回は、ふつ~にAndroidアプリを開発して、WifiのUDPダイアグラムで
自走模型をうごかしてみる、という内容。
つまり7月29日に行われた、奈良高専主催のアンドロイドワークショップの焼き直し
版でした。
ワークショップのときは午前の2時間、ということで時間切れ続出だったのと
自分自身にもアンドロイドの経験値がほとんどなかったので、こういう小難しいものなのか~
という印象しかなかったんですが、さすがに3ヶ月も経過するとその間の経験値上昇分で
いろいろ見えてくるモノがありました。

ダメだしする気は毛頭無いけど、ちょっとサンプルがお粗末だったかなぁ、というのが
正直なところ。3~4ヶ月あったにも関わらず、ほとんどコーディングが見直されておらず
個人的な印象では
「こりゃダメじゃん」(あくまで個人的印象ですよ)
なところが盛りだくさん。

まず、基本的なところで、フォームにボタン貼り付けてそれぞれの
コードを記述する、という部分。
いろんな本をよんだり、話をしていて一般的なのは
1.onCreateのなかで
    button.setOnClickListener(
          new View.OnClickListener(){
                 public void onClick( View v ){
                      ......
                 }
          }
     }
    みたいに記述する。

2.アクティビティの先頭で、implements View.OnClickListener を記述して
    onCreate内部で、
           Button.setOnClickListener(this);
    を実装した上で
    public void onClick( View v) {
         if ( v.getId() == R.id.Button1 ){
              .....
         }
    }
    を記述する。

3.XMLの<Button >のなかに、android:onClickで関数名を記述して
    アクティビティのコード内に直接関数記述する方法

の3種にほぼ集約されるとおもいます。
おそらく、これ以外の方法を公然となさっているパターンは少ないんじゃないかと。


で、今回の会ではこのいずれでもない状態で進んでしまいます(汗)
どうするかというと

メインのアクティビティのonCreateで
   Button.setOnClickListener( new XButtonListener() );
と記述した上で、当然、newしたリスナの実体がないので、
  Create class
して、実体を別クラスに生成するという荒技をつかいます。
初期のうちはこれでもちゃんと動作しますし、ソースが分割されていく、
というのを是とすれば、別に問題なくうごきます。

ただ、このあと別の画面へのインテントやWiport模型への各種コマンド発行ボタン
を実装したときに徐々に破綻していきます。
別の画面で設定変更を行って、メインのイベントに内蔵された機構にアクセスする
ときにクラスが分かれており、その都度生成を繰り返すため、
すべてのソースに同じ記述を繰り返すほか、本来必要でないfinal 宣言までつけないと
ダメとか、もうハチャメチャ。

すべては、必要のない記述と新規クラス生成をおこなったことを追認しようとして
穴埋めした結果におもえてしまう。

うごけばいいや、的な発想で教えられてもこまるんだよなぁ。
ことに、高専の先生であることが最大にイタイ。

まあ、コードの設計によって、最終コードの品質がここまでかわるんだ!ってのが
実感できたのは収穫だったけど。


このあたりのことも含めて反省会なんかでコードレビューも含めて座談会なんかが
開かれたらおもしろいなぁ。


総括としては
1.前2回のポーティング作業で、NDKで開発するのは問題ないとしても
    デバッグ等が結構面倒で、必要最小限にとどめるべきじゃないか?というのが
    得られた感触。
    NDKつかえば、たしかに高速化やLinuxの技術がつかえるなどのメリットもあるかも
    しれないけど、新たなバグの入り込む余地が爆発的にふえるにも関わらず、
    十分なデバッグ手法があるようにも思えないのが、最大の理由。
    つまり、どうしてもNDKをつかわないとダメか、という判断の上で決断すべきとおもう。
    機種(CPU)依存という新たな足かせも発生するというデメリットもおおきくなり
    アンドロイドという汎用OSをつかうメリットを失わせる危険もある

2.SDKによるアプリ開発のほうは、できるだけ標準的な手法に基づくほうが望ましい。
    特殊なやり方を推し進めようとすると、破綻する可能性が高い!


2011年11月28日月曜日

SmartAnalog

ET2011から早1週間。
あのときも寒かったけど、ここ数日でぐぐっ!っと寒くなったですな。

さすがの私も足下にストーブを、カラダにはヒートなんちゃらっていう
下着を着込みました。もすこしすると、これにインナーが一枚づつ増えていきます(笑)
 さて、やっと このブログのほうもなれてきて、なんとかなるかな~なんておもってるんですが
結構ページビューがあったりします。
だれが見に来てるんだろう???ま、いいけどね。

なら高専系で行われている、組み込みAndroidの講習会も2回目を終えて
とりあえず、AtmarkテクノのArmadillo440へのポーティングも終了しました。
というか、肝心のNDKでゴリゴリとプログラミングするというところまでは
いけなくて、ほんとに用意されたポーティング手順を満喫する、という(汗)
なんだかな~的な終わり方でしたが、まあ、楽しめたほうでしょうか。
すくなくともSDKで確認した内容をNDKで処理できるように再ポーティング
したとして、開発効率はあんまりよくないなぁ、という実感しか残りませんでした。
実際、gdbデバッグするにも面倒なようで、そこそこカットアンドトライとLogCatで
推測していくような、昔のprintfデバッグを地でいくような泥臭さというか。
まぁ、まだまだこんなカンジなんですよね~的な(笑)
もうすこしこなれるまで、SDKでUI+αでおこなって、組み込み的な部分は
LANかBluetooth経由でマイコンに依存させたほうが楽なようです。
まぁ、次回はSDKのほうにもどるらしいので、そっちのほうが楽しめるのか?
という淡い期待はもっておきましょうか。

さてさて、ET2011ではマイコンボードを4枚もらってきました。


まず、初めて知ったnuvotonの
CortexM0のマイコンボード2種。
ARMブースでみつけて、台湾ブースまで
つれていかれて(笑)
チップ単体で200円しないみたいだから
H8の置き換えにはぴったりな感じ。
5V動作もOKの珍しい商品なカンジ。
フリー版コンパイラも付属なので
そのまま使えそう。
あとは入手性ですね。

あと、いつものSTマイクロ、菅井さんから
STM8LとSTM32を。(下二つ)
STM32F4も展示されてて、
「そっちがいい!!」
ってしばらくがんばったんだけどもらえへんかったorz





NXPのブースではmbedロボットカーラリー
を開催していて、なぜか5位入賞(笑)
ご褒美で先週mbedが贈られてきました!!
やった~~!ってカンジ。




これは時期を同じくして届いた、
ルネサスのRL78/G13のサンプルボード

ルネサスのメールニュースで知った講習会の
応募で当選した景品ですね。

来年にはSmartAnalog用に使いたいので
いまから練習するために当たった、とおもいたい
ところです。











閑話休題。



ちょっとまとめるのに時間がかかてしまったんですが、ET2011で個人的には
超目玉商品として注目してたのが
ルネサス  エレクトロニクスが出した
SmartAnalogIC / MCU
です。
なぜおくれたかって?
急遽開催発表されたカンファレンスにもでたんですが
パワポでスライド説明されたにも関わらず、配布資料が
全くない!という状態だったので、あわてて携帯で
スライドを撮影してきたのを整理するのに
時間がかかったわけで(汗)


まあ、それでも結構おもしろいなぁ、と
感心してます。






キャッチフレーズは「早い!安い!スゴイ!」とどこかのドンブリみたいな感じです(笑い)
要は、ほんとうにオペアンプ(4558相当品らしいです)が入っていて、その入力段に
どの足をつかうのか、オフセットをどうするのか(そのために8BitDACがある)、PGA
を通してゲインコントロールするかどうか、LPF/HPFを通すか、などを簡易的に
設定してつかう、アナログフロントエンドだということです。
こんな感じでサンプル画面があって確定後に実行ボタンを押すと




E1エミュレータから設定が行われて、
リアル描画される画面を
写真でとってくるのを忘れたので
ルネサスのHPから拝借した画像です...orz


こんなふうに即、結果が得られます(リアルタイム描画されてましたよ!!)
確かにこれならアナログ周りのデバッグの初期段階は簡単に終わりそう。
オペアンプの速度はだいたい10~100kHzくらいまでらしいので、高速に、
というわけにはいかないけど、PSoCよりは使いものになりそう。
で、SmartAnalogICとRL78/G1Eを統合したSmartAnalogMCUも同時発売とのこと。
ワンパッケージにはなってるけど内部でSPIで接続され、データ部は12ビットADに
直結されているだけ、とのこと。

 これだけでもMCU版を買うほうが楽な感じだよね。

来年2月からサンプル出荷、5月くらいから量産とのこと。
いまから待ち遠しいかんじです。


























2011年11月11日金曜日

Android組み込み講座...

昨日、奈良県工業技術センターで行われた
Androidで「ものづくり」  ~ものづくりシステムへのAndroid導入法~
に参加してきました。といっても、自前のPC持ち込みで聴講生としてですが。

 <予定>
【1日目】 Androidの概要と外部制御の基礎
【2日目】 組み込みシステムとしてのAndroid プラットフォーム 開発入門1
【3日目】 組み込みシステムとしてのAndroid プラットフォーム 開発入門2

当初 アプリ側から一般的なアンドロイド端末をつかっていろいろするか、
と想定していたのですが、蓋をあけてみれば、
「まず、armadillo440にAndroidをポーティングしてみましょう!」
でした。
「え~~!そっからいくの~~」みたいに思えた人がどれくらいいたのでしょう。
見たところ、それほど経験値もなさげな感じだったんですが。
実際、Androidとは、という以前にUbuntuLinuxの使い方から入って...
のところでみんな混沌として、前処理としてIP設定のためにviをつかうハメに
なったところでもうパニック...。
ぼくらでさえ、viのコマンドモード、
ほどんど覚えられてないし...
めんどくさい。
linuxでもできるだけnanoのほうをつかう私ですから、
viは鬼門なんだけどね。
まあ、なんとかこっちは対応できたけど。

さすがに、イメージファイルを作成する作業を
まともにやると時間がないので
そこは飛ばして...となっているのがミソだったんだが。

図らずも、androidの2.2のソース一式が
ダウンロード&展開されたVMwareイメージ
がいただけたので、収穫は大だったけど。

それにしても、kermitとかhermitの使い方の
勉強くらいしていったほうがよさげな感じだった。



いずれにせよ、次回はソフト作成もはいってくるだろうから、おもしろくなりそうだ!



2011年10月25日火曜日

Androidで「ものづくり」

昨日、なら高専の土井先生から久々にメールがあった。

元気なら組み込みシステム技術者の養成(奈良高専)
奈良県産学官共同研究拠点技術サロン
Androidで「ものづくり」   ~ものづくりシステムへのAndroid導入法~

ってのがメーリングリストで乗ってたらしい。
うちにはこんかったような(見落とした??)

いずれにせよ、こいつはいかんとね!
現状でAndroidはまだまだ、あそびと携帯の領域でしか認識されていないけど、
需要が一巡したところで確実に組み込み領域にも進出してくるはず。
そのときに慌てないようにするには、今のうちにやっとかないと。

まあ、3回でどこまでできるのか、というのと、
教えてくれる先生が実務者かどうかで、品質がかわるんだけど。
後者についてはOESF(OpenEmbeddedSoftwareFoundation)準拠ということなので
心配いらないのかもしれず。

とにかくいまは経験値をあげないとね!