ラベル 環境設定 の投稿を表示しています。 すべての投稿を表示
ラベル 環境設定 の投稿を表示しています。 すべての投稿を表示

2015年6月22日月曜日

Android studio に実機の携帯電話 Alcatel を接続する

PCに Android studio をインストールし、ターゲットの Android 携帯電話を USB 接続する。

Windows7-64bit PCに必要な Android studio 開発環境を整え、ターゲット携帯電話 Alcatel One Touch M'pop 5020X (詳細仕様) を USB で接続し、PC でビルドしたアプリケーションを実機に転送し、実行します。root 化とやらは必要ありません。

PC側では Java のインストール、Android studio のインストール、携帯電話ドライバーのインストール。携帯電話側は、開発者モードの有効化、USB デバッグモードの有効化。PC側で Android studio を実行し、デバッグモードの携帯電話をUSBで接続、サンプルコードをビルドし携帯電話に転送して実行するという手順です。

x768 ディスプレイ Tips
Android studio の minimum requirements にディスプレイ要件があります。
1280 x 800 minimum screen resolution 
これを満たさないと絶対使えないわけではありませんが不自由があります、開いた Window の枠が 表示エリア外に出てしまいます。ですが対策すればなんとかなります。
  1. Window を 矢印キー Arrow key で動かす
    ディスプレイよりも大きいウィンドが現れたら Window を動かそうにもマウスで枠をポイントできませんのでキーボードショートカットを使います。
    Alt + space , M (移動), キー (Arrow key、 矢印キー)
  2. タスクバーを移動もしくは隠す、下の表示面積をかせぐ。
    タスクバーの場所を左にするか、タスクバーを自動的に隠すオプションを選択します。
  3. シミュレータの絵を 50% 等に縮小します
    AVD manager でスケールを設定します。
     



  • PC 環境整備
  1. Java JDK7 をインストールします
    JDK7 jdk-7u79 の windows 64 版をインストールします。JDK8 はまだ早いかも?という意見が多いようですのでそれに従い 7にします。
  2. Android studio をインストールします
    Android studio をダウンロードしインストールします。手順はネット上にたくさんありますので先達の教えに従います。私がダウンロードした版は android-studio-bundle-141.1980579-windows.exe でした。この段階でサンプルコードがシミュレータ上で実行できるはずです。
  3. スマートフォンの android USB driver を PCにインストールします。
    携帯電話を製造している各会社が提供しているようです。 Alcatel は FAQ にありました。
     .rar で圧縮されていましたので lhaz64 で展開しました
  • Android 携帯電話設定
  1. USB debugging を有効にします
    開発者モードにする方法は、ファームウェア バージョン番号を 7回押すとかあるらしいですが、4.1.1 ではその操作は不要でした。
    Settings, About phone, Advanced settings, Advanced settings [ON], USB debugging[V]
  • 実機を接続してアプリケーションを実行します
  1. Android studio を起動し、New project を作成します。
    File, New, New Project, Blank activity このとき、ファームウェアの互換性バージョンを 4.0 とか低いものにすると、低機能ですが、コアな構成、不必要にたくさんの階層にならず私のような初心者には、とっつきやすいのではないでしょうか?ためしに最新の 5.1 と 4.0 で新しいプロジェクトを作ってみてください。
  2. サンプルプロジェクトの実行(シミュレータ)
    この時点で、Hello world のサンプルコードが入っていますのでシミュレータ上で動作を確認できます。
  3. 実機 Alcatel を接続しサンプルプロジェクトを実行します
    携帯電話 Alcatel を USB ケーブルで接続し run で実行します。
    今度は、シミュレータだけでなく実機も選択できるようになっています。
    もちろん実機を選択します。

  4. ソースを変更し再度ビルド、実行するとその変更が実機で反映されていることを確認します。
    strings.xml を書き換えただけです。
    アプリケーションのアイコンが2個ありました。あれ?えーっと?どういう?
ともあれこれで、自分の Android 携帯に俺様アプリをインストールして実行できるようになりました。ケーブルをはずしても大丈夫です。アプリケーションのアイコンをタップすると実行されますし、停止も普通のアプリと同様にできます。削除も、普通のアプリと同じ手順で削除できます。


2015年6月11日木曜日

NUCLEO の mbed プロジェクトを Keil uVison5 で Build Debug

ST micro から発売されている評価基板 NUCLEO-F072RB 、オンボード ST-Link/V2-1 デバッグアダプタ込み、を PCに接続し、ARMmbed で作ったプロジェクトを、フリーの開発がサポートされている Keil MDK-ARM for STM32F0 and STM32L0 に Export し、ソースコードをコンパイル、ビルドし、デバッガが利用できることを確認します。

ARM mbed で Export したプロジェクトを展開し Keil uVison5 で開き、コンパイル、リビルド、デバッグまで行うには、Options for target の 2箇所をマニュアルで調整しなくてはいけませんでした。

Migrate ARMmbed project to Keil uVison5

  • Options for target - Linker - Misc controls
    文字数制限超え
    mbed output over "maximum number of letters" limitation
  • Options for target - Utilities - Configure flash menu command - Settings - Programming Algorithm
    未設定なので STM32F0xx 128kB Flash に設定
    Flash download - need to configure programming algorithm 

mbed で Export したプロジェクトは、Project Open で開き、Version 5形式に変換します。上のボタンで取り込む。

  • Options for target - Linker - Misc controls
    mbed output over "maximum number of letters" limitation

    Misc controls の中身をコピーし、エディタで余計な Space を削除し文字数を減らした後書き戻す。
  1. Options for target - Linker - Misc controls の中身をすべて選択しエディタにコピー
    Select all, copy to text editor.
    Ctrl-A will not work in this text box.
  2. エディタ上で、タブ埋めのスペースを削除する
    Remove extra tab filling spaces to reduce the number of letters
  3. Misc controls にコピーする
    Select all and copy to misc controls text box
    これで、Keil 側の文字数制限にひっかからなくなりました。
この時点で、コンパイルは正常に終了し、 .bin  ファイルが \build フォルダに生成されます。この .bin ファイルをデバッガのフラッシュドライブに転送するとターゲットの書き換えができます。
この状態ではまだ、デバッガの開始に失敗しました。デバッガを正しく動かすには、Flash download tool を正しく設定する必要がありました。
  • Options for target - Utilities - Configure flash menu command
    プログラミングアルゴリズムを追加します。
  1. Options for target - Utilities - Configure flash menu command-setting ボタン。
  2. アルゴリズムを追加します。
  3. ターゲットのアルゴリズムを選択し追加します。
  4. これでデバッガが正しく起動し、Run Stop Step 実行など行えます。
    It works!

念のため、ソースを編集し、リビルド、デバッグ、Run 等行い変更が正しく機能に反映されていることを確認します。



NUCLEO-F072RB を Keil MDK-ARM for STM32F0 and STM32L0, Version 5 uVison5 で

ST micro から発売されている NUCLEO-F072RB という評価基板、オンボード ST-Link/V2 デバッグアダプタ込み、を PCに接続し、フリーの開発がサポートされている Keil MDK-ARM for STM32F0 and STM32L0 で利用します。Keil MDK Version 5 のインストールと NUCLEO-F072RB 用 Example コードをコンパイル、ビルドし デバッガが利用できることを確認。


  • Keil MDK-ARM for STM32F0 and STM32L0 のインストール
    基本的に、準備されているインストラクションガイドどおりに進めれば問題なく、インストール、アクティベイト、サンプルコード (Example)の入手を滞りなく進められます。
  1. 実行型インストーラをダウンロードしてインストールします。
    評価版を利用者情報を記入しダウンロードし実行します。
    インストラクション Pack Installer 左右のペインがデフォルトと逆なので戸惑うくらいです。
  2. アクティベイション ガイドに従います
  3. サンプルプロジェクト Example project の入手 ガイドに従います。
    インストラクション Pack Installer 左右のペインがデフォルトと逆です。
    [v] Show examples from installed packs only  ボックスのチェックをはずします。
    すると NUCLEO-F072RB 用の Example Project がリストに現れます。


  • Example コードのコンパイルとデバッガの機能確認
  1. Example project を開く
    Example には、まさにターゲットの NUCLEO-F072RB 用の Example Project がありますので、展開した C:\Users\user\Documents\Boards\ST\NUCLEO-F072RB\Blinky にあるプロジェクトを開き、コンパイル、ビルドすると、デバッグモードで Run Stop ステップ実行まで滞りなく行えます。
  2. Example の Blinky.c ソースを編集し、リビルドし、機能が変更されていることを確認します。
これで、Keil uVison5 の開発環境、PCのドライバ類、ST-link/V2-1 組み込みデバッグアダプタを含む NUCLEO 評価基板、が正しく動いていることになります。

2015年6月10日水曜日

NUCLEO-F072RB の接続

ST micro から発売されている NUCLEO-F072RB という評価基板、オンボード ST-Link/V2 デバッグアダプタ込み、を PCに接続し、PC側のドライバと、オンボードの ST-Link/V2 デバッグアダプタのファームウェアを更新します。 mbed のサンプルプロジェクトを Em::blocks へ流し Debug モードで実行するところまで確認。


  • PC側 ドライバ自動セットアップ
    同梱の説明書どおりに USB 接続するだけで、ドライバが組み込まれますが、2つだけ自動では発見できませんでした。デバッグアダプタ ST-LINK/V2 の デバッグアダプタと仮想COM ポートドライバが見つかりません。
  • PC側ドライバ マニュアルインストール
    NUCLEO-F072RB のリンク先にある、ST-LINK/V2-1 USB Driver on Windows XP ここでは STSW-LINK009 をダウンロードし展開します。ちゃんと AMD64 Windows7-64Bit のドライバもあります。

NUCLEO-F072RB のリンク先にある Software リスト

Related Tools and Software

Related Tools and Software

製品型名Description
STSW-STM32132STM32F0xx internal RC oscillators calibration (AN4067)
MBED-F072RBOnline IDE for NUCLEO-F072RB at ARM mbed
STSW-LINK007ST-LINK/V2-1 firmware upgrade
STSW-LINK009ST-LINK/V2-1 USB driver on Windows XP (including WinUSB coinstallers)
STM32CubeF0Embedded software for STM32 F0 series (HAL low level drivers, USB, File system, RTOS, Touch Sensing - coming with examples running on ST boards: STM32 Nucleo, Discovery kits and Evaluation boards)
X-CUBE-NFC1STM32Cube expansion software for X-NUCLEO-NFC01A1

  • ST-LINK/V2 ファームウェア アップグレード
    上のリストにあるように、STSW-LINK007 をダウンロード展開すると、アダプタのファームウェアのアップグレードを自動実行する .exe がありますので実行します。
ST-LINK/V2 は完成度が高いようです。Freescale P&Emicro 版では、デバッグアダプタ、仮想 COMポート、フラッシュドライブ型のダウンローダ、3 つの機能を同時に実現するアダプタ用のファームウェアはありませんでしたが、ST-LINK/V2 はこのひとつのファームで、3機能を同時に実現しています。便利そうです。

当然であるかのように ARMmbed にて NUCLEO-F072RB プラットフォームを追加し、サンプルのNucleo_blink_led プロジェクトをコンパイル、生成された .bin ファイルを フラッシュドライブイメージにコピーするだけで動き出します。
そして、このプロジェクトは Em::Blocks に Export することができ、Em::Blocks では、ST-Link/V2 を標準でサポートしますので、デバッグアダプタ経由、デバッグモードでの Run Stop Step実行 デバッグを実行できます。

この、mbed で標準ニモニックに定義された名称(LED とか)、同じライブラリを利用するので、ソースコードは、Freescale FRDM-KL25Z で実験した main.cpp とまったく同じと言ってよいものになります。
CPU の違い、ピンの違い、クロック周波数の違いなど意識させずこのレベルに持ち込めるのは、正直すごいと思いました。
そして、自動生成された、ヘッダファイル類もろとも、各種商用・フリーの IDE に Export できるのですから、まさに Rapid prototyping すばらしい環境です。

追記:すいみません、この記事に書いたようなことは、すべて mbed の個別プラットフォームサポートのページにすべて書いてあります。









2015年6月8日月曜日

NUCLEO-F072RB で ARM 開発環境を試す

ST micro から NUCLEO-F072RB という評価基板が出ています。いろいろ調べていると STmicro のデバイス、ST-link デバッグアダプタともに非常に広い範囲の開発ツールで標準でサポートされています。この ST-link は、STM デバイス 専用ですが、安価であることでも有名です。

評価基板のほうは、とりあえず性能云々より、開発ツールを評価したいときの参考ハードウェアになりそうです。 uVison Keil からもフリーでの開発がサポートされているのは驚きです STmicro Cortex-M0, Cortex-M0+ 限定版。ほかにもというか、ほとんどの ARM の IDE でネイティブサポートされているのではないでしょうか?ちょっと注文しておきました。評価基板には、ST-Link 機能が組み込まれていますので、別途購入する必要はありません。

FRDM-KL25Z 評価基板については、その後 Em:Blocks でデバッグアダプタの接続に苦労し。CMSIS-DAP モードでデバッグアダプタが一発認識された Cross works では mbed からのプロジェクトのインポートがいまひとつといった状況です。

あちらを立てれば、こちらが立たず、という感じです。

2015年6月2日火曜日

Python3 で解析する環境 Numpy と matplotlib

Python3 + Ipython の環境の上に SciPy の一部 Numpy と matplotlib をインストールします。これで Excel や 基本の Matlab 程度のことができるようになります。

会社や学校で、同僚や一緒に作業をする人のPC にPyhton をセットアップするとき。基本のPython と追加に必要なファイルを USB フラッシュなどに用意しておくとバージョンがどうのとか、コンパイラをインストールしてとか、わずらわしい作業を減らせます。一時期これができなくなって困っていましたが、最近 Pyreadline あたりの問題が解決して Windows 環境でも、前のように小回りが利くようになりました。

  • pip3.4 で直下にあるコンパイル済み .whl ファイルを直接指定してパッケージをインストール
  1. 自分の Python (2/3) WIndows (x86 32bit / AMD 64bit)に適したコンパイル済み .whl ファイルを Unofficial Windows Binaries for Python Extension Packages からダウンロードし C:\Python3.4\Scripts フォルダにコピーする。
    numpy-1.9.2+mkl-cp34-none-win_amd64.whl
    matplotlib-1.4.3-cp34-none-win_amd64.whl
  2. 管理者モードで コマンドウィンドウを開き (cmd.exe) C:\Python3.4\Scripts にて pip3.4 にて直下にある .whl ファイルを指定して、パッケージをインストール。
    C:\Python3.4\Scripts にて
    pip3.4 install numpy-1.9.2+mkl-cp34-none-win_amd64.whl を実行
    pip3.4 install matplotlib-1.4.3-cp34-none-win_amd64.whl を実行
     
  3. ipython3 を実行して モジュールがインストールされていることを確認する。

iPython もこの方法でインストールできます。
pip3.4 install ipython でインストールしましたが、その代わりに
ipython-3.1.0-py3-none-any.whl を入手し、ローカルで
pip3.4 install ipython-3.1.0-py3-none-any.whl と実行してもよいです。

この手順、 Python3.4 と Pyreadline を実行型バイナリ形式でインストール、IPython, Numpy, matplotlib をコンパイル済み .whl を PIP でインストールする場合。必要なファイルは、5つで 容量は 60MB  ほどです。Notepad++ インストーラが数MBです。

展開後の Python34 フォルダも 250MB 程ですから、これで Python の環境を用意してあげるといえば、同僚や友達もいやな顔はしないでしょう。

もっと上品でエレガントなやり方はいくらでもありますが、まぁ。



2015年6月1日月曜日

Python3 iPython と Notepad++ 基本環境

Python3 と iPython による開発環境設定と エディタ Notepad++

Wondows7-64Bit に Python3 環境を作ります。現時点でいくつかのモジュールが Python3 に対応していませんが、解析環境を Scipy なしで、Numpy と matplotlib を使うだけなら、今からでも Python3 に移行できます。
Test & Measurement 環境では、Pyserial PyUSB-FTDI が Python2 で止まっているので目的に応じて使い分ける状態です。Scipy だけでなく PysqLite 等も早めに対応していただきたいものです。

IPython はインタラクティブパイソンと呼ばれる環境です。標準の IDEL がいやになってPython をやめてしまう開発者も多いと思います。IPython こそ標準にしていただきたいものです。


  • Python3 と IPthon のインストール

  1. Python3 のインストール 
    普通にバイナリパッケージからインストールします。今日は python-3.4.3.amd64.msi をダウンロードして実行します。64 bit 環境の方は探してインストールしないと、32 bit がセットアップされてしまいます。
  2. Pyreadline のインストール
    Windows で IPython を利用するには、Pyreadline が必要です。コマンドラインをカラーにする追加パッケージみたいなものだと思います。話を簡単にするためにバイナリパッケージを実行してインストールします。今日は pyreadline-2.0.win-amd64.exe
  3. IPython のインストール
    コマンドライン c:\python34\scripts にて pip3.4 install ipython を実行します。これは、馬鹿にしているわけではなく、CMD(管理者)で PIPのあるディレクトリ C:\Python34\Scripts に移動してそこで PIP を実行するということです。特に、Python2 Python3 の両方を使う方は、Path 切るよりその都度目的のディレクトリに移動する癖をつけるほうが間違いないと思います。
  4. Notepad++ の設定
    最近のバージョンではデフォルトになったのでしょうか? Tab を 4 Space に置き換えます。
      • IPython の実行
        C:\Python34\Scripts\ipython3.exe を実行します、ショートカットをデスクトップにおいてもいいですし、なにか設定スクリプトを実行すると Windows メニューにも出てくるようになります。多分。。。
      • IPython で覚えるべきコマンド
      1. Bookmark コマンド
        Bookmark で良く使うワーキングディレクトリのトップに移動し、作業対象のフォルダに降りる
      2. Run コマンド
        そこでトップレベルの main.py 等を実行する
        run main.py
      3. Unix シェルコマンド使えます。


      簡単なデバッグ
      Notepad++ 等ファイルのパーミッションを奪わないエディタで編集、保存、IPython で実行、確認。を繰り返します。対象データ、結果の出力。実行する Python Script 等プロジェクトに関連するすべてのファイルをワーキングディレクトリにまとめて保存しておく癖をつけておくとなにかと便利です。

      2015年5月28日木曜日

      Quartus2 の導入

      Quartus II のインストールとプログラミングソフトウェアがターゲットを認識するまで
      1. FTDI から最新の D2xx ドライバーをダウンロードします。実行形式の .exe ファイルですから実行します。 
      2. Altera から各種ファイルをダウンロードするために、アカウントを作ります。メイルアドレスとログイン用パスワードを設定し、アカウントを作ります。
      3. DVD から Quartus II web edition をインストールします。 私の手元にあったのは 7.2 でした。
      4. インストールされた Quartus II 7.2 Web Edition を実行します。ライセンスファイルが無い旨が表示されます。
      5. Altera にライセンスファイルの発行を依頼します。180 日有効のライセンスが適当だと思います。所定のライセンス請求のページに 利用する PC の ネットワークインターフェースの Mac アドレスを送ります。 cmd 実行、ipconfig /all  で表示される 物理アドレス. . の - を抜いた 12桁の文字列を入力します。
      6. メイルで .dat という拡張子のライセンスファイルが送られてきます。
      7. C:\altera 直下あたりにコピーします。好みの場所でよいです。
      8. Quartus2 の tools. License setup で、ライセンスファイルのあるフォルダーの位置を明示します。
      9. Quartus2 が正常に起動することを確認します。
      10. ターゲットボード  Cyclone II FPGA Starter Development Kit を接続します。
      11. ドライバーは C:\altera\72\quartus\drivers\usb-blaster\x64 この辺にあります。
      12. Programmer を実行します。QuatusII を起動し tools, programmer を実行。
      13. 左ボタン、Auto Detect で Device が正しく表示されれば成功。 
      これで、開発ツール Quartus II がターゲットボードのFPGAを正しく認識したことになります。

      Lattice の Diamond をインストール後に Quartus II をインストールしたところ、Diamond 側が一時 USB ケーブルというかライター機能を認識しなくなりましたが、これは、ともにオンボードのライターに FTDI のチップを使っているせいでしょう。Lattice Diamond 側のドライバーをマニュアルで再インストールしたところ、(今のところ)Lattice Diamond / Altera QuartusII 両方の環境が共存できています。




      Lattice Diamond の導入

      Lattice Diamond のインストールとプログラミングソフトウェアがターゲットを認識するまで
      1. FTDI から最新の D2xx ドライバーをダウンロードします。実行形式の .exe ファイルですから実行します。 
      2. Lattice から各種ファイルをダウンロードするために、アカウントを作ります。メイルアドレスとログイン用パスワードを設定し、アカウントを作ります。
      3. Lattice Diamond 開発ツールをダウンロードします。 3.4.0.80_Diamond_x64.zip をダウンロードしました。ファイルサイズの小さい 3.4.1.213_Diamond_x64.zip はなぜかうまくインストールできず、前のバージョンがおいてあるのも、そのあたりの事情かもしれません。
      4. Lattice Diamond をセットアップします。3.4.0.80_Diamond_x64.exe を実行します。
      5. インストールされた Lattice Diamond を実行します。ライセンスファイルが無い旨が表示されます。
      6. Lattice にライセンスファイルの発行を依頼します。所定のライセンス請求のページに 利用する PC の ネットワークインターフェースの Mac アドレスを送ります。 cmd 実行、ipconfig /all  で表示される 物理アドレス. . の - を抜いた 12桁の文字列を入力します。
      7. メイルで .dat という拡張子のライセンスファイルが送られてきます。
      8. C:\lscc\diamond\3.4_x64\license というそれ風のフォルダがあるのでそこにコピーします。
      9. Lattice Diamond の Help LicenseDebug というツールで、ライセンスファイルのフォルダーの位置を明示します。自動的に認識されていればこの作業は不要です。
      10. Lattice Diamond が起動することを確認します。
      11. ターゲットボード Lattice MachXO2-7000HE Breakout Board を接続します。ドライバーがインストールされます。失敗した場合は Windows, すべてのプログラム, Lattice Diamond 3.4 (64-bit), Accessories, Install&Uninstall cable drivers で FTID ドライバーをインストールします。
      12. Diamond programmer を実行します。Windows, すべてのプログラム, Lattice Diamond 3.4 (64-bit), Accessories, Diamond Programmer
      13. Create a new project from a scan で cable を HW-USBN-2B(FTDI)で OK
      14. Device で LCMXO2-7000ZE (黄色)を ▼ で 7000HE に変更、自動検出ではここまで判定できないらしい。
      これで、開発ツールがターゲットボードのFPGAを正しく認識したことになります。

      Diamond programmer が書き込みケーブル(この場合評価基板の組み込み FTDI ライター部分)をうまく認識しない場合。また、一度うまく動いていたのに、動かなくなった場合は、Help にもありますがドライバーの再インストールを試します。 Windows, すべてのプログラム, Lattice Diamond 3.4 (64-bit), Accessories, Install&Uninstall cable drivers でドライバーを再インストールします。

      コツは、 Uninstall をくどいほど繰り返します。そんなドライバ入っていませんと言い出すまで。必要なドライバーは FTDI windows driver ですが、再インストールを試みているはずなのに、インストールが終わりましたと、スパッとダイアログが出るときは、怪しいです。きちんとアンインストールができれば、次のUSBケーブルを接続した時点で、WindowsUpdate にはこんなドライバーありませんと、ドライバーのインストールに失敗します。そこで改めて  Install&Uninstall cable drivers にてマニュアルでドライバーをインストールします。このドライバーは信用できませんだとか、警告が出れば安心です。



      2009年3月3日火曜日

      NI DAQmx を Agilent の後に。Visa.dll その2

      Agilent Connection Expert 15 が既にインストールされている PC に、 NI DAQmx 8.7.1 を後からインストールします。Windows XP。

      NI DAQmx のインストール時に、 Agilent がインストールした visa32.dll を上書きします。でも、もとのファイルは、名前を替えて自動的にバックアップがコピーされます。PyVISA(win32) は Agivisa32.dll を使うので影響受けていません。

      NI DAQ インストール後、つまり visa32.dll が NI版に上書きされても、Agilent の Connection Expert 15 は機能しました。私の環境では、GPIB バスにつながった測定器の認識等、みてる限り問題なく動いています。動いているようです。


      NIの製品については詳しく無いのですが、 NI DAQmx のCDには、3つの大物がいるようです。
      • NI DAQmx 8.7.1
      • NI Labview Signal Express 2.5.1
      • NI Measurement & Automation Explorer 4.4.1
      インストール時の注意は、特になく、ほとんどデフォルトの選択で進めて問題ありませんが、「自分でプログラムを作る」のは、デフォルトの選択肢ではありません。サンプルのソースを展開するには、インストールオプションで、「サンプル」を選んでおく必要があります。よく分かってないので「サンプル」と書かれたプログラム(項目?)に一通りチェックを追加しました。
      • VC++ 2003 Measurement Studio サンプル
      • VC++ 2005 Measurement Studio サンプル
      • labwindows CVI サポート サンプル <このへんが Python + ctypes には合うのかも
      • .NET Freamwork 1.1 サンプル
      • .NET Freamwork 2.0 サンプル
      • MS Visual C サンプル
      • MS Visual Basic サンプル
      インストールすると、デスクトップに Measurement & Automation というプログラムのショートカットがありました。そこで NI USB-6009 を接続すると、認識され、テストパネルとか言うので個々の信号を制御できました。この段階で、「ハード的に」問題ないレベルにセットアップが出来た、ですね。


      では、Python と ctypes を使って NI USB-6009 の制御を試します。
      すでに賢い人が作ったコードがありますので、それをもらって自分用に改造します。
      SciPy の Cookbook にいいのがありますので Google検索 もらいます。
      Numpy 、Python のバージョンに合う、自分のOS用のをインストールします。

      Idle で実行して、コンソールで data と入力すると電圧値がアレイに入っています。びっくりです。プログラムでは、Numpy をインポートしてます。これは、アレイデータの初期化に使っているだけです。この人、多分 Matlab 使いですね。


      NI DAQmx のAPI は、Help ファイルというかたちで、PC にインストールされます。
      無い場合は、インストーラでなにか適当な場所にチェックしてみる。とか。

      Cookbook のソースは、アナログディファレンシャル入力、デフォルト int32(-1)なので、それをシングルエンド(10****とか)に、と改造しようとしましたが、その int32(10****) の数字をさがしたり、USB-6009固有の、この設定はできないとか、ひっかかりました。
      • Measurement & Automation のテストパネルを使いましょう。
      • API の Help ファイルを見つけましょう。Docs? Documents? の下。
      • NI のディベロッパースフォーラムにも情報がたくさんあります。
      • 人に聞く時や、セミナー等では、「Pythonで」と言わない方がいいと思います。
      慣れた人なら、NI DAQmx インストール時に言語は、日本語ではなく英語のほうがいいかもしれません。最近の Matlab もそうですが、全てのドキュメントが日本語に訳されていれば、問題ないのでしょうが、「英語のドキュメント日本語化されたメニューの項目」の対応がとりにくい等、いろいろ問題があります。ディベロッパーゾーンで見つかる情報も、やはり英語ですし。

      先のシングルエンドの設定にも 2種類あって、USB-6009 に出来る方と、出来ない方、基準シングルエンドとか基準無しシングルエンド、とか、そういう日本語の表示と、API 説明文の中の略語の対応を、考えないといけない、とか。ちょっと、つまづくネタが増えます。

      USB-6009 のドキュメントを探すときには、USB-6008 のドキュメントのほうが充実してますので、こちらも同時に検索するといいと思います。

      コードは、その、いまのところ本当に「ちょっと」改造しただけなので、公開するのが恥ずかしいのでやめときます。





      2008年9月26日金曜日

      PyQt4 win32 環境設定

      PyQt4 win32 環境設定

      Windows XP
      Python 2.5 (win32)



      PyQt-Py2.5-gpl-4.4.3-1.exe (Riverbank)

      をインストール(ダブルクリックするだけ)する、だけ。で、デモが動くので、うまく行ったのだと思います。
      コンパイル済みの SIP も Qt(Trolltech) runtime も入ってるので、文字通り、Python 本体以外は、本当に全部込みのパッケージでした。コンパイルなどの作業はありません。

      Example フォルダ tutrial の E1 から E12 は Trolltech の Qt 大砲ゲームの C++ を Win32 Python で書き直してあるので、最後の行をコメントアウトすると Idle でも、そのまま実行できます。
      最後の行がなんかエラー起こす理由が分からないのは、ただただ、私の勉強不足ですね。

      ドキュメントは Unix/Linux 用のまま、なので、そのまま打ち込んでも動かない例もあります。
      sys OS とか、その辺のちがいは、このE1-E12 よく見るとなんとなく分かるような、分からないないような。


      さて、PyQt4 に決めたのは、とりあえず手数を少なく「Init、Start、Abort」程度のボタンを持つ 小さい GUI を今作るには、一番近道だったので、そうしたのです。
      たかがそれだけのために、改めて .NET framework を機嫌よく動いてる XP にインストールする気にもなれず WxPython は外しました。

      でも将来本気で GUI カリカリ攻めたい人には wxPython の方がいいかもしれません。(いや、それ以前に Python より Ruby にすべきかもしれません)
      Qt がライセンスで、もめてる間に市民権を得た wx の方が文献やネット上の資料も多いし。

      それだけではなく Enthought Python も現状 wxPython です。勢いが違います。
      まぁ、Qt wx 両方入れることも出来るでしょうから(想像)時間があるうちに、ちまちま試すつもりです。

      充分楽しんだら、Enthought Python を買うと思います。
      今はなんとか、個人で把握できてますが、近い将来バージョンあわせのパニックになるのは目に見えていますので。


      追記: Qt やめて Wx にします。 .Net は Agilent の I/O 何とかをインストールした時点で自分の PC に入っているようでした。ごめんなさい。

      2008年4月29日火曜日

      Visa.dll

      そもそも Visa とななにか? Google 願います。クレジットカードではありませんが、そっちの方がバンバンヒットするかもしれません、Powered by Python みたいなもんで、探すのが嫌になります、が。

      pyVISA は visa の dll を使うための便利なインターフェースを提供するだけで基本は dll を使います。多分。また、ラッパーとか ライブラリ とか com サーバーとか、、、いろいろな的確な言葉があるらしいですが、 windows プログラマではないので、私は言葉がまったく理解できていません。

      GP-IB とは、測定器を制御するインターフェースの規格で、まぁ Ether net みたいな、各レイヤーの仕様を規定したものです、と思います。。。計測が専門で無い人には、訳の分からない言葉がいっぱい出てきます SICL とか SCPI とか。我慢してください。わたしがソフトのドキュメントを見ても同じようなことを感じます、し、がまんしてこうしてがんばってますので。Visa は、まぁもうちょっと仮想化というか抽象化するための通信規格と思います。多分。

      Visa は、一応規格なのですが、各社の解釈や、後方互換性のために独自の機能も含まれます。2大サプライヤーは、Agilent(HP) と National Instruments(NI)です。これが微妙に違うのが問題です。先のケーブルの問題とかもここで吸収しようとするので厄介です。

      Visa を Windows PC で扱うときに、なにか、環境変数とか、ファイル名とかをシェア、いや取り合う、互いに上書きしあう?ので面倒なことが起こりがちです。不安なときには、自分の会社がどちらよりのシステムなのか、システム管理者に問い合わせてください(笑)知る分けないですよね。

      とりあえず、先輩(得意?)が Agilent派 か NI派 か分かれば、あわせましょう。変に刃向かって違うのをインストールすると、後で仕事が増えるだけです。

      GP-IB 機器を制御するには、HP Quick Basic(Agilent) とか Visual Basic 、 C を使うのがメジャーなようです。サンプルコードがいっぱい見つかります。低水準言語です。

      「もっと簡単なのないの?」ここから商売が始まります「ありますとも、Agilent(HP) Vee Pro」 「いえいえ、これからは labVIEWですよ!」学生さんとお試し版はもちろんフリーです!とMatlab か Ms-office みたいなことを言い出します。「Pythonですか?(商売にならなくなるので)サポートしてません」とも。。

      横道にそれましたが、わたしも会社の都合で Agilent 派、ということでAgilent IO Libraries Suite 14.0 を言われるがまま CDインストール。これでagvisa.dll が適当にインストールされます。注意書きにもあるように、先ずソフトをインストールしてから測定器をつなぎましょう。

      近い将来 NI-DAQmx を使うおもちゃ(NI)が手に入りそうなので、ひょっとするとそちらもフォローできるかもしれません。

      2008年4月11日金曜日

      Python で GPIB や ハードを制御する環境

      Windows XP (Win32)と  Python で 
       GP-IB測定器を制御する環境。
       ハードウェアを制御する環境。
      ハード制御といっても COM (RS-232C)ポート やら LPT(プリンタ)ポートいじる程度。

      日本語データを扱うとか、その辺は切り捨てる。人生を楽にする為に。

      順に
      1. Windows XP (Win32)
      2. Agilent IO Libraries Suite 14.0  :GPIB 制御するのに VISA.DLL を何か。
      3. Python 2.5   
      4. pyWin32  : pySerial 動かすのとか Python 2.5 以前のには ctypes  
      5. PyVISA 1.3 win32 : GPIB測定器制御するのに
      6. pySerial 2.2 win32 :シリアルポートの制御に
      7. io.dll を Geek Hideout から : ctypes の実験を兼ねて、プリンターポートの制御。
      またゆっくり リンク先とか整備しますね。当面は、 Google にて
      ほとんど SourceForge.net にあります。

      インストール した Python のバージョンと OS の種類をあわせましょ。